Скачать MetaTrader 5

Графические объекты правее тикера

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Code Base поможет в усвоении теоретических знаний. Заходи и изучай!
Лука
154
Лука 2010.09.01 10:21 

Всем доброго времени суток!

Столкнулся с проблемой отрисовки графических объектов правее тикера.

Может кто подсказать как получить время для функции (ObjectCreate), если это время еще не настало.

Заранее благодарен. 

o_o
Модератор
23690
o_o 2010.09.01 10:33  
что значит получить? откуда вы его получать решили?
Alexandr Bryzgalov
27417
Alexandr Bryzgalov 2010.09.01 10:37  
int ObjectGetShiftByValue( string name, double value) 
Функция вычисляет и возвращает номер бара (смещение относительно текущего бара) для указанной цены. Номер бара вычисляется при помощи линейного 
уравнения по первой и второй координатам. Применяется для трендовых линий и аналогичных объектов. Для получения информации об ошибке необходимо 
вызвать функцию GetLastError(). 
См. также ObjectGetValueByShift(). 
Параметры:
name   -   Имя объекта. 
value   -   Значение цены. 

Пример:
  int shift=ObjectGetShiftByValue("MyTrendLine#123", 1.34);

 
наверное это имелось ввиду
Alexandr Bryzgalov
27417
Alexandr Bryzgalov 2010.09.01 10:41  
предлагаю рассчитать по уравнению прямой
Fedor
2763
Fedor 2010.09.01 10:42  
sergeev:
что значит получить? откуда вы его получать решили?


мда... вначале - очень трудно формулировать вопросы...

Петр
6084
Петр 2010.09.01 10:44  
// расчет времени будущих баров
datetime xTime(int i)
  {
   if(i<0) return(Time[0]-i*Period()*60);
   return(Time[i]);
  }
Лука
154
Лука 2010.09.01 10:50  

если использовать отрицательное смещение относительно нулевого бара то выдается время 1970 года.

Вот в чем проблема

Петр
6084
Петр 2010.09.01 10:55  
Lycos:

если использовать отрицательное смещение относительно нулевого бара то выдается время 1970 года.

Вот в чем проблема

Функцию используйте - проблем не будет. Замените Time[i] на xTime(i).

И будет вам счастье...

===

Ф-я выше постом...

Лука
154
Лука 2010.09.01 11:16  
Пасиб
Лука
154
Лука 2010.09.01 11:42  

Попробовал. Тоже не получается.

 Вот выдержка из справки по функции:

datetime iTime( string symbol, int timeframe, int shift)
Возвращает значение времени открытия указанного параметром shift бара с соответствующего графика (symbol, timeframe). В случае ошибки функция возвращает 0. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().
Для текущего графика информация о времени открытия каждого бара находится в предопределенном массиве Time[].
Параметры:
symbol   -   Символьное имя инструмента. NULL означает текущий символ.
timeframe   -   Период. Может быть одним из периодов графика. 0 означает период текущего графика.
shift   -   Индекс получаемого значения из таймсерии (сдвиг относительно текущего бара на указанное количество периодов назад).
 

Aleksandr Chugunov
4816
Aleksandr Chugunov 2010.09.01 11:44  
Вам что получить то нужно? При чём здесь функция iTime ???
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий