Друзья, возможно кто то реализовывал собственный алгоритм расчета цены по аналогии с ObjectGetValueByTime?
Для реализации текущей моей задачи ObjectGetValueByTime не достаточно. По этому ищу исходник способный ее заменить.
Задача стоит получать цену без использования графического объекта, практика показала что с трендовой не надежно получается.
Поделитесь кому не жалко.
Вам это быстро в общих чертах набросал. Проверьте - работает. Тонкие настройки сможете сами сделать. Вроде бы то что нужно.
Далее, в цикле ищете номер свечи на которую приходится старт линии (левую точку), и от неё вложенным циклом идёте вперёд(в будущее), до свечи на которой нужно значение линии получить, прибавляя дельту на каждом проходе цикла. Вот и будет точная цена на время открытия свечи.
250 свечей в цикле - условно поставил, можете там Bars()-1 поставить и break сделать.
datetime dt_last_date = ObjectGetInteger(0,obj_name,OBJPROP_TIME,0); datetime dt_oldest_date = ObjectGetInteger(0,obj_name,OBJPROP_TIME,1); double price_last = ObjectGetDouble(0,obj_name,OBJPROP_PRICE,0); double price_oldest = ObjectGetDouble(0,obj_name,OBJPROP_PRICE,1); // Получаете дельту на свечу текущего ТФ, если нужно приближение до секунд, соответственно делите на кол-во секунд в свече текущего ТФ double delta_per_candle = CalculatePriceChangePerCandle(dt_last_date ,right_price,left_date,left_price); // Не знаю как у вас линии рисуются, может переменные местами нужно поменять будет //+------------------------------------------------------------------+ //| Получаем дельту на 1 свечу текущего ТФ | //+------------------------------------------------------------------+ double CalculatePriceChangePerCandle(datetime right_date,double right_price,datetime left_date,double left_price) { double delta=0; int candles_amount = 0; for(int i = 0; i < 250; i++) { if(iTime(Symbol(),PERIOD_CURRENT,i) <= right_date && iTime(Symbol(),PERIOD_CURRENT,i) >= left_date) // Тут сами настройте, включительно/исключительно ли будут учитываться свечи начала отсчета и конца отсчета { candles_amount++; } } delta = (right_price - left_price) / candles_amount; return delta; }

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Друзья, возможно кто то реализовывал собственный алгоритм расчета цены по аналогии с ObjectGetValueByTime?
Для реализации текущей моей задачи ObjectGetValueByTime не достаточно. По этому ищу исходник способный ее заменить.
Задача стоит получать цену без использования графического объекта, практика показала что с трендовой не надежно получается.
Поделитесь кому не жалко.