Kodlama yardımı - sayfa 18

 

EA Yardımında Hata Alma Gerekiyor

Sadece 1 Ticaret Almak

icustom ARROW'da oluşturulan tüm ticarete ihtiyacım var

ancak

harici string Symbol_1 = "EURUSD";

int büyü=9503;

dönüş(0);

int tanım()

{

dönüş(0);

}

tarihsaat yeni çubuğu;

int başlangıç()

{

if(newbar==Zaman[0])dönüş(0); //

başka newbar=Zaman[0];

double ArrowUp = iCustom(NULL,0,"NBO-System_v1",2,1,10000,2,1);

double ArrowDown = iCustom(NULL,0,"NBO-System_v1",2,1,10000,3,1);//PERIOD_M5

if (ArrowDown >0 && ArrowDown!=2147483647 && OrdersTotal()==0)//!= EMPTY_VALUE )

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", magic, NULL, FireBrick);

}

if (ArrowUp >0 && ArrowUp!=2147483647 && OrdersTotal()==0)

{

OrderSend(Symbol_1,OP_SELL,0.1, MarketInfo(Symbol_1,MODE_BID), 2, NULL, NULL, "RapidFire", magic, NULL,LimeGreen );

}

dönüş(0);

}

Dosyalar:
ea.png  22 kb
 
 
EA'nızda bu durum

SiparişlerToplam()==0

aynı anda 1'den fazla sipariş açılmasını engelliyor. 1'den fazla sipariş açmak istiyorsanız bu koşulu kaldırın, ancak aynı çubukta birden fazla sipariş açmamak için kod eklemeniz gerekiyor (aksi takdirde zilyon açılmış siparişle sonuçlanacaksınız). Şuna benzeyen bir işlev kullanabilirsiniz:

int countOpenedOnACurrentBar()

{

int openedAtBar = 0;

datetime startTime = Time[0];

datetime endTime = Time[0]+Period()*60;

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

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;

if(OrderMagicNumber() != MagicNumber) continue;

if(OrderSymbol() != Symbol()) continue;

if(OrderOpenTime()=endTime) continue;

openedAtBar++;

break;

}

return(openedAtBar);

}

[/PHP]

ve sonra tam durumunuz (satın almak için) şöyle olacaktır:

[PHP]if (ArrowDown >0 && ArrowDown!=2147483647 && countOpenedOnACurrentBar()==0)

Aynı çubukta birden fazla siparişin açılmasını engeller (bu kod, mevcut bir çubukta halihazırda açılmış olan siparişin türünü kontrol etmez, bunu da kontrol etmek isterseniz, birkaç koşul daha eklemeniz gerekir).

vegadigitalco:
Sadece 1 Ticaret Almak

icustom ARROW'da oluşturulan tüm ticarete ihtiyacım var

ancak

harici string Symbol_1 = "EURUSD";

int büyü=9503;

dönüş(0);

int tanım()

{

dönüş(0);

}

tarihsaat yeni çubuğu;

int başlangıç()

{

if(newbar==Zaman[0])dönüş(0); //

başka newbar=Zaman[0];

double ArrowUp = iCustom(NULL,0,"NBO-System_v1",2,1,10000,2,1);

double ArrowDown = iCustom(NULL,0,"NBO-System_v1",2,1,10000,3,1);//PERIOD_M5

if (ArrowDown >0 && ArrowDown!=2147483647 && OrdersTotal()==0)//!= EMPTY_VALUE )

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", magic, NULL, FireBrick);

}

if (ArrowUp >0 && ArrowUp!=2147483647 && OrdersTotal()==0)

{

OrderSend(Symbol_1,OP_SELL,0.1, MarketInfo(Symbol_1,MODE_BID), 2, NULL, NULL, "RapidFire", magic, NULL,LimeGreen );

}

dönüş(0);

}
 

HELPPPPPPPPPPPP için Çok Çok ThanX

HELPPPPPPPPPPPP için Çok Çok ThanX

HELPPPPPPPPPPPPP için Çok Çok ThanX

HELPPPPPPPPPPPP için Çok Çok ThanX

HELPPPPPPPPPPPPP için Çok Çok ThanX

mladen:
EA'nızda bu durum

SiparişlerToplam()==0

