Автоматический трейдинг: Тестирование торговых систем на платформе MTBankFX

Запуск торгового робота в LIVE режиме предполагает предварительное тестирование этого робота – проверку его работоспособности на истории. Однако одной проверки будет недостаточно, необходимо более глубокое изучение поведения вашего робота и поиск оптимальных его параметров. Этот процесс называется оптимизацией. Оптимизации мы посвятим отдельный материал, а пока узнаем, как проверяется работоспособность робота – с помощью тестирования.

Два варианта тестирования робота

На этапе создания своего робота в конструкторе VisualJForex трейдер может проверять работоспособность отдельных фрагментов системы во встроенном в VisualJForex процессоре стратегий.

Такой подход позволяет заранее найти «баги», так называемые неточности, или «жучки», в работе робота.

1. Тест робота во встроенном процессоре стратегий–отладка робота на этапе его создания

На этапе написания робота прямо в VisualJForex пользователь может запускать процессор стратегий. Для его запуска необходимо предварительно завести демо-счет на сайте Dukascopy по адресуhttps://www.dukascopy.com/swiss/russian/forex/demo_fx_account/. Логин и пароль к этому демо-счету, присланные на почту, станут логином и паролем для запуска процессора стратегий.

Далее, имя составленного в конструкторе робота, необходимо его откомпилировать: меню – Compiler – Build.

После этого возможен запуск процессора стратегий.

Рис. 1. Запуск процессора стратегий.

Рис. 2. Скачиваем файл процессора стратегий.

Рис. 3. Запускаем загруженный файл для запуска процессора стратегий.

Рис. 4. В ходе запуска процессора стратегий появится следующее окно, где необходимо поставить галочку и нажать «Run».

Рис. 5. Ввод логина и пароля.

Рис. 6. Значок в панели «Пуск» свидетельствует об успешном запуске процессора стратегий.

Рис. 7. Далее выбираем исторический тест – Historical.

Рис. 8. Окно тестирования указываем в графе Range. Например, последний месяц – LastMonth.

Рис. 9. Проверяем настройки робота и запускаем – Run.

Рис. 10. Такой знак в правом верхнем углу экрана обозначает подготовку к самому тесту – идет загрузка данных.

Рис. 11. Тест начат.

В окне видим движение котировок. Их скорость можно задавать во время теста – от 1 до 6-ти. Также возможно поставить тест на паузу либо прекратить вовсе.

На фоне также видны подсвеченные красным блоки в VisualJForex. Так подсвечиваются активные блоки, задействованные сейчас в стратегии.

Рис. 12. Выбор точки останова – Breakpoint.

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

Рис. 13. Результат теста.

После окончания или остановки теста система выдает результат.

Вывод

Тестирование в процессоре стратегий позволяет пользователю проводить первичное тестирование робота на этапе его создания.

Такой способ не годится для более тщательного тестирования на больших временных окнах.

Чтобы провести более глубокий тест в более ускоренном режиме и на более широком окне тестирования, необходимо воспользоваться «Историческим тестером», встроенным в платформуMTBankFX.

2. Тест робота во встроенном в платформу «Историческом тестере»

Данный способ является более совершенным и отвечающим высоким требованиям тестирования.

Например, в историческом тестере платформы можно провести тест за любой временной отрезок, начиная с 2003-2004-х годов – это время, с которого собирается история котировок.

Особого упоминания заслуживает качество котировок – вся история построена на тиках, и это с 2003 года! Это значит, что трейдер получает высочайшее качество тестирования, если запускает тест в режиме «Обрабатывать все тики».

Рис. 14. Запуск встроенного исторического тестера.

Итак, для тестирования нужен сам робот. Условимся, что он уже создан. Для первого теста запускаем сам тестер и открываем файл робота.

Чтобы файл робота появился в платформе, необходимо выполнить шаги, описанные в статье «Автоматический трейдинг: Как запустить робота на платформе MTBankFX».

Рис. 15. Открываем файл робота в историческом тестере.

Проведем тест в режиме визуализации. Это значит, что мы будем видеть, как робот совершает сделки на исторических котировках, открываемых с течением времени прямо у нас на глазах.

Рис. 16. Выбор режима визуализации.

В настройках счета укажем величину аккаунта, плечо и т.д. по своему усмотрению.

Рис. 17. Настройки счета.

В настройках инструментов выберем только пару EUR/USD.

Рис. 18. Выбор инструментов для тестирования.

Собственно в настройках тестирования задаются очень важные параметры. Например: таймфрейм графика, на котором проходит тестирование в визуальном режиме (во время теста его переключить нельзя), отображение кривой баланса, шаблон графика (индикаторы можно добавить прямо во время теста, поставив его на паузу), папка для сохраненных отчетов.

Настоятельно рекомендуем сохранять отчеты, они являются основными данными для анализа результативности роботов.

Рис. 19. Настройки исторического теста.

Далее выбираем окно тестирования. Его можно выбрать как из списка, так и задать вручную (custom). Выбираем предыдущий месяц (previous month).

Рис. 20. Выбор окна тестирования. Previousmonth–предыдущий месяц.

Качество тестирования задается далее. «Тики – Обрабатывать все тики» - это наивысшее качество, рекомендованное к тестам.

Рис. 21. Задать качество тестирования.

Всё готово к запуску, нажимаем  и проверяем настройки робота. После чего жмем «Запустить».

Рис. 22. Запуск робота.

Теперь в визуальном режиме мы наблюдаем, как робот исполняет заданную логику. Подобные тесты позволяют найти ошибки либо в торговой логике, либо в исполнении робота, после чего необходимо вернуться в VisualJForexи исправить их.

Пока идет тест, можно регулировать его скорость или поставить на паузу.

Рис. 23. Выбор скорости теста и пауза.

По окончании теста генерируется отчет и открывается в браузере.

Рис. 24. Вид отчета в браузере.

В самой платформе также можно видеть исторические сделки и кривую доходности.

Рис. 25. Результаты теста в визуальном режиме. Баланс и сделки.

Выводы

Таким образом, для отладки и тестирования робота существуют все необходимые инструменты.

Встроенный в VisualJForexпроцессор стратегий позволяет дорабатывать робот перед серьезным тестом.

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

ЗАО "МТБанк" использует на сайте файлы cookie для персонализации сервисов и удобства пользователей.
Узнайте больше о том, как мы используем cookie и как вы можете изменить свои настройки

chat