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



Основа прибыльной торговли заключается в простом принципе — «Знай свою стратегию». Для форекс советников, принцип будет немного другим — «Оптимизируй своего советника». Единственный нюанс – это выбор правильного периода исторической генерации в МТ4.

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

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

Выбираем модель генерации котировок

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

Screen 1-Models-generating image ticks

Model-generating ticks in MT4


Как происходит генерация в моделях:

Контрольные точки — оптимизация форекс советника происходит по ценам OHLC, ближайшего меньшего тайм-фрейма. Это модель считается грубой, однако большинство советников не требуют точных минутных или даже тиковых данных. Поэтому модель используют для тестирования простых советников;

Все тики — более сложная модель построения. Отличается от «контрольных точек» глубиной генерации тайм-фрейма. Модель следует использовать для советников, которые опираются на минутные данные OHLC;

По ценам открытия — данную модель следует использовать на раннем этапе тестирования советника. Для перебора параметров в МТ4, модель не подходит.

Оптимальным выбором считается модель генерации по «всем тикам». Но без генетического алгоритма, результатов можно ждать годами.

Вот пример на сколько могут отличаться результаты теста в зависимости от выбора модели тестирования.

  • Все тики
  • Контрольные точки
  • Цены открытия

Вот пример того, как могут отличаться результаты теста в зависимости от выбранной модели теста.

  • Все ТИКИ
  • Контрольные точки
  • Цены открытия
Picture Testing --- all-tics

Генетический алгоритм

Немного остановимся на генетическом алгоритме в МТ4 (активирован по умолчанию). Галочку с алгоритма лучше не снимать, объясню почему.

Несмотря на обширность данной темы, выделим несколько важных моментов:

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

Второе — чтобы обойти этот недостаток, генетический метод для МТ4 был дополнен «Репродуктивным планом Холланда». Что это за план? – тема отдельная.

В итоге, мы получаем метод, который позволяет сократить время оптимизации форекс советника. А если быть точным, то время сокращается в 100 и более раз.


Genetic-algoritm- (tick)

Генетический-алгоритм-(галочка)

Насколько сильно страдает точность тестирования? Точность вообще не меняется. Единственный момент, который был выявлен при тестировании — это идентичность результата с моделью «Контрольные точки».

 С увеличением количества переборов, генетический алгоритм показывает лучшие результаты по времени. Именно поэтому генетический алгоритм лучше не отключать, мы ведь не хотим оптимизировать советника 35 лет.

Выбираем параметры

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

Суть в том, чтобы получить на выходе оптимальные торговые настройки. Для примера, запускаем оптимизацию по параметру «Balance». После завершения, на вкладке «График оптимизации», мы увидим карту параметров. Если навести мышкой на самый зелёный блок, то мы получим информацию о профите и параметрах, которые обеспечили этот профит.

Optimize parameters

Оптимизируем-параметры

Критерии оптимизируемых параметров:

Balance — на выходе мы получаем настройки, которые дают максимальный профит;

Profit Factor — это когда сумма прибыльных сделок, делится на сумму убыточных. Нам нужны настройки, которые покажут результат больше 1;

Expected Payoff — поиск оптимального результата по математическому ожиданию. Чем выше мат. ожидание, тем лучше работает советник;

Maximal Drawdown — оптимизация максимальной просадки, по отношению к локальному максимуму. Чем выше просадка, тем выше риск;

Drawdown Percent — оптимизация максимальной просадки, по отношению к текущему депозиту. Условия те же, чем выше просадка, тем выше риск;

Custom — перебор ведётся по заданным настройкам самого пользователя.

Чаще всего трейдеры оптимизируют параметр «Balance», и не обращают внимание на просадку или мат. ожидание. Но в долгосрочной перспективе, величина риска порой играет большую роль.

Устанавливаем начальные параметры и ограничения

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

Installation of input parameters

Установка-входных-параметров

В графе «Значение» выставлены стандартные параметры. А вот в графах «Старт», «Шаг» и «Стоп», необходимо вручную прописать данные. Старт задаёт начало перебора, шаг — следующий параметр, а стоп задаёт конечную точку.

Выставляем ограничение

Ограничения задаются для того, чтобы уменьшить время оптимизации советников. В МТ4 доступно восемь параметров ограничений. Как видно на скрине, основная задача остановить оптимизацию, когда наступят заданные условия. К примеру, нас не устраивает советник, который уходит в просадку на 30%. Если выставить необходимый параметр в графе «Максимальная просадка», то оптимизация остановится на 30% просадке.

