Nasıl kodlanır? - sayfa 23

 
islandrock:
bu kod, EA'mın açtığı her işlemin açıldığı andan 12 saat sonra sona ermesini sağlamaz ...

Sipariş sona erme süresi yalnızca bekleyen siparişlerde çalışır. OrderSend() OP_BUY veya OP_SELL ise, siparişinizi kod içinde zamanlamanız gerekir. İşte basit bir örnek.

int OrderTime;

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask+TakeProfit*Point,"timetest",16384,0,Green)

OrderTime=TimeCurrent();

int total = OrdersTotal();

for(int cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if((OrderType() <= OP_SELL) && (OrderSymbol() == Symbol()) )

{

if(OrderType()==OP_BUY && TimeCurrent()-OrderTime>(12*60)*60)

{

OrderClose(OrderTicket(),LotsOptimized(),Bid,3,Violet);

}

}

}

Wackena

 

kod doğru çalışmıyor

Bunu, her saat başı hesabımın durumunu bana e-postayla göndermek için kullandım. ancak derleyip yükledikten sonra. bu e-postayı ertesi saat 59. dakikada olması gerektiği gibi mükemmel bir şekilde gönderdi, ardından bir daha asla göndermedi. neyi yanlış yapıyorum? mükemmel görünüyor?

#59'da ihtiyacım yok, sadece her saat ihtiyacım var!!

bool postası;

int başlangıç()

{

if (Dakika()>=59 && !mail){

SendMail("Hesap Durumu", " Hesap Bakiyesi is="+DoubleToStr(AccountBalance(),2)+"_Account Equity is="+DoubleToStr(AccountEquity(),2)+

"_Account Profit is="+DoubleToStr(AccountProfit(),2)+"_Hesap Marjı is="+DoubleToStr(HesapMargin(),2)+

"_Account Serbest Marj is="+DoubleToStr(AccountFreeMargin(),2));

posta=doğru;

}

 

belki bir noktada mail = false koymanız veya bu testi mail değişkeninde kaldırmanız gerekir, çünkü elbette mevcut kod sadece 1 posta gönderecektir.

 

mail değişkeninde ne testi var?..anlayamıyorum lütfen açıklayınız..

peki ya mail=true koyduktan hemen sonra

if (dakika()<=58 && !mail)

posta=yanlış;

Sizce işe yarayabilir mi?...

bence yanlış kodlanmış

 

koyabilirsin bence

if (dakika()<=58 && mail) // !mail'e değil mail'e dikkat edin

posta=yanlış;

ve bu, ancak ilk if 'nizin dışında olmalıdır, bu nedenle mail = true; ama sonra }

Bunu kodlamanın muhtemelen daha iyi yolları vardır ama bu işe yaramalı

 

deneyeceğim

teşekkürler deneyeceğim... iki saat sonra haber vereceğim

 

harika çalışıyor .... ya da en azından öyle görünüyor

 

?? kodun bu kısmıyla ilgili yardıma ihtiyacınız var

Biri bana bunu nasıl doğru yazacağımı söyleyebilir mi? açık alım satım işlemlerini tek tek ayırmaya çalışıyorum...

yani : açık teklif > 2. ise.

açıksa sor >2

Geri kalanını aldım sadece o kısmı doğru kodlayamıyorum

Biliyorum basit ama saçımı çekiyorum.

 

kimse?

kimse? vay be belki bu kötü bir soruydu

 

if(Open[0] > 2){ //açık teklif

//senin kodun

}

if(Open[0]+(Ask-Bid) > 2){ //askı aç

//senin kodun

}

komisyoncunuza bağlı olarak, açık sormanın geriye dönük testi çalışmayabilir

Neden: