как найти ближайший локальный максимум

 

Вот набросал вариант, только что то не работает:

double priceclose=0;
int i=1;
while (  iClose(Symbol(),0,i) < iOpen(Symbol(),0,i))
   {
   priceclose=iClose (Symbol(),0,i);
   i++;
   }
while ( iClose(Symbol(),0,i)>priceclose ) 
      {
      priceclose=iClose(Symbol(),0,i);
      i++;
      }
}
 
Забыл уточнить, текущая цена должна быть меньше макисмума
 

макисмума :-)

 
А почему не пользуешься iHighest() https://docs.mql4.com/ru/series/ihighest
 
gabaritufa:

Вот набросал вариант, только что то не работает:

И не будет работать. Пока Вы не дадите определения локального максимума, тем более, ближайшего.
 
YOUNGA:

макисмума :-)


ну да, того который ищу

 
AlexeyVik:
А почему не пользуешься iHighest() https://docs.mql4.com/ru/series/ihighest


Хорошая вещь, только там функция определяет максимум на заданных барах, а мне нужно чтобы ближайший максимум был взят по сравнению с ценой.

вот к примеру:

 

Ну тогда простое условие в цикле

if(Hight[i] > Bid && Hight[i] > Hight[i+1])

{

// присвоить значение переменной и break

}

 
а по зигзагу не судьба?
 
Да его и фрактал наверно бы устроил
 
gabaritufa:

Вот набросал вариант, только что то не работает:


В свое время немало думал по поводу ближайшего максимума. И не нашел ничего лучше, как искать его с помощью iHighest, начиная с бара номер 1+ фрактал. Соседние бары ниже максимума.
Причина обращения: