Как провести бэктестинг с тиковыми данными в терминале MetaTrader?

Скажем, у меня есть советник, который работает на основе информации об уровне тиков ( Bid, Ask ). Есть ли способ протестировать его на истории с информацией об уровне тиков в тестере стратегий терминала MetaTrader?

Есть две проблемы:

а. кажется, что MetaTrader поддерживает только 1-минутные графики, а данные тикового уровня повторно моделируются (неточно)

б. где я могу получить данные об уровне тиков?

Если ответ для MetaTrader отрицательный, есть ли другой способ протестировать его на истории (бесплатно лучше, но платные решения в порядке) с информацией об уровне тиков?


person william007    schedule 21.05.2017    source источник


Ответы (4)


б) Тиковые данные - от Ducascopy и LMAX
а) вставка тиковых данных в МТ4 - набор тиковых данных (платная версия), но, возможно, вам удастся написать свое решение

person Daniel Kniaz    schedule 21.05.2017

Ответ на б) определяет весь смысл проведения любого BackTest:

Почему? Поскольку экосистема провайдера доступа к рынку (Брокера), в т.ч. Возможности их соответствующих Поставщиков ликвидности отражают ту самую среду, в которой проверенная на истории торговая модель должна выжить в реальной торговле.

Таким образом, попытка протестировать торговую модель на тиковых данных от Брокера-X не имеет смысла, если вы планируете торговать реальными активами в реальном времени у Брокера-Y. Несоблюдение этого требования может стать последней ошибкой.

Профессиональный Брокер может предоставить тиковые данные с сайта или по запросу.

Профессиональный трейдер регулярно собирает тиковые данные для достоверной проверки любой модели на исторических данных. Это косвенно отвечает на вопрос a), так как таким образом можно сравнивать синтетические тики с записанным потоком реальных тиков и интегрировать это в код эксперта.

person user3666197    schedule 21.05.2017
comment
Большинство настоящих форекс-брокеров DMA (всего около 1-2 пригоршней из моего подсчета) имеют очень идентичные спреды с их единой подачей агрегации цен. TrueFx от Integral, и спреды довольно показательны. Darwinex использует Saxo + LMAX (через TDSv2). Конечно, вы можете сами собирать галочки, но это займет некоторое время. И вы, скорее всего, увидите 99% корреляцию с TrueFx/Darwinex. Dukas расширил свои так называемые спреды ECN за 1,5 года. Что, я думаю, все же лучше, чем начинать с нуля. - person Jon Grah; 03.11.2019

Используя MT4, вы можете выбрать тиковую историю или набор тиковых данных. Оба загружают тиковые данные и создают новые файлы данных истории.

В качестве альтернативы вы разрабатываете кросс-совместимые советники для работы на MT5. MT5 имеет встроенную поддержку реальных тиковых данных.

Как уже говорили другие, лучше всего иметь тиковые данные от брокера и на той же платформе, на которой вы хотите работать, но это сложно с использованием платформы MT4.

person rgunning    schedule 22.05.2017

Импорт тиковых данных в mt4

Это правда, что mt4 изначально поддерживает импорт данных только за 1 минуту, имитирует тики и сохраняет эти тики в файле fxt. Tick Data Suite v2 и TickStory — это готовые решения. По сути, они внедряются в mt4, чтобы вы могли запускать собственные файлы fxt, поэтому вы сохраняете свои собственные данные тиков, конвертируете их самостоятельно и «импортируете» их через файл fxt.

TDS v1 был всеобъемлющим для своего времени, но утомительным, потому что вам приходилось перезапускать сценарий CSV2FXT каждый раз, когда вы хотели использовать обновленные данные. У меня было несколько отдельных терминалов для файлов FXT с шагом в 2 года, так что мне не приходилось переделывать всю базу данных (только за последний год), но это была рутинная работа. v2 упростил весь процесс (сжатая база данных тиков + распаковка «на лету» + вставка тиков в fxt + параметры автоматического обновления базы данных тиков + ваши собственные); вам повезло, теперь вы просто ставите галочку «использовать тиковые данные» и ждете около 40 секунд при первом использовании необновленного символа, и ваш тест начинается. Есть некоторые дополнительные функции, такие как

То же самое с TickStory, который был бесплатным, поэтому было еще сложнее получить последовательную настройку (для масштабирования по нескольким символам).

Где взять тиковые данные:

Обычно вы должны использовать DukasCopy** Darwinex, чтобы получить довольно хорошее представление о том, как он будет работать с данными на уровне тиков. Он бесплатный, точный, с большим диапазоном символов и обновляется с задержкой около 4-6 часов по сравнению с реальным временем. Совсем недавно TrueFX начала выпускать собственную базу данных тиков, обновляемую ежемесячно.

Никто не упомянул советника-сборщика тиков (от GeekTrader), который будет собирать и хранить тики в формате csv. Mt4 обычно составляет 1/2 от количества собираемых тиков, если в обзоре рынка есть 2 или более символа. Поэтому для максимальной точности ограничьте сбор до одного символа на терминал (убедитесь, что обзор рынка показывает только один терминал). Звучит как много работы. Гораздо проще, если брокер сделает это на своей стороне, а затем позволит вам загрузить его позже, когда вам будет удобно.

MT5 имеет собственный сбор тиков для каждого брокера (брокер сам определяет, какую историю разрешить, но компромисс заключается в том, что вы не можете импортировать свои собственные данные в mt5 (вы можете экспорт mt5 >> mt4 :), а mt5 еще не так популярен.


Побочный комментарий: я считаю, что mt5 в конечном итоге может стать более популярным по двум причинам: 1) MQ позволяет запускать ex4 или mql4, эмулированные в mt5, со 100% совместимостью. 2) Люди очень медленно переносят свой код mql4 на mql5

** Dukascopy недавно увеличила свои спреды по сравнению с TrueFx или Darwinex. Это не означает, что вы не можете использовать их для тестирования.

Это означает, что вы должны протестировать 2-3 разных «настоящих» провайдеров ценообразования DMA, чтобы увидеть, есть ли значительные изменения в точках входа/выхода. и если разница имеет рациональное объяснение по отношению к вашей стратегии.

person Jon Grah    schedule 22.09.2017