Практическое занятие № 1 по формированию портфеля стратегий.

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

При оптимизации советников форекс трейдеры сталкиваются с одной ошибкой, которая губительна для депозита - подгонка параметров советника под нетехническое поведение цены. При оптимизации всегда найдутся параметры, при которых на истории, например, заблаговременно будут совершатся сделки в направлении движения цены, вызванной новостями. Предсказать средствами технического анализа в каком направлении будет двигаться цена после выхода новости с вероятностью более или менее 50% невозможно. Оптимизатор MT4 подберет множество вариантов, при которых прибыль на истории будет именно за счет получения прибыльных сделок на новостях. В реальности же торговля с такими параметрами будет убыточной.

В предыдущих версиях советника до версии 2014.1, что бы исключить подогнанные под новости параметры мы каждый результат проверяли вручную – тестировали, открывали каждый график со сделками и выявляли подогнанные результаты оптимизации. Процесс достаточно трудоемкий, учитывая, что портфель нам нужен из нескольких десятков стратегий. Можно, конечно, оптимизировать советник за длительный период времени, например, за 10 лет для таймфрейма M15, тогда вероятность подгонки под новости значительно снизится и количество прибыльных и убыточных сделок на новостях будет примерно 50% на 50%, а перевес в сторону прибыльных сделок будет за счет технической зависимости поведения цены. Но на это потребуется недопустимо большое количество времени, что оптимизацию делает бессмысленной, так как за это время рынок изменится.

Так же отрицательным моментом оптимизации советника на длительном периоде является то что-то оптимизатор Metatrader 4 не показывает распределение прибыли по всему участку оптимизации. Например, прибыль может быть получена только за 2008 год, а все остальное время стратегия несет убытки. Что бы такого не было, опять-таки нужно каждый результат тестировать и проверять визуально.

Полученные таким образом результаты оптимизации без должного ручного анализа в реальной торговле применять нельзя. Но, как показывает практика, большинство трейдеров не уделяют достаточного внимания обработке результатов оптимизации в силу сложности, трудоемкости и непонимания всех деталей. Все хотят получить наилучшие параметры советника одним нажатием кнопки без приложения умственных усилий. К сожалению, одними средствами MT4 это невозможно.

Как правильно оптимизировать советник?

Чтобы исключить возможность неверного подбора параметров для советника SICURO-EXPERT я разработал методику, с помощью которой даже начинающий пользователь сможет подобрать правильные параметры на оптимизаторе с минимальным приложением усилий.

По моей методике оптимизация советника разделяется на 2 основные задачи:

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

Оптимизация советника по этой методике автоматически позволяет решить несколько проблем:

  1. Исключение подгонки,
  2. Равномерность распределения прибыли на всем участке оптимизации,
  3. Сокращение времени оптимизации.

Пользователю не нужно задумываться правильно ли он оптимизирует советник, методика сама отсеивает ненужные результаты.

Шаг первый оптимизация параметров на коротком участке рынка.

По сути это обычная привычная для всех оптимизация параметров советника на встроенном оптимизаторе MT4.

Перейдите в тестер стратегий MT4, он же оптимизатор:

настройка оптимизатора MT4

В раскрывающихся списках выберите:

  • Советник: SICURO-EXPERT;
  • Символ: EURUSD;
  • Модель: Контрольные точки. Можно и все тики, но процесс будет очень долгим. Качество котировок на SICURO-EXPERT влияет не существенно, поэтому оптимизацию достаточно проводить на контрольных точках.
  • Период: На ваше усмотрение. Формировать портфель можно для любого периода.
  • Спред: Задавайте с запасом, например, если реальный спред 10 п., то устанавливайте 20. Оптимизатор не учитывает такие показатели как проскальзывания цены и время исполнения ордеров. Завышением спреда мы учтем эти потери.

Установите период оптимизации. Для этого рекомендую открыть график валютной пары и определить последний участок, на котором есть и тренд и флет.

Установите галочку напротив пункта «Оптимизация».

Перейдите в свойства эксперта. Выберите вкладку «Тестирование».

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

Задайте депозит. Это не депозит, который вы будете использовать в торговле, он должен быть достаточным что бы не происходило полного слива средств при оптимизации. При минимальном лоте 0,01 и размере контракта 100 000, параметр депозит можно указать $10 000.

Если у Вас нет достаточного опыта в оптимизации советников, снимите галочку напротив пункта «Генетический алгоритм». Генетический алгоритм значительно сокращает время оптимизации, но при неправильном подходе вы не получите необходимого разнообразия стратегий для формирования хорошего портфеля, адаптированного к различным поведениям рынка.

Нажмите кнопку «OK» и перейдите во вкладку «Входные параметры»:

Настройка входных параметров

Переключите советник в режим оптимизации.

В раскрывающемся списке параметра «Task» выберите пункт «Optimization_of_parametrs».

Задайте следующий параметр «maxDrawdown», ускоряющий оптимизацию. Глубина максимальной просадки зависит от различных параметров стратегии и индивидуальная для каждого пользователя. Точно вы сможете определить этот параметр, когда у вас будут результаты оптимизации. При первом формировании портфеля «с нуля» при «RiskPerTrade=1» параметр «maxDrawdown» при оптимизации на участке от года и более можете установить 30, при оптимизации на участке 2-3 месяца равным 10-15. В дальнейшем, когда у вас будут собственные результаты оптимизации, вы сможете уточнить этот параметр для повторных оптимизаций.

В параметре «Save_result_optimization» пропишите название файла с расширением «.csv» в который будут записываться результаты оптимизации.

Параметр «RiskPerTrade» можно установить равным 1, при заданных ранее «maxDrawdown=30», и депозите 10000. Если «RiskPerTrade» уменьшите до 0,1, как в видео, то и «maxDrawdown» уменьшайте до 3-х.

Параметр «Deposit» установите такой же, как и во вкладке Тестирование $1000;

Установите TimeFrame такой же, как и в настройках тестера.

В параметре «comment» можете указать свой комментарий, который при торговле будет присваиваться каждой сделке, совершенной советником:

комментарии

Далее переходим непосредственно к подбору параметров.

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

На против параметров, которые будем подбирать необходимо поставить галочку, задать стартовое значение, шаг и конечное значение (стоп). Подробное описание параметров смотрите в видео.

После того как все параметры для оптимизации советника заданы, нажмите кнопку «OK» и запустите оптимизатор в тестере стратегий MT4, нажав кнопку «Старт».

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

Описание стратегий:

Стратегия BounceSHinZone - отскок внутри канала SICURO-CHANNEL от границ во флете.

Стратегия BounceSHoutZone - отскок внутри канала SICURO-CHANNEL от границ по тренду.

Описание стратегий на пересечении линий индикатора Sicuro-Index в видео по оптимизации советника.