Как сдвинуть стрелку на N баров?

 

Грубый пример кода, остальное опущено:


input int USER_PERIOD=20;

double price=iHigh(NULL,0,USER_PERIOD);
datetime time = iTime(NULL,0,USER_PERIOD);

ObjectCreate(0, objName, OBJ_ARROW_UP, 0, time, price))
 ObjectSetInteger(0, objName, OBJPROP_COLOR, White);


Стрелка не рисуется. Если вместо time пишу TimeCurrent(), она рисуется на текущем баре.

Вопрос, как правильно получить время на N баров назад для отрисовки стрелки? получение времени через iTime почему-то не работет...

Документация по MQL5: Графические объекты / ObjectSetInteger
Документация по MQL5: Графические объекты / ObjectSetInteger
  • www.mql5.com
ObjectSetInteger - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
John Smith:

Грубый пример кода, остальное опущено:




Стрелка не рисуется. Если вместо time пишу TimeCurrent(), она рисуется на текущем баре.

Вопрос, как правильно получить время на N баров назад для отрисовки стрелки? получение времени через iTime почему-то не работет...

В последнем билде МТ5 стрелка нарисовалась

вот полный код скрипта

#property strict

input int USER_PERIOD=20;

void OnStart() 
{
  string objName = "arrow";
  double price=iHigh(NULL,0,USER_PERIOD);
  datetime time = iTime(NULL,0,USER_PERIOD);
  
  if(ObjectCreate(0, objName, OBJ_ARROW_UP, 0, time, price))
   ObjectSetInteger(0, objName, OBJPROP_COLOR, clrWhite);
}
Причина обращения: