Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Осталось внимательно прочесть
ENUM_PLOT_PROPERTY_DOUBLE
Идентификатор
Описание
Тип свойства
PLOT_EMPTY_VALUE
Пустое значение для построения, для которого нет отрисовки
double
Это означает, что значение если применить например
и после этого назначить, например, на баре #30 значение EMPTY_VALUE, на баре #30 индикатор не отрисует ничего.
То есть это не инициализация. Это всё го лишь управление отрисовкой.
Так в том-то и дело, что если прикрепить график а потом его удалить, и опять прикрепить то буферы будут инициализированы нужным значением.
Также почему бы не сделать как в MT4? Зачем отрисовывать EMPTY_VALUE или что либо еще?
А так мне пришлось городить дополнительный код в OnCalculate()
if(firstRun) {
ArrayInitialize(FlagH_Buffer,0);
ArrayInitialize(FlagL_Buffer,0);
ArrayInitialize(PennantH_Buffer,0);
ArrayInitialize(PennantL_Buffer,0);
ArrayInitialize(MedianBuffer,0);
ArrayInitialize(SigH_Buffer,0);
ArrayInitialize(SigL_Buffer,0);
ArrayInitialize(HighesBuffer,0);
ArrayInitialize(LowesBuffer,0);
ArrayInitialize(SlopeBuffer,0);
firstRun=false;
}
При инициализации в OnInit()
размер буферов еще нулевой, инициализировать нечего.
Так в том-то и дело, что если прикрепить график а потом его удалить, и опять прикрепить то буферы будут инициализированы нужным значением.
Также почему бы не сделать как в MT4? Зачем отрисовывать EMPTY_VALUE или что либо еще?
Инициализация лежит полностью на плечах программиста. Если кривой индикатор - тут поможет выпрямитель: Форум или Фриланс.
Необходимо различать первый старт индикатора или подкачку истории и обычную работу. При первом старте или при подкачке истории необходимо ПРИНУДИТЕЛЬНО обойти весь индикаторный буфер и пересчитать его (читай инициализировать).
Ну спасибо, так и скажите что не хотите переделывать.
Сам к себе обратился, и нашел выход из ситуации.
И еще. В тестере стратегий MT5 PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) инициализирует буфер и проблем с отрисовкой нет.
Почему тогда в тестере стратегий работает?
То есть это не инициализация. Это всё го лишь управление отрисовкой.
как раз пустое значение для инициализации и используется. проблема в том что при смене ТФ нет инициализации буфера.
вот надо было на две страницы цирк разводить и задирать нос чтобы выяснить что вы не разбираетесь в предмете?
как раз пустое значение для инициализации и используется. проблема в том что при смене ТФ нет инициализации буфера.
вот надо было на две страницы цирк разводить и задирать нос чтобы выяснить что вы не разбираетесь в предмете?
А если прикрепить просто индикатор на график, тоже инициализации буферов нет. А в МТ4 есть.
Кто еще из нас разводит цирк?