Как можно ограничить начало и конец вычисления индикаторов? - страница 3

 
gal:
Ставлю ограничение 5000 баров и все равно не помогает, я использую несколько сот индикаторов для анализа и еще по нескольким валютам.

То есть у Вас обсчитывается больше, чем 5000 баров? Насколько больше?

Как Вы проверяли? Предоставьте пожалуйста проверочный эксперт 

 
stringo:

То есть у Вас обсчитывается больше, чем 5000 баров? Насколько больше?

Как Вы проверяли? Предоставьте пожалуйста проверочный эксперт 


 
CoreWinTT:

всеравно терминал считает больше чем указанно...

стоит ограничение в 5 тысяч баров

а реально терминал обсчитывает все данные

хотя в окне отображается 5 тысяч.

но обсчитываются все

это можно понять по вызову аррау сайз буфера индикатора.

Доказательства в студию. Несколько раз проверил - сколько баров на графике, столько баров индикатор и обсчитывает (хоть на своём графике, хоть на чужом, даже не открытом графике). Хотя у меня закачана полностью вся история.
 
CoreWinTT:

6098 - это допустимое значение. На границе дневного контейнера.

Кроме того, бары добавляются в процессе прихода информации (начальные бары на графике не отсекаются) 

 
при 50 тысяч 72 тысячи
 
CoreWinTT:
при 50 тысяч 72 тысячи
Закрываете терминал. Открываете. Показывает 72 тысячи? На каком таймфрейме?
 
stringo:
Доказательства в студию. Несколько раз проверил - сколько баров на графике, столько баров индикатор и обсчитывает (хоть на своём графике, хоть на чужом, даже не открытом графике). Хотя у меня закачана полностью вся история.

Это может не самы яркий пример, но ясно видно что при ограничении 5000, даже на экран выводится 6000 баров. Но это не самая большая проблема, после нескольких перезагрузок проходит. Мне не помагает 5000 баров, потому что не хватает памяти, чтобы отрисовать все индикаторы.

 

 
gal:
Это может не самы яркий пример, но ясно видно что при ограничении 5000, даже на экран выводится 6000 баров. Но это не самая большая проблема, после нескольких перезагрузок проходит. Мне не помагает 5000 баров, потому что не хватает памяти, чтобы отрисовать все индикаторы.
Я уже выше говорил, что 6000 - это допустимо
 
gal:

Это может не самы яркий пример, но ясно видно что при ограничении 5000, даже на экран выводится 6000 баров. Но это не самая большая проблема, после нескольких перезагрузок проходит. Мне не помагает 5000 баров, потому что не хватает памяти, чтобы отрисовать все индикаторы.

 

В своем индикаторе я сделал так, что бы индикатор обсчитывал только необходимое мне количество баров.

Прикрепляю, может что-то подскажет и поможет. 

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
Файлы:
 
   if(rates_total<N) return(0);           


   if(prev_calculated==0) {             
      if(MaxBars<rates_total) start=rates_total-MaxBars; 
      else start=N;
   }
   else start=prev_calculated-1;     // 
   for(int i=start;i<rates_total;i++)
     {
.......
.......
     }
   return(rates_total);