- Пользовательский индикатор
- Ошибки, баги, вопросы
- Индикаторы: Trading Sessions Trade
нормально индикатор отображаться должен так как на рисунке 1, когда меняется таймфрейм, то отображаться не пойми что(рисунок 2),как это исправить
Соблюдайте простое правило: в OnCalculate() если prev_calculated==0 - значит или это новая загрузка индикатора
Индикаторы загружаются в следующих случаях:
- прикрепление индикатора к графику;
- запуск терминала (если индикатор был прикреплен к графику перед предыдущим закрытием терминала);
- загрузка шаблона (если в шаблоне указан прикрепленный к графику индикатор);
- смена профиля (если индикатор прикреплен к одному из графиков профиля);
- смена символа и/или периода графика, к которому прикреплен индикатор;
- после удачной перекомпиляции индикатора, если данный индикатор был прикреплен к графику.
- изменение входных параметров индикатора.
или была подкачана история - в любом случае нужно пересчитать ВЕСЬ ИНДИКАТОР ЗАНОВО.
В Вашем случае (так Вы используете графические объекты) при prev_calculated==0 нужно сначала очистить график - удалить все графические объекты, которые могли остаться от предыдущего запуска, а уже потом заново отрисовать.
Наверное нужно в коде что-то прописать при инициализации. Пробовали?
Соблюдайте простое правило: в OnCalculate() если prev_calculated==0 - значит или это новая загрузка индикатора
Индикаторы загружаются в следующих случаях:
- прикрепление индикатора к графику;
- запуск терминала (если индикатор был прикреплен к графику перед предыдущим закрытием терминала);
- загрузка шаблона (если в шаблоне указан прикрепленный к графику индикатор);
- смена профиля (если индикатор прикреплен к одному из графиков профиля);
- смена символа и/или периода графика, к которому прикреплен индикатор;
- после удачной перекомпиляции индикатора, если данный индикатор был прикреплен к графику.
- изменение входных параметров индикатора.
или была подкачана история - в любом случае нужно пересчитать ВЕСЬ ИНДИКАТОР ЗАНОВО.
В Вашем случае (так Вы используете графические объекты) при prev_calculated==0 нужно сначала очистить график - удалить все графические объекты, которые могли остаться от предыдущего запуска, а уже потом заново отрисовать.
спасибо, пробовал не помогло
Значит что-то делали неправильно. Другого не бывает.
Значит что-то делали неправильно. Другого не бывает.
дело в том что на каждом тике он удаляет объекты, а потом все расчитывает
Вот и рецепт. Нужно сделать экономный пересчёт индикатора на нулевом баре (на самом правом на графике баре). Ещё лучше сделать так: ловить момент рождения нового бара и просчитывать ТОЛЬКО ДЛЯ НОВЫХ НЕПРОСЧИТАННЫХ баров, а внутри бара вообще не работать.
Вот и рецепт. Нужно сделать экономный пересчёт индикатора на нулевом баре (на самом правом на графике баре). Ещё лучше сделать так: ловить момент рождения нового бара и просчитывать ТОЛЬКО ДЛЯ НОВЫХ НЕПРОСЧИТАННЫХ баров, а внутри бара вообще не работать.
теперь я использую буфер для отрисовки зигзага, но появляються такие разрывы, как с эти справиться???
и как этот зигзаг раскрасить в разные цвета, читал, пробовал, не получилосьтеперь я использую буфер для отрисовки зигзага, но появляються такие разрывы, как с эти справиться???
и как этот зигзаг раскрасить в разные цвета, читал, пробовал, не получилосьВы каким стилем рисуете буфер? "DRAW_SECTION"?
Вы каким стилем рисуете буфер? "DRAW_SECTION"?
да
да
Значит где-то в расчётах пропускаете один или несколько баров (а возможно в этих барах или оставляете значение "0" или даже принудительно ставите "0"). Вот отрезок и рисует от цены с графика вниз в пропасть к нулю (а может даже не к нулю, а к какому-то значению со знаком минус).
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования