Оператор while - страница 2

 
VladislavVG:
Вы не уточнили: Вам нужно значение экстремума или просто минимальное значение на отрезке.

Нужен ближайший минимум (экстремум), а не минимум на интервале.
 

А вот это работает!

        FFLow=1000000;
        for (num_low=r+1; FFLow >= Low[num_low]; num_low++) FFLow = Low[num_low];

Вопросы к разработчикам. 

 
icas:

Нужен ближайший минимум (экстремум), а не минимум на интервале.
Тогда под оператором if() должно стоять условие для экстремума: как минимум (Low[ib]<Low[ib+1] && Low[ib]<Low[ib-1])
 
VladislavVG:
Тогда под оператором if() должно стоять условие для экстремума: как минимум (Low[ib]<Low[ib+1] && Low[ib]<Low[ib-1])



Зачем if(), когда все равно нужно делать цикл?..

В операторах цикла уже есть условный оператор:

https://docs.mql4.com/ru/basis/operators/while

https://docs.mql4.com/ru/basis/operators/for 

 
icas:


Зачем if(), когда все равно нужно делать цикл?..

В принципе, для решения поиска ближайшего минимума можно и так как у Вас. А вот если захочется минимум большего порядка (то, что называют фрактал или точки Демарка n-го порядка), то придется менять алгоритм.

Удачи.

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