Можно ли программно изменить количество индикаторных буферов?
Вижу просто несметные орды желающих ответить на мой вопрос ... лес рук ... ладно, похоже ничего вразумительного не дождусь, поэтому решение пока только такое :
CSymbol * s; s = Currencies.At(0); if (s) SetIndexBuffer(0, Currency1, INDICATOR_DATA); s = Currencies.At(1); if (s) SetIndexBuffer(1, Currency2, INDICATOR_DATA); // если данные для буфера не пустые - индексируем его int maxBars = 0 - TerminalInfoInteger(TERMINAL_MAXBARS); s = Currencies.At(0); if (!s) PlotIndexSetInteger(0, PLOT_SHIFT, maxBars); s = Currencies.At(1); if (!s) PlotIndexSetInteger(1, PLOT_SHIFT, maxBars); // если пустые, то чтобы рандомные значения не выводились - смещаем их за пределы экрана
Вопрос решен.
Мдааа.
Стиль рисования DRAW_NONE + EMPTY_VALUE в значениях.
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Прочие константы
- www.mql5.com
Стандартные константы, перечисления и структуры / Именованные константы / Прочие константы - Документация по MQL5
Можно попробовать обозначить неиспользуемые как INDICATOR_CALCULATIONS
https://www.mql5.com/ru/docs/constants/indicatorconstants/customindicatorproperties
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Свойства пользовательских индикаторов
- www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Свойства пользовательских индикаторов - Документация по MQL5
спасибо всем за ответы, но переделывать мне уже лениво :)
все равно индикатор в открытом доступе, он не для продажи, и так работает нормально
Приветы,
Собственно вопрос в теме - если директивы компилятора устанавливают колифество буферов равным 9, можно ли изменить это число программно в коде индикатора?
Количество индикаторных буферов устанавливается в 9, но кол-во отображаемых данных может быть меньше, например 3, и когда такое случается у меня отображаются на графике линии, которых быть не должно.
Просто устанавливать в 0 оставшиеся 6 пустых буферов нельзя потому из-за масштабирования все линии сжимаются в одну.
Есть идеи?