Смотрите как получается, простым языком постараюсь. Индикаторы обсчитывают бары и на каждом пишут свое значение. Между значениями индикатор дорисовывает кривые линии, вот вы и видите их на графике..
В классическом варианте для МТ4 в обсчете баров текущий бар это 0. а самый последний в истории при допустим 500 барах будет иметь номер 499. Индикатор от 499 до 0 обсчитает все бары.
Но что мы видим в коде, он при расчете использует значение баров i-2 и i-1 , т.е. например при расчете 200й свечи он будет брать значение свечей 198 и 199. т.е. будущих свечей, что неминуемо приведет к перерисовке, о чем я вам и сообщил.
В варианте для МТ5 в обсчете баров текущий бар это 499 (при 500 баров в истории) а самый последний в истории будет иметь индекс 0.
mobidik предположил что в индикаторе изначально хотели применить именно такой вариант обсчета и сделал так. таким образом i-2 и i-1 в формулах становится нормальным, это заглядывание в прошлое а не в будущее. Но индикатор теперь полностью изменился, сравнительный скриншот я прикреплял выше, он показывает совсем по другому относительно того что было.
Итого что имеем:
1) вариант который прислал mobidik, но на истории значения индикатор совсем другие (смотрите скриншот).
2) вариант с "рефрешером" который будет перерисовывать последние 2 закрытые свечи.
Посмотреть вложение 281378