CopyTime исторические данные времени со смещением в "будущее"

Sergey Perechesov  

Нужно программно поставить ценовую метку (на графике красная) на линию аллигатора. Проблема в том, что линии аллигатора со смещением, а CopyTime копирует данные в массив начиная с текущего бара  (на графике место, где начинается желтая горизонтальная линия). Чтобы поставить метку, нужно получить дату, еще не сформировавшегося бара (место, где начинается зеленая горизонтальная линия). Т.е. последнее значение линии программно я определил, а индекс бара не могу.


Пробовал таким образом (что-то вроде смещение на 8 баров вперед):

CopyTime(_Symbol,_Period,-8,10,nowTime);

но массив nowTime пустой.

Alekseu Fedotov  
Sergey Perechesov:

Нужно программно поставить ценовую метку (на графике красная) на линию аллигатора. Проблема в том, что линии аллигатора со смещением, а CopyTime копирует данные в массив начиная с текущего бара  (на графике место, где начинается желтая горизонтальная линия). Чтобы поставить метку, нужно получить дату, еще не сформировавшегося бара (место, где начинается зеленая горизонтальная линия). Т.е. последнее значение линии программно я определил, а индекс бара не могу.


Пробовал таким образом (что-то вроде смещение на 8 баров вперед):

но массив nowTime пустой.

void OnStart()
  {
 datetime  nowTime[];     // массив для копирования времени открытия  
 ArrayResize(nowTime,10);   // задали размер  
 ArraySetAsSeries(nowTime,true);
  
CopyTime(_Symbol,_Period,0,10,nowTime);

datetime time = nowTime[0]+PeriodSeconds()*8;  //время в будущем   -8 баров

Alert("",TimeToString(nowTime[0]));
Alert("",TimeToString(time));
   
  }

Как то так.

Sergey Perechesov  
Alekseu Fedotov:

Как то так.

спасибо, работает