We put the test limits

Ставим ограничения

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

В качестве примера используем форекс советника «Pump and Dump» для МТ4. Советник использует простую ТС — покупай дёшево, продавай дорого. Есть много настроек и хорошая история торговли, плюс мониторинг.

Load-Minister-of-store MQL5

Загрузка-советника-из-магазина MQL5

Load-Minister-of-store-2

Загрузка-советника-из-магазина-2


После загрузки «Pump and Dump» из магазина в МТ4, переходим на вкладку «Тестер» и выбираем в соответствующем меню нашего советника. Для установки параметров и ограничений, переходим на вкладку «Входные параметры» в свойствах.

Load-Minister-of-shop-3

Загрузка-советника-из-магазина-3

Setting optimization-Pump-and-Dump

Настройка-оптимизации-Pump-and-Dump

Настройка параметров

Страница форекс советника содержит подробное описание всех параметров. Наша задача выставить значения только по тем из них, которые имеет смысл оптимизировать.

Описание параметров:

IPump_Indicator — это основной индикатор, по которому советник открывает ордера. Выставляем значения от большей чувствительности, к меньшей — значение 0.2, старт 0.2, шаг 0.1 и стоп 1.0;

Multiplication Profit — это разрешение на добавление ордеров по тренду. Выставляем стартовую позицию — false и стоп на true. Это позволит оптимизировать оба варианта;

Lot_Proc_from_Balance — параметр отвечает за объём ордера и его увеличение. Перебираем значения от 0.1 до 1.0, шаг 0.1. Начальное значение поставим на 0.6;

TP_pips — перебираем значение профита. Значение по умолчанию 300 пунктов, старт — 100, шаг — 100 и стоп на 700 пунктов.

Distance — ищем оптимальное расстояние для серии открытых ордеров. Начинаем перебор от 100 пунктов, с шагом в 100 и стопом на 700. Значение по умолчанию можно поставить в 450 пунктов;

Step Distance — единственное отличие от предыдущего параметра, это величина шага. Его мы тоже переберём — старт 100 пунктов, шаг — 50 и стоп на 600. Значение по умолчанию ставим на 100 пунктов;

Plus — влияет на количество пунктов к без-убытку для по открытых ордеров. Перебираем от стартовой позиции в 50 пунктов, до конечной в 500 пунктов. Шаг поставим в 50, а значение по умолчанию — 150.

Сохраняем наши настройки через кнопку «Сохранить» в правом нижнем углу. В дальнейшем, сохранённые настройки можно будет восстановить. Жмем кнопку «ОК».

Остальные параметры являются «опциональными». Их настройка для оптимизации не очень важна. Однако, при начальном и обычном тестировании на них стоит обратить внимание.

Запускаем тестирование

После настроек свойств эксперта, переходим к последнему штриху. Ещё раз проверяем все выставленные настройки.

Последние настройки:

  • Ставим галочку на «Использовать дату» и выставляем период тестирования;
  • Снимаем галочку с «Визуализация»;
  • Выбираем тайм-фрейм для параметра «Период» и выставляем величину спреда для значения «Спред»;
  • Ставим галочку на «Оптимизация».

Run-optimizatsiyu- (last-bar)

Запускаем-оптимизацию-(последний-штрих)

После всех настроек, можно запускать тестирование с оптимизацией параметров.

Running the testing-with-optimization

Запуск-тестирования-с-оптимизацией

​Результаты оптимизации

После окончания теста мы получим две дополнительные вкладки «Результаты оптимизации» и «График оптимизации». Переходим на график и видим множество блоков. Каждый блок — это готовый прогон по определённым параметрам. В нашем случае, оптимизировался баланс, поэтому самый зелёный блок говорит о самой высокой прибыли.

The result of optimization, on-balance sheet

Результат-оптимизация-по-балансу

Как перенести параметры в настройки?

Щёлкаем два раза мышью по необходимому блоку. Нас перенесёт на вкладку результатов;

Два раза щёлкаем на выделенном значении. Настройки будут автоматически внесены в свойства эксперта.

Results-for-transfer

Результаты-для-переноса

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

Заключение

В заключение хотелось бы отметить следующее – советников нужно тестировать постоянно, так как профиль рынка меняется. А вот оптимизацию можно проводить один раз в пол-года. Причём оптимизация должна охватывать данные последних шести месяцев. Затем можно сравнить новые результаты со старыми, и при необходимости внести изменения.

Ваш комментарий...

Ваш e-mail не будет опубликован. Обязательные поля помечены *