Обзор тестера стратегий МТ4. Часть 6 (Проблемы оптимизации и тестирования. Советы по оптимизации)

·

·

4 мин.

Оптимизация в МТ4

В заключительной части мы остановимся на проблемах оптимизации советников в МТ4. А их много. В прошлом обзоре вы наверняка заметили, что некоторые функции оптимизации тестера работают некорректно. Например, отсутствует возможность добавления собственного ключевого критерия, под который подгоняется система.

Другая проблема — отсутствие дублирующих настроек. Например, в FxBlue одни и те же настройки можно/нужно выставить порой в 2-х и более местах. На первый взгляд, это кажется лишним, пока не сталкиваешься с тестером МТ4. После запуска оптимизации отчет оказывается пустым только потому, что где-то в какой-то 10-й вкладке 2-го окна некорректно поставлена галочка или указан параметр, противоречащий параметру в 5-м окне 3-й вкладки. Пример образный, но по журналу определить ошибку удается далеко не всегда, и приходится трейдеру заново пересматривать все настройки, пытаясь найти нестыковку.

Проблемы оптимизации в МТ4

В общих чертах проблемы оптимизации в МТ4 были рассмотрены в этом обзоре и некоторые из них имел бы смысл раскрыть детальнее.

  1. Работа только с In-Sample выборкой. Как сказано в обзоре по указанной выше ссылке, правильным будет оптимизация вне выборки (Out-of-Sample). In-Sample — это метод прогонки советника только по отдельно взятым данным выбранного интервала, на котором происходит подгонка эквити и математического ожидания к желаемым параметрам. Логично, что в рабочем режиме советник показывает далекие от теста результаты.

Метод Out-of-Sample (что-то вроде описанного в прошлой части форвардного тестирования) предусматривает следующие действия:

  • Интервал для тестирования равен нескольким годам. Не менее 5-ти лет. Одна из ошибок начинающих трейдеров — желание сэкономить время. Им кажется достаточным для выборки 200-300 сделок, потому в настройках указывается интервал 1-2 года.
  • Интервал делится на 3 отрезка. Первые 2 отрезка — это участки, на которых будет проходить оптимизация в МТ4 — будут подгоняться параметры под требуемый результат.
  • После того, как на обоих участках получены сравнительно одинаковые оптимальные результаты, система прогоняется на 3-м участке. Если бектест сильно отличается от того, который был получен на предыдущих участках, система признается нерабочей.

В МТ4 метод Out-of-Sample недоступен, но на сайте MQL (разработчики МТ) есть библиотека Walk-Forward Optimization (WFO) и Walk-Forward Reporter, с помощью которых можно пройти пошаговое форвардное тестирование. Там же можно найти и инструкцию по работе с этими надстройками. Нужна будет помощь по их поиску на MQL — пишите в комментариях.

Тестер-МТ4-19

Это пример картинки, описывающий принцип работы указанных выше библиотеки и скрипта, взятый с сайта.

  1. Цикличность и нестабильность рынка. Несмотря на то, что рынок цикличен, длительность и амплитуда волн разная, потому подстройка вод волновую теорию Эллиотта не имеет смысла (хотя в качестве вспомогательного инструмента ее использовать можно). Есть рекомендация: не делать ставку на то, что оптимизация в МТ4 позволит создать идеальную программу, работающую на всех участках рынка. Вариантов выхода из положения три:
  • Принять во внимание, что после оптимизации в МТ4 на реальном счете результат будет хуже. То есть заложить это в риски.
  • Пожертвовать прибылью. Установить универсальные параметры, которые будут стабильно результативны на всех участках. Логично, что о максимально возможной прибыли речь идти не будет. Цель — как минимум избежать убытка.
  • Разбить интервал на участки — флет, разные сессии, начало и конец дня, фундаментальные всплески. На каждом участке прогнать советник. Где он будет наиболее эффективен, там его и запускать.
  1. Торговые издержки. Комиссия брокера — величина чаще всего плавающая и в оптимизации МТ4 почти не учитывается. Спред можно указать вручную, но как быть со свопами? И как быть с ситуацией, когда на волатильном рынке спреды резко расширяются, порой цепляя стопы? При таком раскладе система, оптимизированная в тепличных условиях, моментально даст сбой. Также сюда стоит добавить и проскальзывания. Увы, решения этого вопроса нет (если вы его знаете, поделитесь в комментариях!). Или же использовать счета с фиксированным спредом.
  2. Устойчивость советника к изменению настроек. Советник, прошедший оптимизацию, далеко не факт, что готов к запуску на реальном рынке. Хотя настройки подобраны оптимально, этого мало. Если при незначительном изменении настроек (например, с 10 на 8) статистика бектеста резко меняется в худшую сторону, советник запускать нельзя.

К другим проблемам стоит отнести действия маркетмейкеров, которые в любой момент могут внести свои коррективы в направление движения цены, качество котировок, подгружаемых в тестер.

Об остальных факторах уже было сказано в обзоре по ссылке выше.

Рекомендации по оптимизации роботов в МТ4:

  • Временной интервал — не менее 5-ти лет. Для систем, работающих с минутными (короткими интервалами) достаточно года.
  • Не пытайтесь оптимизировать советник одновременно под несколько параметров (например, получить максимальную прибыль при минимальной просадке). Чем-то придется пожертвовать. На реальном счете искусственно подогнанные системы не работают.
  • Ставьте шаг изменения параметра относительно крупным. На отдельных участках его можно будет позже уменьшить. Это сэкономит время.
  • Не ставьте оптимизацию в МТ4 целью, все равно периодически советник нужно будет заново корректировать. Зачем тратить лишнее время?

Работа с тестированием и оптимизацией — рутинная работа, требующая терпения и знаний. Ручные стратегии кажутся более простыми, но кто сказал, что трейдинг на Форексе — легкое занятие? Если кто-то зарабатывает, кто-то теряет. И успеха добивается именно тот, кто настойчивее, быстрее и лучше! Если у вас есть дополнения по оптимизации в МТ4, приглашаем обсудить в комментариях!

Рубрики:

Теги: