Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Результат не верный
Давайте рассмотрим эту конкретную ситуацию. Дайте точные данные проведенной линии:
Нет никаких проблем. Все то же самое. Просто индексы баров отрицательные. Единственное, что меняется, это обязательный перерасчет значения на каждом новом баре.
Вот именно…
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Аналог ObjectGetValueByTime может кто то реализовывал ?
Alexey Viktorov, 2026.04.17 18:23
Для ObjectGetValueByTime правая координата не может быть правее текущего бара.следовательно полного соответствия не будет. Это я сам только сейчас понял. Для полного соответствия надо время в будущем обрезать до времени текущего бара.
Вот именно…
На расчет это никак не влияет.
следовательно полного соответствия не будет. Это я сам только сейчас понял. Для полного соответствия надо время в будущем обрезать до времени текущего бара.
На расчет это никак не влияет.
Так ведь это проблемы ObjectGetValueByTime(), а не расчета. Чем плохо, что та фукнция не может, а наш расчет может?Ничем не плохо. Но Владимир на протяжении всего обсуждения любой вариант сравнивает с показаниями ObjectGetValueByTime() и никак не может получить нужное значение. По картинкам на предыдущей странице видно, что правая координата трендовой в будущем…
И тем не менее, расчет от ObjectGetValueByTime(), судя по скрину, правильно показывает цену, которая расположена на трендовой линии. То есть расчет нельзя назвать неправильным. В то же время, собственный расчет почему-то показывает цену, которая не лежит на трендовой линии. Вот это для меня загадка. Возможно, в собственном расчете в качестве правой точки подставлен бар с индексом 0 или положительный вместо отрицательного. Я потому и запросил исходные данные для воспроизведения.
Экспериментирую
Результат
Не сходятся значения.
Пробовал ставить 0 то же не сходятся.
Исключил бар за пределами.
Экспериментирую
Результат
Не сходятся значения.
Пробовал ставить 0 то же не сходятся.
Исключил бар за пределами.
Экспериментирую
Результат
Не сходятся значения.
Пробовал ставить 0 то же не сходятся.
Исключил бар за пределами.
И почему индекс бара для TimeCurrent() установлен как 1? Он должен быть 0.
Также еще учтите, что если правый бар находится правее текущего бара, то вот здесь:
будет получено -1 вместо правильного индекса бара.
Нашёл причину. Галочка "Точная шкала времени.
Если стоит галка то формула тангенса полностью совпадает с ObjectGetValueByTime(), если галки нет, то чем больше угол трендовой тем больше разница в результатах.
Вывод, если хотим, чтоб при убранной галке ваша пользовательская функция совпадала с ObjectGetValueByTime(), то нужно округлять значение времени до времени открытия свечи таймфрейма.
Гифка работает только если на неё кликнуть.
ps вот такой вариант округления в пользовательской функции, даёт одинаковый результат с ObjectGetValueByTime(), не зависимо от галки в настройках.
Думаю здесь все понимают, что вот это
fKKoef = (fY2 - fY1) / (nX2 - nX1); return fY1 - fKKoef * nX1;и то, что написал я, это одно и то же. Формула тангенса.