Помогите доработать индикатор

 
Возникла проблема, не могу решить. Индикатор рисует линию сопротивления (аналогично сделаю и для линии поддержки), но при поступлении новых баров происходят скачки на уже рисовавшиеся ранее уровни, как сделать, что-бы не было откатов назад, а рисование шло только по вновь поступившим барам?
Файлы:
indps.mq4  5 kb
 

max1=0; while (max1==0) {.... ... i++; ??}

в init цикл без смысла - функция выполняется один раз

 
nikost:

max1=0; while (max1==0) {.... ... i++; ??}

в init цикл без смысла - функция выполняется один раз


Смысл в том, что этим устанавливаются начальные значения, но вопрос не в этом. Если Вы посмотрели работу в тестере в режиме визуализации, то видно перескакивание линии то вперед, то назад, вопрос, как от этого избавиться?
 
iClose(NULL,"PERIOD", i+1)

?

double iClose( string symbol, int timeframe, int shift) 
Возвращает значение цены закрытия указанного параметром shift бара с соответствующего графика (symbol, timeframe). 
В случае ошибки функция возвращает 0. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().
Для текущего графика информация о ценах закрытия находится в предопределенном массиве Close[]. 
Параметры:
symbol   -   Символьное имя инструмента. NULL означает текущий символ. 
timeframe   -   Период. Может быть одним из периодов графика. 0 означает период текущего графика. 
shift   -   Индекс получаемого значения из таймсерии (сдвиг относительно текущего бара на указанное количество периодов назад). 

Пример:
  Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ",  iOpen("USDCHF",PERIOD_H1,i),", ",
                                      iHigh("USDCHF",PERIOD_H1,i),", ",  iLow("USDCHF",PERIOD_H1,i),", ",
                                      iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));

 
 
Angela:

Смысл в том, что этим устанавливаются начальные значения, но вопрос не в этом. Если Вы посмотрели работу в тестере в режиме визуализации, то видно перескакивание линии то вперед, то назад, вопрос, как от этого избавиться?
Файлы:
indps_1.mq4  3 kb
 
VladislavVG:

?


Период устанавливается в настройках:

extern int PERIOD =PERIOD_M1;

 
Ну хорошо, а зачем PERIOD в кавычки-то ставите, Angela?
 
nikost:


И что это значит? Нельзя первую и вторую координату трендовой линии искать в одном диапазоне (берется одно и тоже значение для обеих координат), нельзя ограничивать диапазон поиска 7 барами, может и не найтись отвечающая условиям точка.
 
Mathemat:
Ну хорошо, а зачем PERIOD в кавычки-то ставите, Angela?

Да, Вы правы, кавычки лишние, но суть проблемы это не решает, убрала кавычки - все работает точно также, дерганье вперед - назад осталось.
 
Angela:

И что это значит? Нельзя первую и вторую координату трендовой линии искать в одном диапазоне (берется одно и тоже значение для обеих координат), нельзя ограничивать диапазон поиска 7 барами, может и не найтись отвечающая условиям точка.
если честно,то в логику не вникал. просто что покузалось лишним убрал. 7 оставил, так как она гдето была в вашем индикаторе. ещё нужно убрать буферы - проглядел, извиените. ...
 
nikost:
если честно,то в логику не вникал. просто что покузалось лишним убрал. 7 оставил, так как она гдето была в вашем индикаторе. ещё нужно убрать буферы - проглядел, извиените. ...

Извиняю, но больше ничего не убирайте! А то, не видать Вам моего прощения!
Причина обращения: