Как правильно оптимизировать советников в тестере стратегий терминала МетаТрейдер 4? Зачем вообще нужна оптимизация, и что это такое - оптимизация параметров советников для достижения прибыльной торговли валютой на Форекс? Ответы на эти и другие вопросы Вы сможете узнать, прочитав данный материал.
Тестер стратегий торгового терминала MetaTrader 4 имеет две важные функции. Это, непосредственно, тестирование советников и их оптимизация, суть которой заключается в подборе наиболее оптимальных параметров советников. Обычно трейдер оптимизирует (совершенствует) входные параметры роботов для того, чтобы сделать его максимально прибыльным при минимальных рисках.
Процесс оптимизации советника представляет собой его множественное тестирование с различными входными параметрами в автоматическом режиме программой МетаТрейдер 4. При этом, простая оптимизация - это ничто иное, как подгонка параметров эксперта под историю, то есть под условия рынка и движение цены, которые были в прошлом. Если прооптимизировать робота - советника на истории и сразу же поставить его торговать, радуясь, что результаты оптимизации были "красивыми", надеяться на такие же результаты торговли советника в реальном режиме не стоит. Ведь, по сути, была проведена не настоящая оптимизация, а ПОДГОН параметров.
Правильная и качественная оптимизация советника, которая называется форвард - тестом, включает в себя два этапа. На первом этапе советник оптимизируется (правильнее - подгоняется) на некотором историческом отрезке, который называется тестовый (исторический) период. Результаты подгонки представляются в таблице в виде входных параметров эксперта. С наиболее удачными параметрами робота запускают торговать на новом временном отрезке, где он не подгонялся, и не знает, как себя вести. Такой отрезок называется форвардным периодом. Если и на этом отрезке результаты тестирования (уже не оптимизация!) хорошие, значит, эксперта можно ставить торговать на реальный счёт.
Тестовый и форвардный промежутки для экспертов, работающих на различных тайм-фреймах, отличаются. Для экспертов, тестируемых на периоде:
- - H1: рекомендуемый исторический период - 2 года, форвардный - пол года;
- - M30: 1,5 года и 4 месяца;
- - M15: 1 год и 3 месяца.
Тестировать советники на меньших тайм-фреймах не рекомендуется. Для лучшего понимания тестового и форвардного периодов, рассмотрим их в виде рисунка:
То есть, если сегодня 30 ноября 2011 года, и мы решили прооптимизировать советника на периоде M15, с тестовым промежутком 1 год и форвардным 3 месяца, то конец тестового промежутка у нас будет 30 августа 2011 года, а его начало - 30 августа 2010 года.
Рассмотрим процесс тестирования и оптимизация советников более подробно:
Шаг 1. Настройка тестера. Открываем тестер стратегий через меню торгового терминала, раздел Вид
. Во вкладке Советник
выбираем советника, которого собираемся оптимизировать. Из открывающего списка поля Символ
выбираем необходимую валютную пару. Модель
- По ценам открытия. Далее - период, для которого имеются настройки оптимизации, и устанавливаем исторический промежуток, на котором будет прогоняться советник (чтобы лучше рассмотреть скрин, кликните по нему):
Теперь необходимо закачать архив котировок валют. Пользователи терминала имеют доступ к котировкам с наименьшим периодом 1 минута. Перед тем, как их закачать, настраиваем возможности закачки данных. Для этого в меню терминала в вкладке Сервис
открываем пункт Настройки
. В полях Максимум баров истории
и Максимум баров в окне
ставим предельно допустимые значения.
После этого качаем сами котировки при помощи меню Сервис - Архив котировок - Символы - валютный инструмент - период
.
Стоит заметить, что предлагаемые дилинговыми центрами котировки не позволяют добиться качества моделирования более 90%, причём 90% - это в лучшем случае. Дело в том, что загрузка данных происходит с серверов MetaQuotes, которые зачастую предлагают неполные архивы, в которых отсутствуют котировки за некоторые промежутки времени, вплоть до месяцев. Ниже, на рисунке, выделен красным цветом как раз такой период - идут данные за 10.06.2011, потом следует "провал" в данных аж за 3 месяца, после чего данные архива котировок "появляются" только с 22.09.2011:
Как вы думаете, сможет ли тестер провести качественную оптимизацию советника, если ему просто напросто не с чем работать? Однозначно - нет, поэтому и результаты моделирования в таких случаях составляют даже не 90%, а едва дотягивают до 40%. Однако есть выход из этой ситуации: закачка полных архивов тиковых котировок с сайта дилингового центра DukasCopy, которые позволяют добиться результатов моделирования вплоть до 99%. Как получить архивы и трансформировать их в формат, понятный торговой платформе МетаТрейдер 4, читайте в статье "Качество моделирования 99% в тестере стратегий - реально ли это?".
Шаг 2. Сейчас необходимо загрузить в тестер стратегий оптимизационный файл, если он у Вас есть. Если оптимизационнго файла нет - загружаем файл настроек советника, который копировался в папку с торговым терминалом (это папка на диске С://Programe Files/MetaTrader/experts/presets/ , либо отдельная папка для советника - С://Programe Files/MetaTrader/experts/presets/название_советника/). Для этого нажимаем на кнопку Свойства эксперта
, в открывшемся окне выбираем вкладку Входные параметры
, кликаем Загрузить
и находим файл оптимизируемого советника с расширением .set, с соответствующим валютным инструментом и периодом (тайм-фреймом):
Загружаются первоначальные настройки советника, которые на вкладке "Входные параметры" необходимо изменить. Для этого галочкой отмечаем значения в столбце Переменная
, которые необходимо изменять в процессе оптимизации советника, выставляем начальные, конечные цифры и значения шага в столбцах Старт
, Стоп
и Шаг
, после чего сохраняем оптимизационный файл для советника в папку С://Programe Files/MetaTrader/tester/ - эта папка будет Вам доступна по умолчанию, если нажать кнопку Сохранить
. Если Вы оптимизируете не одного советника, а несколько, то в таком случае рекомендуется в папке /tester/ создавать папку по названию советника и в неё сохранять начальный оптимизационный файл - это поможет избежать путаницы и всегда понять, к какому советнику относится оптимизациооный файл. В название файла оптимизации с раширением .set следует включать имя валютной пары и тайм - фрейм, например, оптимизация_название_советника_eurusd_m15.set
:
После этого переходим на вкладку Тестирование
, устанавливаем размер депозита, позицию (Long или Shot), выбираем оптимизируемый параметр (по умолчанию Balance), и ставим галочку в окошке генетический алгоритм
(Возможно, у Вас возникнет вопрос - Что такое генетический алгоритм? Генетический алгоритм - это "умная" функция перебора параметров, которая заведомо убыточные параметры отбрасывает, в результате чего значительно сокращается количество вариантов перебора и время тестирования). После этого жмём кнопку ОК
.
Шаг 3. Запуск оптимизации советника. Непосредственно перед запуском оптимизации параметров советника ставим галочку в окошечке со словом Оптимизация
. И только после этого можно жать кнопку Старт
. Процесс оптимизации форекс советника на тестовом периоде может занять значительное время - от нескольких минут, до часов и даже до суток: все зависит от количества оптимизируемых параметров каждого конкретного советника.
Шаг 4. По окончанию процесса оптимизации во вкладке График оптимизации
формируется своеобразный график, где более темным цветом выделяются параметры советников, прибыльность которых выше. Даже невооруженным глазом видно, что вариации от 1,7 до 1,75 в порядке возрастания больше подойдут для дальнейшей оптимизации:
Работу с графиком следует совмещать с анализом таблицы Результаты оптимизации
, где наглядно представлены входные параметры. Проверять все параметры подряд и искать самые лучшие - смысла нет, так как многие из них практически идентичны и существенно не отличаются. Да и времени на проверку сотен комбинаций уйдет много. Удобнее отсортировать их по одному из признаков, к примеру, по прибыли, и проверять комбинацию с лучшими результатами. Для этого кликаем правой кнопкой мыши по строке с той комбинацией, где прибыль максимальна, и выбираем Установить входные параметры
.
Открывается окно тестера, где, если нужно, изменяем параметр Модели
. Вместо значения По цене открытия
устанавливаем значение Все тики
, так как результаты теста по всем тикам будут более точными. Но это в первую очередь зависит от того, по какому алгоритму работает советник. Если работа советника построена по Ценам открытия
- тестирование его по Всем тикам
даст неверные результаты! Поэтому, прежде чем оптимизировать советника, Вы должны понимать логику его работы. Снимаем галочку с окошка Оптимизация
и жмём кнопку Старт
для тестирования советника с оптимизированными входными параметрами на тестовом периоде:
Анализ теста проводится на основе вкладок График
и Отчет
. Чем график прибыли более ровный и восходящий, тем входные параметры лучше:
Соответственно, если график представляет собой сильно ломаную линию, при этом не имеет восходящего движения, а наоборот - нисходящее, значит входные параметры не удовлетворительны, и запускать на их основе советника нельзя. Однако помните, если вы проводили тестирование и оптимизацию советника на основе котировок, закаченных с сервиса MetaQuotes, то вполне вероятно, что такой график может быть результатом отсутствия данных за какой-то промежуток времени, поэтому и судить по нему о входных параметрах нельзя:
Во вкладе Отчет
тестера стратегий торговой платформы MetaTrader 4 представляется более удобная для восприятия и анализа информация. Причём, если оптимизация проводилась на котировках, скаченных с MetaQuotes, то результаты будут такими:
А если Вы работали с котировками, скаченными с сервиса DukasCopy, то результаты качественной оптимизации советника (одного и того же) с одинаковыми параметрами, будут выглядеть следующим образом:
Вывод сделать не сложно.
Далее поочередно подставляем различные комбинации входных параметров, сортируя их по разным параметрам. Особое внимание при выборе комбинаций следует уделять таким параметрам, как Количество сделок
(для каждого типа советников разное), Максимальная и минимальная просадка
. При выявлении "красивого" восходящего графика и удачных результатов (хорошая прибыльность, небольшая просадка и т.д.) с тем или иным набором параметров, необходимо протестировать советника на форвардном периоде.
Шаг 5. Тестирование советника на форвардном периоде. Переходим во вкладку тестера Настройки
и вместо промежутка времени исторического периода устанавливаем даты начала (От) и окончания (До) форвардного периода. Форвард-период начинается с конца исторического периода и заканчивается сегодняшним числом. Кнопка Старт
запускает тестирование робота с установленными входными параметрами, полученными на первом этапе оптимизации.
Если тестер показывает хорошие результаты (анализировать по графику и отчету), то установленную комбинацию параметров можно сохранить. Для этого во вкладке Настройки
кликаем кнопку Свойства эксперта
, выходит уже знакомое окошко с входными параметрами, теми, которые показали хороший результат теста. Здесь нажимаем на Сохранить
. Сохранить файл можно в папке с уже имеющимися файлами .set, дав ему такое имя, что бы можно было сразу понять, оптимизационный файл от какого советника, какой валютной пары и какого тайм - фрейма перед Вами:
В ходе тестирования эксперта с различными параметрами хорошие результаты могут выявляться несколько раз, а, следовательно, и сохранять их можно также несколько раз. Файл с самыми удачными настройками будет взят в основу для работы советника.
Шаг 6. Дооптимизация советников. Перед тем, как запустить советника на реальный счёт, рекомендуется его дооптимизировать. Но, внимание - не совершите ошибку! Дооптимизация - это не оптимизация советника на форвардном периоде! Подгонку советника на форвард-тесте следует полностью исключить! Для начала поясним, какой принцип положен в систему дооптимизации советников. Известно, что система считается стабильной в том случае, если небольшое изменение параметров не дестабилизирует её состояние. Ключевая фраза в этом определении - небольшое изменение параметров. Применительно к дооптимизации советников этот принцип должен реализовываться следующим образом: нужно изменить параметры советников в небольших пределах и запустить оптимизацию на форвардном периоде. И если после дооптимизации на форвардном периоде выходные данные (максимальная и минимальная просадка, прибыльность, количество сделок и т. д.) не будут существенно отличаться от тех, которые были получены при тестировании на форвардном периоде, то выбираете лучшие настройки и сохраняете их. Вы проверите правильность оптимизации советника и получите ещё более лучший комплект настроек.
У разных советников дооптимизируются различные параметры, поэтому в рамках данной статьи конкретные параметры, которые должны дооптимизироваться, назвать нельзя. Но привести пример для лучшего понимания материала можно, что мы и сделаем. Например, для данных настроек, которые применялись при оптимизации советника на тестовом периоде, можно дооптимизировать параметр Pips - значение Шаг
поменять с 2 на 1, коэфицент Старт
изменить с 10 на 22, а Стоп
- с 30 на 26:
Все эти настройки делаются очень аккуратно и меняются значения параметров в очень небольших пределах и с небольшими шагами. После дооптимизации советник опять тестируется на форвардном периоде, и, если можно выбрать результаты лучше, чем после оптимизации на тестовом периоде, то полученные настройки окончательно сохраняются в set-файле, который в дальнейшем можно использовать при торговле советником, внимание - вначале на демо - счёте. И уже после того, как советник покажет хорошие результаты работы на демо - счёте, выставляем его для прибыльной торговли на реальных деньгах.
Из всего вышесказанного можно сделать вывод, что только качественная оптимизация советника вместе с его тестированием на историческом и форвардном периоде может обеспечить пусть и не 100-процентную, но высокую вероятность его стабильной работы в реальном режиме. Сложно - скажете Вы? Да, сложно! Но Вы сможете получать прибыль на полном автомате, которая полностью окупит ваше терпение и настойчивость в изучении принципов оптимизации советников в торговой платформе MetaTrader 4...