Nasıl kodlanır? - sayfa 19

 

Çabalarınız için teşekkürler Nicholishen. Maalesef işe yaramadı. Emirleri değiştiriyor, ancak her iki şekilde de. Açıklığa kavuşturmak için demek istediğim, bir satın alma durumunda, stop noktasını iz noktalarına kadar yukarı hareket ettirecek, ama aynı zamanda aşağı da hareket ettirecek. Aşağı hareketi durdurmam gerekiyor.

 

Ne demek istediğini anlıyorum ama kod doğru. Bu emirleri değiştiren başka bir EA var ya da EA'da bunu yapan başka bir kod var çünkü kesinlikle bu kod değil. Diğer tüm EA'ları durdurmanız ve OrderModify()'a yapılan diğer çağrılar için birincil EA kodunu kontrol etmeniz gerekecektir.

iyi şanslar =)

Dosyalar:
 

Noobish benliğimle zaman ayırdığın için teşekkürler

koddaki diğer tek sipariş, bir başabaş ve kilit pipleridir. ekleyeceğim.

BEx = kilitlenecek pip miktarı

Bunu o kadar çok yaşadım ki, bana doğru baktığından eminim, ama ben profesyonel değilim, en iyi ihtimalle bir hack.

Tekrar teşekkürler Nicholishen!

void DoBE(int byPips)

{

for (int i = 0; i < OrdersTotal(); i++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...

{

if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

}

}

}

Oh, eklemeyi unuttum, bu tek EA. Şu anda geriye dönük test yapılıyor .

 
CEO:
Noobish benliğimle zaman ayırdığın için teşekkürler

koddaki diğer tek sipariş, bir başabaş ve kilit pipleridir. ekleyeceğim.

BEx = kilitlenecek pip miktarı

Bunu o kadar çok yaşadım ki, bana doğru baktığından eminim, ama ben profesyonel değilim, en iyi ihtimalle bir hack.

Tekrar teşekkürler Nicholishen!

void DoBE(int byPips)

{

for (int i = 0; i < OrdersTotal(); i++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...

{

if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

}

}

}[/PHP]

Oh forgot to add, this is the only EA. Just currently backtesting.

Muhtemelen olan şey, bir işlevin diğerini geçersiz kılmasıdır. Aynı anda yalnızca birinin çalışması için mantığınızı kontrol etmeniz gerekecek.

[PHP]DoBE'yi geçersiz kıl(int byPips)

{

for (int i = 0; i < OrdersTotal(); i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // sadece mygrid ve sembolün olup olmadığına bakın...

{

if (OrderType() == OP_BUY)

{

if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT))

{

if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)))

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Kırmızı);

}

}

}

if (OrderType() == OP_SEL)

{

if (OrderOpenPrice() - Sor > byPips * MarketInfo(OrderSymbol(), MODE_POINT))

{

if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)))

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Kırmızı);

}

}

}

}

}

dönüş;

}
 

MQL4 komutları/kod doğrulaması

Mesaj silindi. Rahatsızlıktan dolayı özür dileriz.

 

'Canlı ticarete izin ver' kodu

Merhaba, EA'ların çalışması için 'Canlı ticarete izin ver' seçeneğini etkinleştirmemiz gerekiyor, bu nedenle EA'yı yüklerken her zaman işaretlemek zorunda kalmak yerine, bu seçeneğin EA'da otomatik olarak etkinleştirilmesi için hangi kod satırını eklemeliyim?

teşekkürler

 

Bunu yapmak için koda ihtiyacınız yok..

matrixebiz:
Merhaba, EA'ların çalışması için 'Canlı ticarete izin ver' seçeneğini etkinleştirmemiz gerekiyor, bu nedenle EA'yı yüklerken her zaman işaretlemek zorunda kalmak yerine, bu seçeneğin EA'da otomatik olarak etkinleştirilmesi için hangi kod satırını eklemeliyim? teşekkürler

Merhaba Matrixebiz,

Bunu MetaTrader'ın menüsüne giderek kolayca yapabilirsiniz. "Araçlar"a ve ardından "Seçenekler"e gidin (veya sadece CRTL-O yazın). Ardından, "Uzman Danışman" sekmesinde Canlı ticarete izin ver seçeneklerini işaretleyin. İşte, bundan sonra eklediğiniz tüm EA'lara canlı ticarete izin verilecek.

-RJ1-

 

Oh, tamam, bu kolaydı teşekkürler

 

EA zaman kodu

EA zaman kodunu istiyorum. Yalnızca 18:00-1:00 arası ticarete olanak sağlayacağına dair örnek. Mümkün mü?

 

Bunu buldum

if (UseHourTrade){

if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){

Comment("İşlem Dışı Saatler!");

dönüş(0);

Bir soru:

Forex komisyoncu zamanımı kullanır: Evet mi Hayır mı?

bence evet ama emin olmak istiyorum

Ve oraya 15:30 gibi dakikaları nasıl koyabilirim? Sadece saat var mı?

Neden: