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

 
İyi akşamlar .
 if (count== 0 )comment+="No symbols for trading!";
       Comment (comment);
       MqlTick tick;
      tick.ask= SymbolInfoDouble (structPairs.name, SYMBOL_ASK );
      tick.bid= SymbolInfoDouble (structPairs.name, SYMBOL_BID );
      tick.time= TimeCurrent ();
      Trade( false ,structPairs, tick, Orders, inputs);
Bu kod parçası ne diyor? Hangi durumlarda ortaya çıkıyor? Tüm çiftler listededir ve tüm geçmiş yüklenir.
 
Darirunu :
İyi akşamlar Bu kod parçası ne diyor? Hangi durumlarda ortaya çıkıyor? Tüm çiftler listededir ve tüm geçmiş yüklenir.

Yatırımcı şifresi?

 
Darirunu :
İyi akşamlar Bu kod parçası ne diyor? Hangi durumlarda ortaya çıkıyor? Tüm çiftler listededir ve tüm geçmiş yüklenir.
belirli bir sayaç 0'a eşitse (önceki girişin sonucuna göre ne yapacağımı biliyorum), o zaman yoruma bir satır eklenir
No symbols for trading!

sonra her şey her zamanki gibi..

 
Taras Slobodyanik :

teşekkürler

İkinci çubukta nesne olmadığını kontrol ediyorum

         for ( int jj=i;jj<obj_total;jj++)
           {
            nameARs= ObjectName (jj);
             if ( ObjectType (nameARs)!= OBJ_RECTANGLE ) continue ;
             if ( StringFind (nameARs, "QUADRO" , 0 )!=- 1 )
              {

               time_ars= ObjectGetInteger ( 0 ,nameARs, OBJPROP_TIME ); //break;

              }
           }
         //===---===
         if (time_ars!= Time [i+ 2 ])
           {
           //....
           }
on çubukta nesne olmadığını nasıl kontrol edebilirim?
 

Gösterge.

Her çubuk için, Dönem için yükseliş çubuklarının boyutlarının toplamını ve düşüş çubuklarının boyutlarının toplamını hesaplamanız gerekir.

Alınan miktarlardaki farkı arabelleğe kaydedin.

Burada sorun ne?

 int counted_bars= IndicatorCounted (),
       limit;
 
   if (counted_bars> 0 )
      counted_bars--;
   
   limit= Bars -counted_bars;
   
   double up_sum= 0 , down_sum= 0 ;
   for ( int i= 0 ;i<limit;i++)
   {
       for ( int f = 0 ; f < Period ; f++){
         if (close[f] - open[f] > 0 ) up_sum += close[f] - open[f];
         if (close[f] - open[f] < 0 ) down_sum += MathAbs (close[f] - open[f]);
      }
      PVTBuffer[i]=up_sum-down_sum;
   }
 
Roman Sharanov :

Gösterge.

Her çubuk için, Dönem için yükseliş çubuklarının boyutlarının toplamını ve düşüş çubuklarının boyutlarının toplamını hesaplamanız gerekir.

Alınan miktarlardaki farkı arabelleğe kaydedin.

Burada sorun ne?

Aktar

 double up_sum= 0 , down_sum= 0 ;

ilk döngünün içinde - ikincisinin ilanından önce.

 
Roman Sharanov :

Gösterge.

Her çubuk için, Dönem için yükseliş çubuklarının boyutlarının toplamını ve düşüş çubuklarının boyutlarının toplamını hesaplamanız gerekir.

Alınan miktarlardaki farkı arabelleğe kaydedin.

Burada sorun ne?

up_sum= 0 , down_sum= 0 ; değişkenlerini sıfırlamayı deneyin.

ikinci, iç döngüden önce.

 int counted_bars= IndicatorCounted (),
       limit;
 
   if (counted_bars> 0 )
      counted_bars--;
   
   limit= Bars -counted_bars;
   
   double up_sum, down_sum;
   for ( int i= 0 ;i<limit;i++)
   {
    up_sum= 0 ; 
    down_sum= 0 ;
       for ( int f = 0 ; f < Period ; f++){
         if (close[f] - open[f] > 0 ) up_sum += close[f] - open[f];
         if (close[f] - open[f] < 0 ) down_sum += MathAbs (close[f] - open[f]);
      }
      PVTBuffer[i]=up_sum-down_sum;
   }

Bunun gibi bir şey

 
Alekseu Fedotov :

up_sum= 0 , down_sum= 0 ; değişkenlerini sıfırlamayı deneyin.

ikinci, iç döngüden önce.

Bunun gibi bir şey

Öyle yaptım ve evet, mantıklı, ama şimdi artık hiç görüntülenmiyor

 
Ghabo :

teşekkürler

İkinci çubukta nesne olmadığını kontrol ediyorum

on çubukta nesne olmadığını nasıl kontrol edebilirim?

Bir nesnenin tam adını nasıl oluşturacağınızı biliyorsanız, grafikteki tüm nesneler üzerinde yineleme yapmanın bir anlamı yoktur.
Bu (varsayılan) isimler üzerinde yineleme yapmak yeterlidir.

 for ( int i= 0 ;i< 10 ;i++)
   {
   if ( ObjectFind ( 0 , "QUADRO" + Time [i])< 0 )
       Print ( "Нет объекта на баре № " , IntegerToString (i));
   else
       Print ( "Найден oбъект на баре № " , IntegerToString (i));
   }
 
Roman Sharanov :

Öyle yaptım ve evet, mantıklı, ama şimdi artık hiç görüntülenmiyor

Evet, evet, lütfen düzeltin.

iç döngüde

 for ( int f = 0 +i; f < Period +i; f++)