[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 87

 
sergeev :

713
15.01.2013 12:10

Bir bilmeceyi çözebilir misiniz: Neden, bu işlevi koşullara eklediğimde || isCloseLastPosByTake() == Doğru || test cihazındaki uzman 10 kez çok yavaşlamaya başladı!? Bu, birbirini dışlayan 4 koşuldan biridir, bu nedenle, özetlenen koşullarda olduğu gibi, kodun daha hızlı çalışmasını sağlamak için if ile zincirleme yapamam. Bana ne tavsiye edebilirsin? Tavsiyeniz için şimdiden teşekkürler!

Bu fonksiyonda, son kapatılanı almak için emir araması vardır. Hızlanma için bu işlevi yeniden çalışın. Hepsi Kim için evrenseldir, bu da oradan birçok gereksiz şeyi kaldırabileceğiniz anlamına gelir. Yine, hepsi Uzman Danışmanınızın mantığına bağlıdır.
 

Lütfen siparişleri satın almaya nasıl açık hale getireceğimi de söyler misiniz? Satış siparişi koşulları   if(OrdersTotal()==0 && ma0<ma1 && ma1<ma2). Switch kullanmanız gerektiğini anlıyorum . (x, a, b) yerine ne yazılmalıdır ?

if(Sipariş Toplamı()==0)

  switch(x) case 'a ': case 'b ':

Şimdiden teşekkürler!


 
artmedia70 :
Bu fonksiyonda, son kapatılanı almak için emir araması vardır. Hızlanma için bu işlevi yeniden çalışın. Hepsi Kim için evrenseldir, bu da oradan birçok gereksiz şeyi kaldırabileceğiniz anlamına gelir. Yine, hepsi Uzman Danışmanınızın mantığına bağlıdır.
Çok teşekkürler! Sonra bir operatör kullanabileceğimi düşündüm, ama aynı eylem için durumları "veya" ile çözmüyorlar.
 
KoOr :

Lütfen siparişleri satın almaya nasıl açık hale getireceğimi de söyler misiniz? Satış siparişi koşulları   if(OrdersTotal()==0 && ma0<ma1 && ma1<ma2). Switch kullanmanız gerektiğini anlıyorum . (x, a, b) yerine ne yazılmalıdır ?

if(SiparişToplam()==0)

  switch(x) case 'a ': case 'b ':

Şimdiden teşekkürler!




 if ( OrdersTotal ()== 0 )
 {
   if ( ma0<ma1 && ma1<ma2) OrderSend (....,OP_SELL,.......);
   if ( ma0>ma1 && ma1>ma2) OrderSend (....,OP_BUY,.......);
 }
Satış veya satın alma için sadece bir sipariş açılacak, daha fazla değil.
 

Bütün gün mücadele ettim ve işlevin neden -1 döndürdüğünü anlayamıyorum

 int typ( string t, int m)
{   datetime z= 0 ; int p=- 1 ,i;
   int d=OrdersHistoryTotal();
   if ( t== "0" ) t= Symbol (); 
   for ( i= 0 ;i<=d;i++){
   if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY) ) {                     
   if ( (OrderSymbol() == t || t== "0" ) && ( OrderMagicNumber() == m || m==- 1 ) ){
   if ( OrderCloseTime()>z&&OrderType()<= 1 )  
   {
   z =OrderCloseTime(); 
   p =OrderType();
   }}}}
return (p);
} 

çağrı böyle gider

 Comment (typ( "0" ,- 1 ));

Tarihte emirler var!

Ne hata olabilir???

 
VOLDEMAR :

Bütün gün uğraştım ve fonksiyonun neden -1 döndürdüğünü anlayamıyorum.

çağrı böyle gider

Tarihte emirler var!

Ne hata olabilir???



 Comment (typ( Symbol (),- 1 ));
Böyle bir "0" sembolü yoktur, "EURUSD", "AUDUSD" vb.
 
Sepulca :


Böyle bir "0" sembolü yoktur, "EURUSD", "AUDUSD" vb.

Böyle bir sembol yoksa if ( t== "0" ) t= Sembol (); daha sonra danışmanın bağlı olduğu sembolümüze t'yi eşitleriz;
 
DayOfWeek( ) ==1 ... koşulu Salı günü nasıl yürütülebilir?
 
VOLDEMAR :

Böyle bir sembol yoksa if ( t== "0" ) t= Sembol (); daha sonra danışmanın bağlı olduğu sembolümüze t'yi eşitleriz;

Üzgünüm, fark etmedim .. O zaman burada:

 for ( i= 0 ; i<d; i++){

Son sipariş numarası OrdersTotal() -1'e eşittir; Ama mesele bu değil. Denedim, test cihazında kapalı siparişlerin geçmişinin görünmez olduğu ortaya çıktı, kodunuz bir demo hesabında çalışıyor.

 

kodumda yazdığın şey yok

Ben de öyle

 int d=OrdersHistoryTotal();

ve yeniden başlar...

Artık önemli değil, sorunu kodun başka bir yerinde buldum ....