К содержимому
Форекс
на автомате

OnTick или OnTimer для входа по закрытию свечи?

tolik.novikovс 09.2023
Исследователь
7сообщений
Автор темы#1
Пишу нового советника, M15. Вход по закрытию свечи, если тело больше среднего тела за 20 свечей. Проверку сделал в OnTick и заметил, что ночью, когда рынок тихий, вход бывает не в 00:15, а в 00:17, когда приходит первый тик. Перенёс всё в OnTimer с EventSetTimer(1), чтобы проверять каждую секунду. Прогон в тестере стал идти в три раза дольше, а входы те же самые. Как правильно?
y.bogdanovс 02.2024
Исследователь
9сообщений
#2
Для этой задачи таймер ничего не даёт. Свеча M15 формально начинается в 00:15, но пока не пришёл тик, бара в терминале нет, бары строятся по тикам. В OnTimer в 00:15:01 ты увидишь всё тот же старый нулевой бар. Войти раньше первого тика не выйдет, да и по какой цене? А тестер тормозит, потому что честно вызывает таймер каждую секунду модельного времени. Оставь OnTick и проверку нового бара.
Станиславс 04.2021
Исследователь
9сообщений
#3
Не совсем соглашусь, точнее, соглашусь только про вход. У меня в советниках давно разделено: OnTick получает цену и проверяет сигнал, а в OnTimer раз в несколько секунд идёт то, что от тиков зависеть не должно. Сверка, что позиция на счёте совпадает с тем, что советник про неё думает. Контроль связи. Отправка уведомлений. Закрытие по времени перед выходными. В пятницу вечером на некоторых символах тики редкие, и закрытие «в 23:50» по OnTick может случиться в 23:56, а если котировки встали, то не случиться вовсе, и позиция уедет через выходные. Вот там таймер нужен.

Про скорость: таймер раз в секунду на M15 это 900 лишних вызовов на каждый бар. Если задача терпит, ставь EventSetTimer(30) или реже, в тестере разница будет заметная.
y.bogdanovс 02.2024
Исследователь
9сообщений
#4
С закрытием перед выходными согласен, это другая задача. Я про его вход.
tolik.novikovс 09.2023
Исследователь
7сообщений
Автор темы#5
Вернул вход в OnTick, в таймер вынес только пятничное закрытие. А если связь пропадёт минут на десять, OnTick потом догонит пропущенный бар?
Вадикс 11.2023
Исследователь
8сообщений
#6
Не догонит. Первый тик после обрыва покажет новый бар, проверишь только последнюю закрытую свечу. Время последнего обработанного бара храни.
Продолжить обсуждение

Для ответа войдите в свой аккаунт.

Войти
← Предыдущая темаСледующая тема →