Working with the MetaTrader4 Strategy Tester: Optimizing the Expert Advisor
Мастер класс «Работа с тестером стратегий MetaTrader4″ — часть 5
Следующей возможностью тестера стратегий является оптимизация. Зачем это нужно? Представьте себе, что вам необходимо определить при каком значении параметра TakeProfit советник MACD Sample будет показывать наилучшие результаты. Причем диапазон интересующих вас значений велик – от 30 до 300 пунктов. Конечно, можно запустить 271 раз подряд тест, каждый раз меняя значение. Но есть другой путь.
Оптимизация параметров советника
Поставьте галочку возле надписи «Оптимизация» (предварительно убрав галочку возле «Визуализации»), а затем откройте окно свойств эксперта. Поставьте галочку слева от параметра TakeProfit. Это означает, что данный параметр должен изменяться с каждым новым проходом, в то время как все остальные будут оставаться неизменными. Теперь нужно указать диапазон значений, в котором будет изменяться выбранный параметр, а также шаг приращения. В графе «Старт» пишем значение 30, в столбце «Шаг» — 1, в колонке «Стоп» — 300. Таким образом, тестер стратегий сам произведет 271 тест подряд. На первом шаге TakeProfit будет равен 30, на втором 31, на третьем 32 и т.д. Если же в закладке «Тестирование» окна свойств эксперта (см. рис. 3) поставлена галочка «Генетический алгоритм», то реальных проходов может быть значительно меньше, что ускорит ход оптимизации, незначительно снижая точность результатов.
После нажатия кнопки «Старт» появятся новые закладки «Результаты optimization» и «График оптимизации». В обе закладки будут попадать только положительные результаты. Поэтому, если после оптимизации какого-либо советника закладки остались пустыми, значит, выбранный диапазон значений входных параметров не дает прибыли на выбранном участке истории.
Оптимизировать можно сразу несколько параметров. Для этого нужно поставить напротив интересующих входных параметров галочки и правильно заполнить поля «Старт», «Шаг» и «Стоп». Однако следует помнить, что чем больше параметров для оптимизации выбрано, тем дольше будет проходить сам процесс.
Результаты оптимизации можно сортировать по всем доступным показателям – прибыли, прибыльности, максимальной просадке, количеству сделок и матожиданию. Для этого нужно кликнуть левой клавишей мыши по заголовку соответствующего столбца. Сортировка производится в обоих направлениях – по уменьшению и по возрастанию. Внести параметры заинтересовавшего прохода оптимизации в окно свойств эксперта можно, выделив нужную строку с результатами и выбрав из контекстного меню «Установить входные параметры». Затем убрать все галочки, использующиеся при оптимизации, и совершить единичный проход тестирования. Результаты оптимизации тоже подлежат сохранению, точно также как и результаты обычного тестирования – выбираем пункт «Сохранить как отчет» в контекстном меню.
Еще одна закладка окна свойств советника, которую мы не рассмотрели, — это «Оптимизация» (см. рис. 6).
При использовании ограничений из этой закладки также можно ускорить процесс оптимизации. Пометив нужный параметр галочкой и, введя необходимое значение, можно заставить тестер прервать проход оптимизации, если достигнуто определенное значение. Например, располагая депозитом в $10000, мы не хотим, чтобы он уменьшался ниже значения в $5000. Тогда помечаем параметр «Минимальный баланс» галочкой и ставим значение 5000. В результате, все, даже прибыльные проходы, значение баланса которых опускалось ниже отметки 5000, будут исключены из выборки. Таким же образом можно ограничить оптимизацию по остальным приведенным параметрам.
Тестер стратегий – довольно удобный и быстрый способ для оценки стратегии и отладки советника. Но не стоит забывать, что это всего лишь моделирование ситуации и некоторые моменты могут сильно отличаться от реальной жизни. Поэтому, даже после получения «золотых гор» от тестера не спешите ставить советника на реальный счет. Потратьте еще как минимум месяц для проверки работы эксперта на demo account. И только в случае успешного тестирования на демо и при довольно точном совпадении с результатами тестов за тот же исторический период, можно пробовать осторожно выходить на реальный счет, желательно, на микро-Forex.
В дальнейшем мы еще вернемся к некоторым нюансам тестирования. Для этого необходимо освоить элементарнейшие азы программирования на MQL4, к чему мы и перейдем в следующем уроке, подробно разбирая код советника MACD Sample.