MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 534

 
PolarSeaman :

Muhtemelen şöyle:

Ve önceki günün koşulu nerede? 0-8 periyodundaki ilk siparişten sonra, adım zaten 10 olacak. Ve bunun 5 olmasına ihtiyacınız var. Ve sadece 8 saat sonra 10 oldu. Ardından, açık yoksa adım = 5'ten 0'a dönün. önceki günden siparişler. Ve seri devam ederse, kapanana kadar adım = 10
 
PolarSeaman :

Gerçek şu ki, zaman aralığını danışmandaki gibi ayarlarsanız

, o zaman gösterge şu anda çalışmayacak ve tarihte, aralıktaki mumları hesaplamalardan hariç tutmam gerekiyor.

Göstergede bir döngü içinde çalışıyorsunuz. Öyleyse neden döngüden çıkmak için geri dönelim?

Bir döngüde bir yinelemeyi nasıl atlayacağınızı biliyor musunuz?

devam etmek

 
Tigerfreerun :
Ve önceki günün koşulu nerede? 0-8 dönemindeki ilk siparişten sonra ortaya çıkıyor, adım zaten 10 olacak. Ve bunun 5 olmasına ihtiyacınız var ve sadece 8 saat sonra 10 oldu. Ardından, açık yoksa adım = 5'ten 0'a dönün. önceki günden siparişler. Ve seri devam ederse, kapanana kadar adım = 10

Dün açılan bir sipariş varsa, işlev true dönmelidir.

   OP_TO( int mn)
     {
     int i, k = OrdersTotal ();
       for (i= 0 ; i<k; i++) 
        {
         if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) 
           {
             if ( OrderSymbol ()== Symbol ()) 
              {
               if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ) 
                 {
                   if ( OrderMagicNumber ()==mn) 
                    {
                     if ( TimeDay ( OrderOpenTime ())==( Day ()- 1 )
                      &&   TimeMonth ( OrderOpenTime ())== Month ()
                      &&   TimeYear ( OrderOpenTime ())== Year ()) return ( True );
                    }
                 }
              }
           }
        }

       return ( False );
     }
 if ( Hour ()>= 0 && Hour ()<= 8 &&!OP_TO(mag_n))step = 5 ; else step = 10 ;
 
Artyom Trishkin :

Göstergede bir döngü içinde çalışıyorsunuz. Öyleyse neden döngüden çıkmak için geri dönelim?

Bir döngüde bir yinelemeyi nasıl atlayacağınızı biliyor musunuz?

devam etmek

Teşekkür ederim. Anlamadım, süreyi sınırladım ama baskıda saat görünüyor ve 19:30 ve 23:00 ve 5:50 sorun ne?

   for(int i=limit-2; i>0; i--) 
     {
     if(Hour()>=17&&Hour()<=11)continue;
      if(i%2==0) 
        {
         if(open[i]<close[i] && open[i+1]>close[i+1]) 
           {
            k1++;
           // if(k1>max) {max=k1; dat_max=time[i];}
            if(k1>=4)Print("Num: ",k1,"dat_max ",time[i]);
            SetText("Obj_"+(string)time[i],(string)k1,time[i],high[i],Arr);
           }
         else k1=0;
         
           } else {
         if(open[i]<close[i] && open[i+1]>close[i+1]) 
           {
            k2++;
            //if(k2>max){ max=k2; dat_max=time[i];}
            if(k2>=4)Print("Num: ",k2,"dat_max ",time[i]);
            SetText("Obj_"+(string)time[i],(string)k2,time[i],high[i],Arr);
           }
         else k2=0;
         
        }
      
     }
 
PolarSeaman :

Teşekkür ederim. Anlamıyorum, baskıda saat görünüyor ve 19:30 ve 23:00 ve 5:50 sorun ne?

Hour() işlevi ne döndürür?
 
PolarSeaman :

Dün açılan bir sipariş varsa, işlev true dönmelidir.

Benim için zor. Kodun hangi kısmına ekleneceğini ve mn ve mag_n ne anlama geldiğini açıklayabilir misiniz? Sihir danışmanımı buraya nereden girebilirim?




 
Mister programcıları, bir hatanın ne olduğunu anlamaya yardımcı olur. minPrice = NormalizeDouble (GetMinPrice(),Digits); Hata: 'minPrice' - noktalı virgül bekleniyor.
 
KRIKS :
Mister programcıları, bir hatanın ne olduğunu anlamaya yardımcı olur. minPrice = NormalizeDouble(GetMinPrice(),Digits); Hata: 'minPrice' - noktalı virgül bekleniyor.

minPrice'den önceki koda bakın. İşaret yok; (noktalı virgül)

 
Ihor Herasko :

minPrice'den önceki koda bakın. İşaret yok; (noktalı virgül)

int başlangıç()

{

minPrice = NormalizeDouble (GetMinPrice()Digits);

maxPrice = NormalizeDouble(GetMaxPrice()Digits); int başlangıcından sonra (;) koymak mümkün mü?

 
KRIKS :

int başlangıç()

{

minPrice = NormalizeDouble(GetMinPrice()Digits);

maxPrice = NormalizeDouble(GetMaxPrice()Digits); int başlangıcından sonra (;) koymak mümkün mü?

{

minPrice = NormalizeDouble (GetMinPrice(),Digits);

maxPrice = NormalizeDouble(GetMaxPrice(),Digits);