Справочник MQL4

iBarShift

Поиск бара по времени. Функция возвращает индекс бара, в который попадает указанное время.

int  iBarShift(
   string           symbol,          // символ
   int              timeframe,       // период
   datetime         time,            // время
   bool             exact=false      // режим
   );

Параметры

symbol

[in]  Символьное имя инструмента. NULL означает текущий символ.

timeframe

[in]  Период. Может быть одним из значений перечисления ENUM_TIMEFRAMES. 0 означает период текущего графика.

time

[in]  Значение времени для поиска.

exact=false

[in]  Возвращаемое значение, если бар не найден. Если exact=false, iBarShift возвращает ближайший, если exact=true, iBarShift возвращает -1.

Возвращаемое значение

Индекс бара, в который попадает указанное время. Если для указанного времени бар отсутствует ("дыра" в истории), то функция возвращает -1 или индекс ближайшего бара (в зависимости от параметра exact).

Пример:

  datetime some_time=D'2004.03.21 12:00';
  int      shift=iBarShift("EURUSD",PERIOD_M1,some_time);
  Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);