Вы создали торговую систему (разработали индикаторную стратегию, придумали интересный алгоритм, нашли в интернете советник и интересуетесь его результативностью). Вопрос: что дальше? Запускать ее на демо-счете — не выход, времени уйдет несколько дней, а результат может оказаться удручающим. И здесь многие начинающие трейдеры делают классическую ошибку: они запускают тестирование торговых систем на прошлом периоде, например, за последние 5 лет, что является прямой «подгонкой советника под историю». Такой робот на реальном счете работать не будет. О том, что такое тестирование и оптимизация, какие существуют методы оптимизации, читайте дальше.
Тестирование торговых систем
Для тестирования торговых систем в МТ4 предусмотрен классический тестер, который позволяет прогнать советник по историческому периоду. В общих чертах алгоритм работы с ним следующий:
- Загружаем архив котировок по валютной паре. Мультитестирование в МТ4 не предусмотрено, потому для каждого инструмента процедуру придется повторять заново. От качества котировок будет зависеть результат. Можно скачать их с сайта MetaQuotes, можно использовать котировки брокера.
- Выставляем настройки (спред, своп, комиссии, направления сделок, сумму депозита, стопы и т.д.). Все это есть в «Свойствах эксперта». Указываем временной отрезок.
- Ставим тип тестирования. Самым точным, но самым долгим является тестирование «Все тики», которое учитывает каждое колебание цены внутри бара. Тестирование по контрольным точкам — лишний пункт, который даже в МТ5 уже исключен. По ценам открытия — самый быстрый вариант.
Жмем «Старт». Тестирование торговой системы пошло. Более подробно каждый этап мы можем рассказать в следующих обзорах, если читателям будет интересно. Заинтересовались? Напишите об этом в комментариях вместе с вашими вопросами.
Тестер МТ4 также позволяет протестировать и индикаторы. Но в этом режиме нет возможности открытия ордеров, а значит, и анализа статистики. Во время тестирования советника трейдер может остановить тестирование и оценить открытие/закрытие сделки, при тестировании индикатора, он может только лишь визуально наблюдать за графиком.
Оптимизация — это поиск наилучшего варианта, подходящего под заданные критерии, путем перебора всех комбинаций. Оптимизировать торговую систему можно двумя способами:
- Менять алгоритм самой системы. То есть менять условия открытия сделок, добавлять новые индикаторы и т.д.
- Менять параметры внутри системы: изменять объем лота, длину стопа и т.д.
Тестер МТ4 позволяет автоматически прогнать на любом временном интервале все существующие комбинации в зависимости от того, по какому параметру проходит оптимизация. Что нужно:
- После тестирования торговой системы поставить галочку «Оптимизация».
- Зайти в «Свойства эксперта» и во вкладке «Оптимизация» установить вводные данные: оптимизируемый параметр, шаг, начальное и конечное значение параметра и т.д.
Можно оптимизировать советник одновременно по нескольким параметрам, но это увеличивает количество возможных комбинаций, а следовательно, время и нагрузку на МТ4. Эксперты советуют разбить оптимизирующиеся параметры на группы по степени важности, а также увеличить шаг. Ведь какая разница, будет ли стоп установлен на расстоянии 13 или 14 пунктов, увеличение шага с 1 до 3 или 5 упростит работу тестера.
Методы оптимизации:
- Временной участок делится на 2 равные части. Оптимизация проводится одновременно на обоих участках. Тот набор параметров, при котором результаты удачные на обоих участках и где они относительно похожи (то есть нет расхождений), считается подходящим для запуска на демо-счете.
- Временной участок делится на три равные части. На первом, более раннем, проводится тестирование, на втором (среднем) оптимизация, на последнем проверяется результативность лучших комбинаций из итогов оптимизации.
- Участок делится на 3 части. Первые 2 — это участок для оптимизации, последний участок — это поле для форвард-тестирования, где существуют два подхода. Первый подход более быстрый, предусматривает тестирование на нем лучших результатов с предыдущего участка. Второй предусматривает пошаговый сдвиг. Например, основной участок с января 2017 по апрель 2018 года, форвардный участок — с апреля 2018 года по сегодняшний день. Пошаговый сдвиг означает оптимизацию лучших результатов на участке со сдвигом, например, 2 месяца. То есть с марта 2017 по июнь 2018, затем с мая 2017 по август 2018 года. И так до конца периода. Если результаты от смены дат не меняются, советник оптимизирован.
После того, как лучший набор параметров найден (это может быть несколько комбинаций), советник тестируется на другом инструменте и запускается на демо-счете. Тестирование торговых систем занимает от нескольких часов до нескольких дней. Потому есть ли смысл тратить время или же заняться ручным тестированием? Ждем ваши мысли по этому поводу в комментариях!