Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1727

 
Ivan Butko #:

Спасибо. 

Прописал Print("Bar count on the 'EURUSD,M1' is ",iBars("EURUSD",PERIOD_M1));, взяв из документации. В журнал вывел число 1001.))) Хотя, история загружена, в настройках макс стоит больше 1000000 баров. 

Подскажите, пожалуйста, как решить проблему

загрузи историю

2021.11.08 11:02:11.919 !Print_Magic EURUSD,M30: Bar count on the 'EURUSD,M1' is 73589
 
MakarFX #:
загрузи историю

Загружена, полностью. Зашёл в архив, там минутных баров 8 000 000
А журнал пишет

EURUSD,M1: Bar count on the 'EURUSD,М1' is 1001


 
Ivan Butko #:

Загружена, полностью. Зашёл в архив, там минутных баров 8 000 000
А журнал пишет

EURUSD,M1: Bar count on the 'EURUSD,М1' is 1001


 
Ivan Butko #:

Спасибо. 

Прописал Print("Bar count on the 'EURUSD,M1' is ",iBars("EURUSD",PERIOD_M1));, взяв из документации. Терминал в журнал вывел число 1001.))) Хотя, история загружена, в настройках макс стоит больше 1000000 баров. 

Подскажите, пожалуйста, как решить проблему

в тестере всегда 1000 баров при старте (или меньше).

 
MakarFX #
int n=10;
   datetime bar_sig;
   for(int i=n;i>=0;i--)
     {
      if(iCustom(NULL,0,"Твой индикатор",0,n)=="Сигнал")
         bar_sig=time[n];
     }

Этот код показывает сигнал на 10й свече.  А мне надо что бы шла проверка  сигнала на каждой свече с 1й по Nю.

 
Snajper007 #:

Этот код показывает сигнал на 10й свече.  А мне надо что бы шла проверка  сигнала на каждой свече с 1й по Nю.

нет, это код проверяет 10 свечей и показывает на какой был сигнал
 
MakarFX #:
нет, это код проверяет 10 свечей и показывает на какой был сигнал
На практике показывает только тогда когда сигнальная свеча становится 10й.
 
Snajper007 #:
На практике показывает только тогда когда сигнальная свеча становится 10й.
Код в студию
 
int n=10;
   datetime bar_sig_buy, bar_sig_sell;

   for(int i=n;i>=0;i--)
     {
     // для покупок
   double a1 = iCustom(NULL, 0, "FL11", 4, n);
   // для продаж 
   double a2 = iCustom(NULL, 0, "FL11", 5, n);


      if(a1 > 0)
         bar_sig_buy=Time[n];
         
      if(a2 > 0)
        bar_sig_sell = Time[n];
     Comment("bar_sig_sell = " + DoubleToString(bar_sig_sell)+ "\n" +
     "bar_sig_buy = " + DoubleToString(bar_sig_buy));

     }
 

MakarFX , вот скрин   Как только сигнальна свеча стала 10й, значение стало больше нуля. А до этого было равно нулю.

Причина обращения: