Шел 2015 год, все торгующие на MQL5 ждали когда же разработчики исправят баг с дикими спредами.
Итого прошло почти 2 года (1 год 10 месяцев 11 дней) и...... а проблема то не решена, ну ладно говорят обещанного 3 года ждут. Делать то особо нечего, ждем, надеемся, верим, что про нас простых смертных пользователей разработчики не забыли.
все плюсы МТ5 из-за этого теряются и в итоге проще работать на других платформах где нет других багов присущих МТ5, ну а то что тестирование в МТ5 на ФОРТС не пашет как надо, так его и на других платформах нет :) хотя вру, на какой то платформе под С# есть вроде...
Люди знающие, подскажите пожалуйста! Сварганил я робота скальпера для фьючерса MES на CME, сейчас тестирую и вот проблема с которой я столкнулся - это не соответствие результатов торговли в реал-тайме и тестере:
за прошлую неделю торговли в реал-тайме на демо-счету на VPS вот такая картинка:
в тестере, с учетом высчитанной задержки (т.к. на VPS работал и была задержка из-за оверхеда) за тот же самый период и с такими же настройками:
вот что получилось с идеальным исполнением - без задержек:
сразу бросается в глаза то, что в тестере к-во сделок значительно меньше чем в реал-тайме.
Качество моделирования показывает 100%, везде в тестировании учтена комиссия и тот же самый счет (у брокера AMP) что и в реал-тайме
вопрос, из-за чего могут быть такие расхождения?
- из-за некачественного кода (я относительно новичок)
- некачественная история брокера изначально
- или в самом тестере дело
?
и можно ли как-то улучшить качество тестирования?
п.с. у советника вход и выход (по тп) лимитными ордерами и выход по рынку по отдельным сигналам и стопу так что проскальзывание должно быть минимальным. К тому же юзал библиотеку fxsaber'а по расчету проскальзывания - разница там в 40-50$ при положительном проскальзывании в тестере.
Какая модель построения используется в тестере (все тики, контрольные точки, по ценам открытия)? Если не "все тики", это может быть причиной.
Если "все тики", принтуйте сигнал и смотрите, что пишет в тех местах, где должны быть сделки. Есть сигнал? Нет сигнала, принтуйте ранее. Ищите причину. Мы не видим кода.
Какая модель построения используется в тестере (все тики, контрольные точки, по ценам открытия)? Если не "все тики", это может быть причиной.
Если "все тики", принтуйте сигнал и смотрите, что пишет в тех местах, где должны быть сделки. Есть сигнал? Нет сигнала, принтуйте ранее. Ищите причину. Мы не видим кода.
Каждый тик на основе реальных тиков. Робот скальпер - анализирует каждый тик. Поэтому другие режимы нет смысла использовать.
Люди знающие, подскажите пожалуйста! Сварганил я робота скальпера для фьючерса MES на CME, сейчас тестирую и вот проблема с которой я столкнулся - это не соответствие результатов торговли в реал-тайме и тестере:
Разница между реал-таймом и тестером заключается в следующем: В реал-тайме в событии OnTick тики могут приходить пачками. В тестере событие OnTick обрабатывает историю тик за тиком без пропусков. Поэтому, в один и тот же момент времени, может наблюдаться расхождение котировок между реал-таймом и тестером. У меня тоже была данная проблема.
Разница между реал-таймом и тестером заключается в следующем: В реал-тайме в событии OnTick тики могут приходить пачками. В тестере событие OnTick обрабатывает историю тик за тиком без пропусков. Поэтому, в один и тот же момент времени, может наблюдаться расхождение котировок между реал-таймом и тестером. У меня тоже была данная проблема.
Спасибо за пояснение. Вы сказали что была проблема. Вы ее как-то решили? Или просто перешли на больший ТФ?
Спасибо за пояснение. Вы сказали что была проблема. Вы ее как-то решили? Или просто перешли на больший ТФ?
От изменения тайм-фрейма проблема не уходит. На реал-тайме для обработки котировок я использую событие OnBookEvent или OnTimer, в зависимости от алгоритма. Если использую OnTimer, то запуск таймера синхронизирую с временем начала торгов. В обоих случаях результаты реал-тайма и тестера совпадают с небольшой погрешностью. Но опять же всё зависит от алгоритма обработки котировок.
Если вышеописанными способами не удавалось получить удовлетворительное бэк-тестирование, то приходилось собирать котировки в реал-тайме и затем подавать их в свой бэк-тестер.
Шел 2015 год, все торгующие на MQL5 ждали когда же разработчики исправят баг с дикими спредами.
мдяяя, печально, тоже столкнулся со сделками "в воздухе" на тестах ...
Возможно Вы про демо говорите?
На реале сейчас ситуация поменялась, спред в истории = 1 тик.
Люди знающие, подскажите пожалуйста! Сварганил я робота скальпера для фьючерса MES на CME, сейчас тестирую и вот проблема с которой я столкнулся - это не соответствие результатов торговли в реал-тайме и тестере:
за прошлую неделю торговли в реал-тайме на демо-счету на VPS вот такая картинка:
в тестере, с учетом высчитанной задержки (т.к. на VPS работал и была задержка из-за оверхеда) за тот же самый период и с такими же настройками:
вот что получилось с идеальным исполнением - без задержек:
сразу бросается в глаза то, что в тестере к-во сделок значительно меньше чем в реал-тайме.
Качество моделирования показывает 100%, везде в тестировании учтена комиссия и тот же самый счет (у брокера AMP) что и в реал-тайме
вопрос, из-за чего могут быть такие расхождения?
- из-за некачественного кода (я относительно новичок)
- некачественная история брокера изначально
- или в самом тестере дело
?
и можно ли как-то улучшить качество тестирования?
п.с. у советника вход и выход (по тп) лимитными ордерами и выход по рынку по отдельным сигналам и стопу так что проскальзывание должно быть минимальным. К тому же юзал библиотеку fxsaber'а по расчету проскальзывания - разница там в 40-50$ при положительном проскальзывании в тестере.
Какая модель построения используется в тестере (все тики, контрольные точки, по ценам открытия)? Если не "все тики", это может быть причиной.
Если "все тики", принтуйте сигнал и смотрите, что пишет в тех местах, где должны быть сделки. Есть сигнал? Нет сигнала, принтуйте ранее. Ищите причину. Мы не видим кода.Какая модель построения используется в тестере (все тики, контрольные точки, по ценам открытия)? Если не "все тики", это может быть причиной.
Если "все тики", принтуйте сигнал и смотрите, что пишет в тех местах, где должны быть сделки. Есть сигнал? Нет сигнала, принтуйте ранее. Ищите причину. Мы не видим кода.Каждый тик на основе реальных тиков. Робот скальпер - анализирует каждый тик. Поэтому другие режимы нет смысла использовать.
Каждый тик на основе реальных тиков. Робот скальпер - анализирует каждый тик. Поэтому другие режимы нет смысла использовать.
Не все тики легли в историю.
Люди знающие, подскажите пожалуйста! Сварганил я робота скальпера для фьючерса MES на CME, сейчас тестирую и вот проблема с которой я столкнулся - это не соответствие результатов торговли в реал-тайме и тестере:
Разница между реал-таймом и тестером заключается в следующем:
В реал-тайме в событии OnTick тики могут приходить пачками.
В тестере событие OnTick обрабатывает историю тик за тиком без пропусков.
Поэтому, в один и тот же момент времени, может наблюдаться расхождение котировок между реал-таймом и тестером.
У меня тоже была данная проблема.
Разница между реал-таймом и тестером заключается в следующем:
В реал-тайме в событии OnTick тики могут приходить пачками.
В тестере событие OnTick обрабатывает историю тик за тиком без пропусков.
Поэтому, в один и тот же момент времени, может наблюдаться расхождение котировок между реал-таймом и тестером.
У меня тоже была данная проблема.
Спасибо за пояснение. Вы сказали что была проблема. Вы ее как-то решили? Или просто перешли на больший ТФ?
Спасибо за пояснение. Вы сказали что была проблема. Вы ее как-то решили? Или просто перешли на больший ТФ?
От изменения тайм-фрейма проблема не уходит.
На реал-тайме для обработки котировок я использую событие OnBookEvent или OnTimer, в зависимости от алгоритма.
Если использую OnTimer, то запуск таймера синхронизирую с временем начала торгов.
В обоих случаях результаты реал-тайма и тестера совпадают с небольшой погрешностью.
Но опять же всё зависит от алгоритма обработки котировок.
Если вышеописанными способами не удавалось получить удовлетворительное бэк-тестирование,
то приходилось собирать котировки в реал-тайме и затем подавать их в свой бэк-тестер.