определение индекса нужного бара

 

Подскажите пожалуйста, как правильно решить следующую задачу:

есть некое событие (тестирование ценой заданного уровня, пересечение MA, и т.п., что не суть важно), которое происходит на определенном баре\барах. Как можно получить индекс последнего бара (т.е. ближайшего к текущему бару), на котором произошло такое событие?

В моем представлении, это может выглядеть как-то так:

      int limit;
      int counted_bars=IndicatorCounted();
      if(counted_bars>0) counted_bars--;
      limit=Bars-counted_bars;
      for(int i=limit;i>=0;i--) 

      double Level = __________________;    // определяем нужный нам уровень
      
      if (High[i]>=Level)                   // определяем критерий нужного нам события

      // А ЧТО ДАЛЬШЕ?, как получить значение [i], при котором данное условие выполняется?
 
Azerus:

Подскажите пожалуйста, как правильно решить следующую задачу:

есть некое событие (тестирование ценой заданного уровня, пересечение MA, и т.п., что не суть важно), которое происходит на определенном баре\барах. Как можно получить индекс последнего бара (т.е. ближайшего к текущему бару), на котором произошло такое событие?

В моем представлении, это может выглядеть как-то так:


Для чайников есть специальная ветка, чтобы не плодить отельные для каждой нелепости: https://www.mql5.com/ru/forum/134688


int index = -1;
...
if (High[i]>=Level) {
  index = i;
}
Причина обращения: