Тестирование и оптимизация советников

·

·

3 мин.

тестирование торговых систем

Вы создали торговую систему (разработали индикаторную стратегию, придумали интересный алгоритм, нашли в интернете советник и интересуетесь его результативностью). Вопрос: что дальше? Запускать ее на демо-счете — не выход, времени уйдет несколько дней, а результат может оказаться удручающим. И здесь многие начинающие трейдеры делают классическую ошибку: они запускают тестирование торговых систем на прошлом периоде, например, за последние 5 лет, что является прямой «подгонкой советника под историю». Такой робот на реальном счете работать не будет. О том, что такое тестирование и оптимизация, какие существуют методы оптимизации, читайте дальше.

Тестирование торговых систем

Для тестирования торговых систем в МТ4 предусмотрен классический тестер, который позволяет прогнать советник по историческому периоду. В общих чертах алгоритм работы с ним следующий:

  • Загружаем архив котировок по валютной паре. Мультитестирование в МТ4 не предусмотрено, потому для каждого инструмента процедуру придется повторять заново. От качества котировок будет зависеть результат. Можно скачать их с сайта MetaQuotes, можно использовать котировки брокера.
  • Выставляем настройки (спред, своп, комиссии, направления сделок, сумму депозита, стопы и т.д.). Все это есть в «Свойствах эксперта». Указываем временной отрезок.
  • Ставим тип тестирования. Самым точным, но самым долгим является тестирование «Все тики», которое учитывает каждое колебание цены внутри бара. Тестирование по контрольным точкам — лишний пункт, который даже в МТ5 уже исключен. По ценам открытия — самый быстрый вариант.

Жмем «Старт». Тестирование торговой системы пошло. Более подробно каждый этап мы можем рассказать в следующих обзорах, если читателям будет интересно. Заинтересовались? Напишите об этом в комментариях вместе с вашими вопросами.

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

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

  • Менять алгоритм самой системы. То есть менять условия открытия сделок, добавлять новые индикаторы и т.д.
  • Менять параметры внутри системы: изменять объем лота, длину стопа и т.д.

Тестер МТ4 позволяет автоматически прогнать на любом временном интервале все существующие комбинации в зависимости от того, по какому параметру проходит оптимизация. Что нужно:

  • После тестирования торговой системы поставить галочку «Оптимизация».
  • Зайти в «Свойства эксперта» и во вкладке «Оптимизация» установить вводные данные: оптимизируемый параметр, шаг, начальное и конечное значение параметра и т.д.

Можно оптимизировать советник одновременно по нескольким параметрам, но это увеличивает количество возможных комбинаций, а следовательно, время и нагрузку на МТ4. Эксперты советуют разбить оптимизирующиеся параметры на группы по степени важности, а также увеличить шаг. Ведь какая разница, будет ли стоп установлен на расстоянии 13 или 14 пунктов, увеличение шага с 1 до 3 или 5 упростит работу тестера.

Методы оптимизации:

  • Временной участок делится на 2 равные части. Оптимизация проводится одновременно на обоих участках. Тот набор параметров, при котором результаты удачные на обоих участках и где они относительно похожи (то есть нет расхождений), считается подходящим для запуска на демо-счете.
  • Временной участок делится на три равные части. На первом, более раннем, проводится тестирование, на втором (среднем) оптимизация, на последнем проверяется результативность лучших комбинаций из итогов оптимизации.
  • Участок делится на 3 части. Первые 2 — это участок для оптимизации, последний участок — это поле для форвард-тестирования, где существуют два подхода. Первый подход более быстрый, предусматривает тестирование на нем лучших результатов с предыдущего участка. Второй предусматривает пошаговый сдвиг. Например, основной участок с января 2017 по апрель 2018 года, форвардный участок — с апреля 2018 года по сегодняшний день. Пошаговый сдвиг означает оптимизацию лучших результатов на участке со сдвигом, например, 2 месяца. То есть с марта 2017 по июнь 2018, затем с мая 2017 по август 2018 года. И так до конца периода. Если результаты от смены дат не меняются, советник оптимизирован.

После того, как лучший набор параметров найден (это может быть несколько комбинаций), советник тестируется на другом инструменте и запускается на демо-счете. Тестирование торговых систем занимает от нескольких часов до нескольких дней. Потому есть ли смысл тратить время или же заняться ручным тестированием? Ждем ваши мысли по этому поводу в комментариях!

Рубрики:

Теги: