Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 780

 
LookingFor :
    for (bars=start; bars<rates_total; bars++)



arkadaşlar lütfen yardım edin

Döngüde neyin yanlış olduğunu anlamıyorum, Saptan gelen veriler rsa1 dizisine gitmiyor


Göstergenin OnInit() içinde şunu yapın:

   ArraySetAsSeries (pca1, true );

bundan sonra döngünüzü buna göre değiştirin:

   for (bars=start; bars<rates_total; bars++)

göstergenizin en sağındaki çubuğun "0" indeksine sahip olduğu gerçeğini göz önünde bulundurarak.

 

Herhangi bir tuşa veya belirli bir tuşa basıldığında komut dosyasından nasıl çıkılır?

 
Vladimir, teşekkürler, ancak indekslemeyi değiştirmeden hiçbir şey yapılamaz mı?
 
LookingFor :
Vladimir, teşekkürler, ancak indekslemeyi değiştirmeden hiçbir şey yapılamaz mı?

Hiçbir şey yapmak istemiyorsanız, geçmiş verilerde hata ayıklama ile test etmeye başlayın. Adım adım. WHERE çubuğundan NEREDE kopyalanan verilere bakın.

 
LookingFor :

arkadaşlar lütfen yardım edin

Döngüde neyin yanlış olduğunu anlamıyorum, Saptan gelen veriler rsa1 dizisine gitmiyor


Aranan :
Vladimir, teşekkürler, ancak indekslemeyi değiştirmeden hiçbir şey yapılamaz mı?

İlk olarak, bir şekillendirici kullanarak kodu insan formuna getiriyoruz ( Styler - Kaynak kodla çalışma - Program geliştirme - MetaEditor )

 //+------------------------------------------------------------------+ 
//| Custom indicator iteration function                              | 
//+------------------------------------------------------------------+ 
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   if (prev_calculated== 0 )
     {
      i=bars=start= 1 ;
     }
   else
     {
      start=prev_calculated;
     }
   for (bars=start; bars<rates_total; bars++)
     {
       CopyBuffer (pulse_Handle, 0 ,start, 1 ,pca1);

       if (pca1[bars]!=pca1[bars- 1 ])
        {
         pca2[i]=pca1[bars]; i++;
         string s= "" ;
         s= IntegerToString (pca1[bars])+ "  " ;
         Print (s); continue ;
        }
       else
         continue ;
     }
//--- return value of prev_calculated for next call 
   return (rates_total);
  }

ayrıca bir kontrol yapmak ZORUNLUDUR - CopyBuffer işlevi orada ne döndürdü? CopyBuffer hakkında yardım:

Geri dönüş değeri

Kopyalanan dizi öğelerinin sayısı veya bir hata olması durumunda -1.

Ardından, kesme noktaları belirleyin ve geçmiş verilerde hata ayıklamaya başlayın

geçmiş verilerde hata ayıklamaya başla

ve birkaç değişkeni kontrol edin:

time[rates_total- 1 ]
time[ 0 ]
bars
pca1[???]

df

Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым...
 

Beşe çevirmeye yardım et

 double GetExtremumZZPrice( string symb= "0" , ENUM_TIMEFRAMES tf= 0 , int ne= 0 , int dp= 12 , int dv= 5 , int bs= 3 ) {
 if (symb== "0" ) symb= Symbol ();
   double zz;
   int ke= 0 ;
   for ( int i= 0 ; i< Bars (symb, tf)- 1 ; i++) {
    zz= iCustom (symb, tf, "ZigZag" , dp, dv, bs, 0 , i);
     if (zz!= 0 ) {
      ke++;
       if (ke>ne) return (zz);
  }}
   return ( 0 );
 }
 
Vitaly Muzichenko :

Beşe çevirmeye yardım et

Gösterge arabelleğini okuyun ve ortaya çıkan dizide zz'yi arayın

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyBuffer - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko :

Beşe çevirmeye yardım et

Önce gösterge kolunu alın! Ardından, CopyBuffer aracılığıyla istenen değerlerin bir dizisini alın ve ardından bunları bir döngü içinde yineleyin.
 

Herkese teşekkürler!

Başka bir soru ortaya çıktı: Foruma ve kod tabanına baktım ve "Trend.mqh" SB'nin kullanımını hiçbir yerde bulamadım, her şey orada görünüyor. Uygulamaya bir bağlantı varsa, buraya atın veya kodlu bir örnek.

rsi, ma, adh ve diğerlerini kullanan birçok danışman buldum, ancak yazarların hiçbiri SB kullanmıyor. Gerçekten o kadar kötü mü, yoksa onu kullananların kodlarını bulamadım mı?


Neye ihtiyacım var: Bir kod var, içinde birkaç zaman diliminden MA alıyorum

_ma1 = iMA ( Symbol , PERIOD_M15 ,MAFast, 0 ,MAMethod,MAPrice,i)
_ma2 = iMA ( Symbol , PERIOD_M30 ,MAFast, 0 ,MAMethod,MAPrice,i)
_ma3 = iMA ( Symbol , PERIOD_H1 , MAFast, 0 ,MAMethod,MAPrice,i)

OnInit'te mql5'te birkaç düzine tutamaç oluşturmamak için, SB'nin sorunumu çözeceğini umuyorum.

 
Vitaly Muzichenko :

Herkese teşekkürler!

Başka bir soru ortaya çıktı: Foruma ve kod tabanına baktım ve "Trend.mqh" SB'nin kullanımını hiçbir yerde bulamadım, her şey orada görünüyor. Uygulamaya bir bağlantı varsa, buraya atın veya kodlu bir örnek.

rsi, ma, adh ve diğerlerini kullanan birçok danışman buldum, ancak yazarların hiçbiri SB kullanmıyor. Gerçekten o kadar kötü mü, yoksa onu kullananların kodlarını bulamadım mı?


Neye ihtiyacım var: Bir kod var, içinde birkaç zaman diliminden MA alıyorum

OnInit'te mql5'te birkaç düzine tutamaç oluşturmamak için, SB'nin sorunumu çözeceğini umuyorum.


"Trend.mqh::CiMA" sınıfının tanıtıcıları veya nesneleri, yine de hepsini oluşturmanız gerekir.