aynı anda 1'den fazla sipariş açılmasını engelliyor. 1'den fazla sipariş açmak istiyorsanız bu koşulu kaldırın, ancak aynı çubukta birden fazla sipariş açmamak için kod eklemeniz gerekiyor (aksi takdirde zilyon açılmış siparişle sonuçlanacaksınız). Şuna benzeyen bir işlev kullanabilirsiniz:
int countOpenedOnACurrentBar()

{

int openedAtBar = 0;

datetime startTime = Time[0];

datetime endTime = Time[0]+Period()*60;

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

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;

if(OrderMagicNumber() != MagicNumber) continue;

if(OrderSymbol() != Symbol()) continue;

if(OrderOpenTime()=endTime) continue;

openedAtBar++;

break;

}

return(openedAtBar);

}

[/PHP]

ve sonra tam durumunuz (satın almak için) şöyle olacaktır:

[PHP]if (ArrowDown >0 && ArrowDown!=2147483647 && countOpenedOnACurrentBar()==0)
Aynı çubukta birden fazla siparişin açılmasını engeller (bu kod, mevcut bir çubukta halihazırda açılmış olan siparişin türünü kontrol etmez, bunu da kontrol etmek isterseniz, birkaç koşul daha eklemeniz gerekir).
Dosyalar:
 

bakiye, geriye dönük test, canlı demo testi veya gerçek para ticareti dengesidir

EA, yarı otomatik girişler yeterince iyi ve yeterince havalı olduğu için asla aklımdan geçmez (sipariş verdiğinizde yarı ortalama ekstra engel, örneğin kablosuz bağlantı gibi, bilgisayar girişlerinizi geçersiz kılabilir)

ancak tıkırtı kolaylığı video oyunundaki bir ateş halkası gibidir, halkada herhangi bir anda kendinizi koyabileceğiniz yalnızca birkaç nokta vardır, diğerleri sizi kolayca yakabilir --- bu pazar değil son 5 ila 10 ay boyunca durum olsa da, işler kolaylaşıyor

yukarıdaki EA'daki bu kodları okumak istiyorum - ancak bu kodlamalar benim anlama sınırımın ötesinde

 

yukarıda kodlanmış ticarette uyarıya ihtiyacınız var

merhaba mladen,

benim için eşsiz desteğin için teşekkürler

1 şey daha, önerdiğiniz yukarıdaki kodda oluşturulan alış veya satışta uyarı kodunu nasıl ekleyebilirim .

canlı piyasada alım satımı kapatmaz, sadece yeni ticaret yaratır.

Önceden ThanX

 

...

Bunun gibi bir şey deneyin (bu yalnızca satın almak için bir örnektir)
if (ArrowDown >0 && ArrowDown!=2147483647 &&countOpenedOnACurrentBar()==0)

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", magic, NULL, FireBrick);

if (!IsTesting()) Alert(Symbol_1+" BUY ordere opened at "+TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS));

}

vegadigitalco:
merhaba mladen,

benim için eşsiz desteğin için teşekkürler

1 şey daha, önerdiğiniz yukarıdaki kodda oluşturulan alış veya satışta uyarı kodunu nasıl ekleyebilirim.

canlı piyasada alım veya satımı kapatmaz, sadece yeni ticaret yaratır.

Önceden ThanX
 

Ea'yı burada paylaşmanın sakıncası var mı? Ea'nın ticareti nasıl üstlendiğini gerçekten seviyorum.

 

Merhaba mladen,

Büyük yardımın için tekrar ThanX :)

sadece 1 sorun kaldı

canlı piyasada önceki alış veya satış Pozisyonunu kapatmaz, sadece yeni ticaret yaratır. ???

ADV'de ThanX

mladen:
Bunun gibi bir şey deneyin (bu yalnızca satın almak için bir örnektir)
if (ArrowDown >0 && ArrowDown!=2147483647 &&countOpenedOnACurrentBar()==0)

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", magic, NULL, FireBrick);

if (!IsTesting()) Alert(Symbol_1+" BUY ordere opened at "+TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS));

}

 

...

vegadigitalco

Bunun için EA'nıza kapanış mantığı eklemelisiniz. Ya kar al ve zararı durdur'u kullanın ya da bunun için bazı çıkış kurallarına göre açık OrderClose() kullanın.

vegadigitalco:
Merhaba mladen,

Büyük yardımın için tekrar ThanX :)

sadece 1 sorun kaldı

canlı piyasada önceki alış veya satış Pozisyonunu kapatmaz, sadece yeni ticaret yaratır. ???

ADV'de ThanX