МТС Universum
Карта сайта МТС "Universum 4" >  От закачки и до запуска >  Оптимизация советника

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


Для чего нужна оптимизация


Чтобы советник более выгодно работал, его необходимо предварительно оптимизировать. Оптимизация - это автоматическая настройка входных параметров советника под исторические данные, т.е. котировки предшествующие моменту установки советника в терминал для торговли. Генетический оптимизатор торгового терминала MetaTrader 4 способен подобрать наилучшие настройки, при которых советник давал бы наибольшую прибыль на исторических данных. Проще говоря, с помощью оптимизации будут подобраны подобрана наиболее прибыльная для котировок недавнего времени торговая стратегия или несколько стратегий на выбор, при этом заведомо убыточные стратегии, будут отброшены и проигнорированы.

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


Для правильной работы советников необходимо закачать с сервера брокера или ДЦ правильные котировки. Дело в том, что каждый брокер выдает свои котировки, которые могу отличаться от котировок других брокеров. Но терминал MetaTrader 4 по умолчанию закачивает котировки не с сервера брокера, а с сервера MetaQuotes Corp., что может привести к явным недочетам при оптимизации.

Для загрузки котировок с сервера своего брокера, необходимо
  1. открыть график выбранного финансового инструмента, т.е. кликнуть правой клавишей мыши по выбранному инструменту и в появившемся меню, выбрать "Окно графика"
  2. отключить автопрокрутку и и смещение графика на панели инструментов   
  3. и до предела уменьшить масштаб
  4. постепенно нажимая клавишу "Page Up" или "Home", загрузить котировки с сервера брокера на необходимую глубину истории (чуть более года).

Запуск оптимизатора


После того, как котировки загружены, можно приступать к оптимизации советника. Для этого откроем подокно тестера стратегий с помощью комбинации клавиш Ctrl+R.

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


  1. Выбираем советника: Universum_4
  2. Выбираем финансовый инструмент, в данном случае EURUSD
  3. Выбираем таймфрейм - H1, т.е. часовые бары. Мелкие таймфреймы выбирать нежелательно, т.к. они обладают высокой зашумленностью.
  4. Выбираем моделирование оптимизации: По ценам открытия. В советник "Universum" встроен алгоритм открытия позиций только по вновь сформировавшимся барам и ценам открытия, поэтому выбирать другие модели для оптимизации не имеет смысла - пустая трата времени. Впоследствии можно будет прогнать тест с другими моделями, чтобы проверить котировки на "вшивость".
  5. Выставляем галочку на "Использовать дату" и выбираем период от года назад и до текущей даты



Настройка советника для оптимизации


Нажимаем клавишу "Свойства эксперта", чтобы перейти к настройке советника для оптимизации:

Вкладка "Тестирование"

  1. Выбираем начальный депозит, например, $10000
  2. Позиции короткие и длинные
  3. Оптимизируемый параметр: баланс
  4. Генетический алгоритм должен быть включен




Вкладка "Входные параметры"

  1. p - период индикатора Демарка, ставим галочку, обозначая, что параметр нуждается в оптимизации. Оптимизацию проводим значениями от 3 до 100 с шагом 1.
  2. tp - тейкпрофит, ставим галочку, обозначая, что параметр нуждается в оптимизации. Оптимизацию проводим значениями от 10 до 100 с шагом 1.
  3. sl - стоплосс, ставим галочку, обозначая, что параметр нуждается в оптимизации. Оптимизацию проводим значениями от 10 до 100 с шагом 1.
  4. lots - объем открываемых позиций после каждой прибыльной сделки. Желательно выбрать минимально разрешенный брокером или ДЦ объем, т.е. 0.1 лота или 0.01 лота (зависит от размера начального депозита выставленного во вкладке "Тестирование". Параметр неоптимизируемый, т.к. зависит от количества предыдущих непрерывных убыточных сделок и автоматически рассчитывается советником. Поэтому диапазон и шаг оптимизации не играют никакой роли. Галочку оптимизации ставить не нужно
  5. losseslimit - ограничение убытков в валюте депозита. На время оптимизации лучше поставить очень большое число. Параметр неоптимизируемый, галочку оптимизации ставить не нужно.
  6. fastoptimize - быстрая оптимизация. Лучше выставлять значение в true, т.е. оптимизировать быстро. При этом оптимизация будет проходить так, будто трейдинг с постоянным лотом. Но тестирование будет проводиться под управлением капиталом и риском. Параметр неоптимизируемый, галочку оптимизации ставить не нужно.
  7. mn - магический номер, целое число с помощью которого советник обозначает свои открытые позиции, чтобы не перепутать их с позициями открытыми на этом же инструменте  другими советниками или вручную трейдером. Все позиции, магический номер которых будет отличаться от указанного значения: 888, советником будут проигнорированы. Параметр неоптимизируемый, галочку оптимизации ставить не нужно.




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

Советник готов к оптимизации, можно нажать кнопку "ОК"

Оптимизация


Чтобы запустить оптимизацию, осталось только выставить галочку оптимизации и нажать кнопку "Старт" в тестере стратегий и дождаться ее завершения.



Выбор параметров оптимизации


После того, как оптимизация завершиться, перейдем во вкладку "Результаты оптимизации тестера стратегий" и отсортируем полученные данные по убыванию прибыли, кликая левой клавишей мышки по графе "Прибыль" (обведена на рисунке красным цветом).



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



Переходим во вкладку "Настройки", убеждаемся, что галочка "Оптимизация" отключена и запускаем тест выбранных результатов оптимизации, нажав на кнопку "Старт". (если галочка оптимизации отключена, то запускается тест. При включенной галочке - оптимизация).



После завершения тестирования, перейдем во вкладку "График", чтобы посмотреть, как прошло тестирование на исторических данных.



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

Поэтому, попробуем протестировать следующие результаты оптимизации.

Выбираем вторую строчку результатов:



Опять запускаем тест и после его завершения смотрим график:



На этот раз просадки более приемлемые и тестирование можно считать удовлетворительным. Конечно же необходимо просмотреть еще несколько строк результатов тестирования, чтобы выбрать наиболее оптимальные. Но остановимся пока на этом.

Если результаты оптимизации нас устраивают, то переходим во вкладку настройки и нажимаем кнопку "Свойства эксперта" и нажимаем кнопку "Сохранить", чтобы приемлемые результаты оптимизации можно было вставить в настройки советника.



Создаем название файла в котором также указываем и инструмент, чтобы впоследствии не перепутать: