Nasıl kodlanır? - sayfa 120

 
denis68:
matrixebiz bu iki satırı yeniden yazmaktan kastınız nedir; ve nasıl yaparım, denediğim AC göstergesinin koduna giremiyorum,

Accelerator.mq4'ü MetaEditor'da açarsınız (Göstergeler klasörünüzdedir) ve bu iki satırın önüne // koyun, ardından AcceleratorMod.mq4'ü yeni bir adla kaydedin ve ardından derlemeye tıklayın.

Dosyalar:
 
hiachiever:
Hayır bu doğru değil.

for döngüsünde 6'dan başlıyorsunuz ve 1'e düşüyorsunuz. Bu, son döngüde for döngüsünün yürüttüğü "if (i == 1) qqecross = True;" işlemini gerçekleştireceği anlamına gelir. Kontrol. Sonuç, qqecross meydana gelirse çıktının doğru olacağıdır.

Bunun sunabileceği tek sorun, önceki bir döngüde qqecross'un true olarak ayarlanmış olmasıdır. Bunun üstesinden gelmek için qqecross = false; for döngüsünden önce. Bu şekilde, qqeacross = true ise, bunun henüz tamamlanmış olan döngü tarafından ayarlandığından emin olabilirsiniz.

Şerefe,

hiachiever

Yani "if (i == 1) qqecross = True;" dese bile ve sonra i=4 (geri sayım nedeniyle), qqecross yine de = True olacak mı?

 

Teşekkürler hiachiever!

hiachiever:
Bunu yapmanın yolu, global kapsamda bir vriable oluşturmaktır (yani init'ten önce)

Örneğin

int BarCount;

int başlangıç ()

Ardından zararı durdurma kodunuzda aşağıdakileri kullanın:

if (BarCount<Bars)

{

SL=iLow(Symbol(),Period(),iLowest(Symbol(),Period(),MODE_LOW,StopLossBars,0));

StopLossBars++;

BarCount=Barlar;

}

Bu, StopLossBar'ları her yeni çubukta 1 artıracaktır.

Kodunuza eklenen diğer tek şey, yeni bir ticaret açıldığında 'StopLossBars'ı orijinal varsayılan değerine sıfırlamak olacaktır.

Şerefe,

Hiachiever

Teşekkür ederim selam, yardım etmen büyük incelik , ancak küçük bir iyilik daha rica ediyorum.

Kod parçanızın nasıl çalıştığını anladığımı düşünüyorum ve onu EA'ma kopyalayabileceğimden eminim. . Yine de StopLossBar'ları varsayılanlarına nasıl sıfırlayacağımdan emin değilim. Bu, EA'nın sonunda uzun veya kısa gitmek için kullanılan koddur:

void goLong()

{

int ticket = OrderSend(Symbol(),OP_BUY,GetLots(100),Ask,maxSlippage,0,0,"Long",MagicNumber,0,Green);

if (screenshots) WindowScreenShot(Symbol()+Period()+"_"+Hour()+Minute()+"_.gif",1024,768);

if (showAlerts) Alert(Symbol()+" "+Period()+" TrendLevel at "+DoubleToStr(Level,0)+": Going Long");

Print(Symbol()+" "+Period()+" TrendLevel at "+DoubleToStr(Level,0)+": Going Long");

}

void goShort()

{

int ticket = OrderSend(Symbol(),OP_SELL,GetLots(100),Bid,maxSlippage,0,0,"Short",MagicNumber,0,Red);

if (screenshots) WindowScreenShot(Symbol()+Period()+"_"+Hour()+Minute()+"_.gif",1024,768);

if (showAlerts) Alert(Symbol()+" "+Period()+" TrendLevel at "+DoubleToStr(Level,0)+": Going Short");

Print(Symbol()+" "+Period()+" TrendLevel at "+DoubleToStr(Level,0)+": Going Short");

}

double stopLoss(int ordertype)

StopLossBar'ları sıfırlamak için bazı kodlara yardımcı olabilir misiniz lütfen?

Tekrar teşekkürler.

 

matrixebiz bunu yaptım şimdi ea'ma aşağıdaki satırları eklediğimde ea'mı derleyemiyorum

double ac1 = iCustom(NULL, 0, "AcceleratorMod", 1, 1);

double ac2 = iCustom(NULL, 0, "AcceleratorMod", 2, 1);

double ac11 = iCustom(NULL, 0, "AcceleratorMod", 1, 2);

double ac22 = iCustom(NULL, 0, "AcceleratorMod", 2, 2);

bool acbuy = ac2==0 && ac11==0; // Kireç için kırmızı değişiklikler

bool acsell = ac1==0 && ac22==0; // Kireç Kırmızıya dönüşür

12 hata alıyorum: AC değişkeni tanımlanmadı:

ve yardımın için teşekkür etmek istiyorum

 

StopLossBars'ın kullanıcı girişleri aracılığıyla ayarlanan global bir değişken olduğunu varsayıyorum, değil mi?

Valla benim yapacağım şey şöyle bir şey.

Kullanıcı girdi değişkeninin gStopLossBars gibi bir şey olmasını sağlayın, ardından init işlevinizde onu yerel değişkeninize atayın...

StopLossBars = gStopLossBars;

Ardından StopLossBar'ları sıfırlamak için satın alma ve satma işlevlerinizde aynı atamayı kullanın.

Mantıklı olmak?

Umarım yardımcı olur.

Lüks

 

Ac+ao+psar

Herkese selam,

AC+AO+PSAR'ı uyarı/e-posta ile yeni bir gösterge haline getirmek için herkes birleştirebilir mi? Lütfen PM atın. Teşekkür ederim

 
luxinterior:
StopLossBars'ın kullanıcı girişleri aracılığıyla ayarlanan global bir değişken olduğunu varsayıyorum, değil mi?

Valla benim yapacağım şey şöyle bir şey.

Kullanıcı girdi değişkeninin gStopLossBars gibi bir şey olmasını sağlayın, ardından init işlevinizde onu yerel değişkeninize atayın...

StopLossBars = gStopLossBars;

Ardından StopLossBar'ları sıfırlamak için satın alma ve satma işlevlerinizde aynı atamayı kullanın.

Mantıklı olmak?

Umarım yardımcı olur.

Lüks

Bu çok mantıklı. Çok teşekkür ederim.

 

Yeni mumun başladığını nasıl anlarım?

lütfen biri bana biraz tavsiye versin, yeni çubuk başladığında (günlük TF) bekleyen bir sipariş veren bir EA'yı nasıl oluşturabilirim?

Teşekkürler

 
:: merhaba! bu göstergenin içindeki kodu kontrol edin ... (yalnızca açılış saatiniz için, bu bir EA değil)
tcl:
lütfen biri bana biraz tavsiye versin, yeni çubuk başladığında (günlük TF) bekleyen bir sipariş veren bir EA'yı nasıl oluşturabilirim? Teşekkürler
 

Bunu döngüden ve döngüden kimse durdurabilir mi?

void BEM ()

{

int pip;

for (int k=0; k<Sipariş Toplamı ();k++)

{

OrderSelect(k, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()== Symbol () && OrderMagicNumber()== Magic)

{

pip = (Bid - OrderOpenPrice())/Point;

if ((pip >= BE) && (OrderStopLoss() < OrderOpenPrice()))

{

OrderModify (OrderTicket (), OrderOpenPrice (),OrderOpenPrice ()+ 12*Puan, OrderTakeProfit (), 0, LightBlue);

}

}

if(OrderType()==OP_SELL && OrderSymbol()== Symbol () && OrderMagicNumber()== Magic)

{

pip = (OrderOpenPrice() - Sor)/Puan;

if ((pip >= BE) && (OrderStopLoss() > OrderOpenPrice()))

{

OrderModify (OrderTicket (), OrderOpenPrice (),OrderOpenPrice ()- 12*Puan, OrderTakeProfit (), 0, Pembe);

}

}

}

}