Nasıl kodlanır? - sayfa 225

 

acemi...

öncelikle herkese mutlu yıllar!

o zaman bu forumda paylaştığınız tüm bilgiler için teşekkür ederim

mql4'e yaklaşıyorum, kodlayıcı değilim.

Bu çok basit stratejiyi yazarken biraz desteğe minnettar olurum:

uzun girişler:

(ask-teklif) <= Z_pips /* spread kontrolü */

ve

(bollinger_up-bollinger_down) <= K_pips /* geçici olarak kontrol edin */

ve

sor < (bollinger_down + X_pips) /* fiyat kontrolü */

ve

ma_Qperiods >= ma_Wperiods /* eğilim kontrolü */

çıkışlar:

Sondaki SL = 15 pip

Bana bir şans verecek vakti olan var mı?

Şimdiden teşekkürler

asla

 

nr7 göstergemle ilgili yardıma ihtiyacım var

merhaba

nr7 için kodlama göstergesiyim.

Algo

- aralığı hesaplayın ve dizide saklayın

- mevcut aralık <= son 7 aralık ise, mevcut çubuk nr7'dir

ancak gösterge her çubuğu nr7 olarak işaretliyor gibi görünüyor. nerede hata yaptım bilmiyorum.

ekran görüntüsü burada

2010-01-18_0531

Dosyalar:
nr7.mq4  3 kb
 

gelişmişsar EA

Merhaba arkadaşlar,

Herhangi biriniz diğer iş parçacığından aldığım bir EA'yı değiştirmeme yardım edebilirse, tüm yardımınıza ihtiyacım var, ancak ne yazık ki mql dosyasına sahip değilim.

Bu EA'nın orijinal mantığından yola çıkarak, aşağıdaki gibi biraz değişiklik yapmak istiyorum:

- Bu EA sadece 4 basamakta çalışıyor, onların da 5 basamakta çalışabilmelerini geliştirmeye yardımcı oluyor.

- Bu EA ortak martingale sistemine göre çalışıyor, daha fazla 2X yöntem çalışma modu eklemem gerekiyor,

1. EA son işlemde emir açarsa ve TP'ye ulaşırsa, EA yeni döngüye başlar ve son emirle aynı emirle işlem açar. Örnek : son işlem alış emri ise ve onlar TP'ye basarlarsa, EA SL'ye basmadıkça açık alış ticaretine devam edecek ve EA emri ters yönde satış emrine değiştirecektir . satış emrinde aynı şey, satış emrinden kar ettikleri sürece, daha sonra SL ve yön değişikliği alıncaya kadar yeni döngü ile satış emri açmaya devam ederler.

2. İkinci mod işlemi. EA, al-sat-al-sat-satın al-sat-satın al-satın alma mantığı üzerinde çalışan bu mod, trendsiz değişen pazarlar için tasarlanmıştır.

tüm yardımlarınız için takdir edilecektir.

Teşekkürler

yoha

Dosyalar:
 

Bu EA'nın neden sipariş vermediği hakkında bir fikriniz var mı?

hey millet, bu oyuna geri döndüğümden beri bir süre geçti .... neyse mql'de yenilenmeye başladım .... burada çok şey değişti.

temel olarak, her iki taraftaki bir barın açılmasından 10 pip uzakta bekleyen alım satım emirleri vermek istiyorum. Takeprofit, bekleyen emirlerden 15 pip uzakta.

sorun şu ki siparişler asla verilmiyor...

int counted_bars = IndicatorCounted();

int pos = Bars - counted_bars + 1;

if (counted_bars == 0) pos = Bars - 10;

if (counted_bars>0) counted_bars--;

double currentPrice = iClose("EURUSD",PERIOD_M1,0);

while(pos>0)

{

//Putting Pending LongOrder

Print("Long...");

OrderSend("EURUSD",OP_BUYLIMIT,1,Open+10*Point,3,0,Open+25*Point,"Pending Long Order", 888, 0, Green);

Print("Short...");

//Putting Pending ShortOrder

OrderSend("EURUSD",OP_SELLSTOP,1,Open-10*Point,3,0,Open-25*Point,"Pending Short Order", 999, 0, Red);

pos--;

}
 

Sayılan çubukların bir EA ile ne ilgisi olduğundan emin değilim? Göstergelerde kullanılmak üzere tasarlanmadı mı?

Bence o kısmı çıkarırsan sorun olmaz.

 

tarih saat değişkeni

Merhaba,

Gerçek verileri ve zamanı yazmak istiyorum

extern int starthour = 8;

extern int startminute = 0;

[/CODE]

in my variable

[CODE]

datetime starttime= 0;

Bunu nasıl yazabilirim?

Ama bunu nasıl yazabilirim:

başlangıç zamanı = Günün tarihi + başlangıç saati + başlangıç dakikası;

 

Ne sorduğundan tam olarak emin değilim ama tahminimce bir tarihi birkaç saat ve dakika artırmaya çalışıyorsun. TimeCurrent() yardım dosyasına bakarsanız, zamanı saniye olarak döndürdüğünü görürsünüz. Yani mantıksal olarak, dakikaları toplamak için 60 ile çarpacağınızı ve saatler için 3600 (60*60) olacağını çıkarabilirsiniz.

Yani senin gibi bir şeye sahip olacaksın...

TimeCurrent()+(starthour*3600)+(startmin*60);

TimeCurrent() 'i 'startdate' olarak atadığınız zamanla değiştirin.

Lüks

 
sunshineh:
Merhaba,

Gerçek verileri ve zamanı yazmak istiyorum

extern int starthour = 8;

extern int startminute = 0;

[/CODE]

in my variable

[CODE]

datetime starttime= 0;

Bunu nasıl yazabilirim?

Ama bunu nasıl yazabilirim:

başlangıç zamanı = Günün tarihi + başlangıç saati + başlangıç dakikası;

StrToTime işlevini kullanın. Bu fonksiyona gün değil, sadece saat ve dakika geçerseniz, içinde bulunulan günü kullanır. Bunun gibi:

tarihsaat startTime = StrToTime( StartHour+":"+ StartMinute);

StartHour ve StartMinute dizeleri olduğunda:

string Başlangıç Saati = 8;

string StartDakika = 0;

 

Çok teşekkürler!!

Benim de başka bir sorum var.

EA'mın yalnızca mumun kapanış fiyatından alıp satmasını istiyorsam bunu nasıl kodlayabilirim?

yazabileceğimi düşündüm

if(!Close[0]) return;

ama çalışmıyor.

 
sunshineh:
Çok teşekkürler!!

Benim de başka bir sorum var.

EA'mın yalnızca mumun kapanış fiyatından alıp satmasını istiyorsam bunu nasıl kodlayabilirim?

yazabileceğimi düşündüm

if(!Close[0]) return;
ama çalışmıyor.

Bir değişken tanımlamanız gerekiyor, diyelim ki şöyle olacak:

int barSayı = 0;

genel bölümde (örneğin, init işlevinden hemen önce)

ve sonra sendOrder işleviyle ilgili parçanızın bulunduğu başlangıç işlevinde bu koşulu kontrol etmeniz gerekir.

if(Barlar>barsNumber)

ve eğer doğruysa barNumber değişkenimizi Bars olarak ayarlayın

barlarNumber = Çubuklar;

Yani her şey şöyle görünecek:

#bazı özellikler

int barSayı = 0;

int init()

{

}

int tanım()

{

}

int başlangıç()

{

if(Barlar>barsNumber)

{

Sipariş gönder(...);

barlarNumber = Çubuklar;

}

}