Есть пример для функции IndicatorCounted().
Зачем тут пересчитывать последний посчитанный бар?
Очень просто. Вот для иллюстрации два одинаковых графика М1 и на них EMA-6.
Но на левом графике по ценам закрытия - т.е. обновление на каждый тик. А на правом - по ценам открытия, т.е. расчет в начале каждого бара. Видно, что правая отстает на 1 бар. И самое главное - правый конец линии. Слева происходит перерисовка каждый тик. Цена ушла вниз, и линия тянется за ней. Она показывает тренд сейчас. Справа линия обновится при появлении нового бара. Перерисовка отсутствует. Линия отстала от цены. Ну хорошо это на минутном графике. А если на дневном! Представляете, линия будет обновляться один раз в день!!!
Есть пример для функции IndicatorCounted().
https://docs.mql4.com/ru/customind/indicatorcounted
Зачем тут пересчитывать последний посчитанный бар?
На тот редкий случай, когда тики приходят пачкой, 3 и более подряд, при этом 2 попадают на "старый" бар, а третий на новый, то может получиться такая чехарда: На первом тике вычисление проходило слишком долго, второй тик был пропущен, но цена изменилась. И вот на третьем тике, уже на новом баре получится неверное значение из-за пропущенного тика. А вызов индикатора из советника увеличивает такую вероятность.
понятно. потому что программа может исполняться пока тик проходит.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
https://docs.mql4.com/ru/customind/indicatorcounted
Зачем тут пересчитывать последний посчитанный бар?