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

 

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

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

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

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:

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

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

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

 

А определиться нельзя МТ4 или МТ5 интересует. Язык вроде бы разный. Тем более что полный код индикатора на MQ4  Вы так и не привели.

Я по поводу ветки на аналогичном форуме. 

Причина обращения: