Помогите найти ошибку новичку.

 

Суть проблемы такая:

в индикаторе я делаю подсветку экстремума когда новый экстремум ниже предыдущего, когда стартую или обновляю индикатор он рисует все правильно, но когда стоит на графике он расчитывает так что каждый новый экстремум ниже предыдущего, не помй где ошибка,

вот как у меня в коде по максимумам:

if (I_Lin[i] < I_Lin[i+1] &&
I_Lin[i+1] >= I_Lin[i+2] &&
I_Lin[i+1] > 0 ) Max = I_Lin[i+1]; //нашли очередной новый экстремум и запомнили его высоту

if (Lok_Max < Max) Lok_Max = Max;// запоминаем экстремум теперь он будет прошедшим
else //экстремум ниже старого
{
if (I_Lin[i] < I_Lin[i+1] &&
I_Lin[i+1] >= I_Lin[i+2] &&
I_Lin[i+1] > 0 )//наличие экстремума
{
I_W_Down[i]=I_Lin[i]; //запоминаем в буфере экстремум ниже предыдущего
I_M_Down[i]=0;
Lok_Max = Max;// запоминаем экстремум теперь он будет прошедшим
}

}


подскажите что надо изменить?
 
Gutman:

Суть проблемы такая:

...............

подскажите что надо изменить?

Задать вопрос в специальной ветке для таких вопросов, и привести в аттаче полный код индикатора.