Буферы индикатора

 

Всем доброго времени суток!

Столкнулся с ситуацией, когда понадобилось число буферов больше 8.

Может кто подсказать как обойти это ограничение без использования промежуточных индикаторов?

Заранее благодарен.

 

Завести ручной буфер, правда зело медленно перераспределение памяти происходит ручками, так что возможно лучше "промежуточных индикаторов" ничего и нет.

Где-то тема была с расчетами производительности, давно.

 

неужели нет никаких лазеек?

 
Есть варианты. Самый тупой способ - просто массив, заранее отмастштабировать его на всё количество баров со значительным запасом. Индекс вычислять. По достижению длины массива (если вдруг), снова масштабировать, но не на один элемент, а с запасом.
 
Debugger:

неужели нет никаких лазеек?

Перейти на MT5 :)
 
ДЛЛ-ки работают побыстрее штатных средств терминала. Как вариант, использовать массивы в них.
 
Debugger:

Всем доброго времени суток!

Столкнулся с ситуацией, когда понадобилось число буферов больше 8.

Может кто подсказать как обойти это ограничение без использования промежуточных индикаторов?

Заранее благодарен.

Ну я вообще не заморачивался, сделал в своем индикаторе отрисовку простыми линиями.
 
   int shift=iBarShift(NULL,0,LastCalculatedBar)+1;
   LastCalculatedBar=iTime(NULL,0,shift); 
   

   while (shift>-1){
     //calc
          string oname=vl_Pairs[z]+period+LastCalculatedBar;
          ObjectDelete(oname);
          ObjectCreate(oname,OBJ_TREND, window,LastCalculatedBar-Period()*60,up,LastCalculatedBar,up0);
          ObjectSet(oname,OBJPROP_RAY,false);
          ObjectSet(oname,OBJPROP_COLOR,vl_Colors[z]);
          ObjectSet(oname,OBJPROP_WIDTH,2);
   
          LastCalculatedBar=iTime(NULL,0,iBarShift(NULL,0,LastCalculatedBar)-1); 

   }
в целом примерно так.
 

Благодаря идеям Xupypr-а проблема ограничивающая число буферов удачно решена.

Гранд респект ему. :)

 
Есть такая штука - поиск называется. https://www.mql5.com/ru/forum/118286
 
Debugger:

Благодаря идеям Xupypr-а проблема ограничивающая число буферов удачно решена.

Гранд респект ему. :)


И что сказал Хирург? Ампутация? :)

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