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

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

MT 4 Отчеты эксперта и сервера log файлы для рассмотрения проблемы
Exp – TesterPad Ручной тренажер для тестера стратегий. Симулятор для Форекс
MT 4 Отчеты эксперта и сервера log файлы для рассмотрения проблемы
Exp – TesterPad Ручной тренажер для тестера стратегий. Симулятор для Форекс

Описание

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

Почти каждый день (без преувеличения) на форуме поднимаются вопросы начинающих пользователей, – как установить советник в терминал, как запустить советник в работу, что такое оптимизация и как её реализовать в тестере MetaTrader 4 и MetaTrader 5, что такое форвард-тест и т.п.

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

Тестирование советников в терминале Metatrader 4

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

Для теcтирования мы выбрали нашу универсальную торговую систему The X


Первым делом Вам необходимо включить тестер стратегий:

После открытия тестера стратегий у Вас появляется вкладка Strategy Tester
Поля для заполнения:

Expert Advisor – Из списка советников выберете тот, который Вы будете тестировать. 
Symbol – Символ для тестирования
Model – Модель тестирования
Для тестирования можно выбрать один из трех методов моделирования исторических данных:

  1. По ценам открытия (быстрый метод на сформировавшихся барах)
    Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
    В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
  2. Контрольные точки (используется ближайший меньший таймфрейм)
    Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В некоторых случаях имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе предопределенных волновых шаблонов, как это было в предыдущей, третьей версии клиентского терминала MetaTrader 3.
    Как только появляются исторические данные меньшего таймфрейма, то интерполяция применяется уже к этим данным. Однако точно существующие цены OHLC меньшего таймфрейма выступают в качестве контрольных точек. В большинстве случаев результаты тестирования экспертов по методу контрольных точек могут приниматься во внимание только как оценочные, а не как окончательные. Такие результаты имеют промежуточный оценочный характер.
  3. Все тики (на основе всех наименьших доступных периодов) !!!!
    Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от “контрольных точек”, потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более, чем одного таймфрейма, для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, генерируются контрольные точки на основе данных OHLC наименьшего доступного таймфрейма. Для генерации движения цены между контрольными точками также используется интерполяция на основе предопределенных шаблонов, поэтому крайне желательно наличие минутных данных, покрывающих весь диапазон тестирования. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
    Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.

Use Date – Диапазон дат позволяет тестировать советники не на всех имеющихся данных, а лишь на выбранном временном отрезке. Это бывает удобным при необходимости исследовать отдельную часть исторических данных. Ограничение диапазона дат можно использовать не только при тестировании эксперта, но и при генерации тестирующей последовательности баров (файла смоделированных данных, используемого для тестирования). Очень часто нет необходимости генерировать данные всей истории, особенно при потиковом моделировании, когда объем неиспользуемых данных может быть очень большим. Поэтому если при первоначальной генерации тестирующей последовательности была включена возможность использования диапазона дат, то бары, выходящие за пределы указанного диапазона, не генерируются, а просто переписываются в выходную последовательность. Данные не исключаются из последовательности, чтобы оставалась возможность правильно посчитать индикаторы на всей полученной истории. Необходимо заметить, что первые 100 баров также не генерируются. Это ограничение не зависит от установленного диапазона дат.

Чтобы включить ограничение по датам, необходимо выставить флажок “Использование дат” и указать требуемые значения в полях “От” и “До”. После того, как произведены все настройки, можно нажать кнопку “Старт” и начать тестирование. После начала тестирования в нижней части окна можно просмотреть ориентировочное время завершения этого процесса.

Visual Mode – Режим Визуализации позволяет пользователю наблюдать за ходом тестирования на отдельном графике терминала. При включении этого режима, в терминале открывается окно визуализации, в котором отображается график и , открываемые советником, сделки. 

Period – ТаймФрейм для тестирования. Если Ваш советник работает по барам или по индикаторам, Вам необходимо выбрать тот таймфрейм, который будет использоваться при реальной торговле. 
Spread – Тестируемый спред. В Терминале МТ4 спред может быть только фиксированным. Вы можете установить этот спред в данном поле.
Внимание: Результаты будут отличаться от реального счета , если Ваш реальный счет содержит плавающий спред. 
Внимание: Я не рекомендую выбирать спред = 0 потому, как при каждом тетсировании спред будет устанавливаться из текущего спреда брокера, который может быть плавающим. 

Optimization – Установите этот флажок, если хотите провести оптимизацию советника в тестере стратегий, но перед этим необходимо настроить советник для оптимизации. 


Окно выбора параметров тестирования

Initial Deposit –  Начальный балансвашего счета для тестирования. 
Вы можете указать здесь сумму, которая достаточная для работы эксперта. 
Positions – Вы можете выбрать тип позиций, которые будут открываться. Можно выбрать только Покупки или только Продажи. Если Вы выбрали только покупки – советнику будет запрещено открывать позиции продажи. 
Optimization – блок для управления типом оптимизации, например по балансу, профит фактору, просадке. 
 

Окно настроек эксперта:

В этой вкладке Вы настраиваете эксперта на тестирование. 
Настраивать можно только поле Value – Значение, остальные поля только для оптимизации советника. 

Внимание: Если у Вашего эксперта есть настройки индикатора и Вы собираетесь наблюдать за ходом тестирования в режиме визуализации, пожалуйста будьте внимательны. 
Настройки индикатора в советнике должны быть идиентичными настройкам индикатора на графике. 
Другими словами: Советник торгует по тому индикатору, который настроен у него в внешних переменных. 
Если Вы решили нанести на график индикатор, пожалуйста, настройте его так, как это сделано в советнике. 
Иначе у Вас возникнет вопрос: А почему по индикатору сигнала нет, а советник открыл или не открыл сделку


Для начала тестирования нажмите кнопку “START”

Для наблюдения за ходом тестирования Вы можете открыть вкладку Results и наблюдать за тестированием


После окончания тестирования, перейдите в вкладку Reports для ознакомления с результатами тестирования вашего советника в тестере стратегий.


В Вкладке “Graph” Вы можете наблюдать график изменения баланса и эквити за время проведения тестирования. 


Для того, чтобы сохранить отчет о тестировании, зайдите в вкладку “Results” и нажмите правой кнопкой мыши на данных,  у Вас появится меню сохранения отчета:

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

Настройте терминал на оптимизацию и обязательно  установите галочку на Optimization
После этого откройте настройки советника и настройте поля для оптимизации:

Start – Стартовое значение параметра, который Вы хотите оптимизировать.
Step – Шаг изменения значения параметра, который Вы хотите оптимизировать.
Stop – Конечное значение параметра, который Вы хотите оптимизировать.
Обязательно поставьте галочку перед тем параметром, который Вы собираетесь оптимизировать

Например: 

Означает ,что мы хотим , чтобы стоплосс и тейкпрофит тестировались с начального значения 100 пунктов, с шагом 100 (100 200 300 400….) и до значения 600
Всего оптимизатор должен пройти 6*6 проходов = 36 результатов. 

Результаты оптимизации ВЫ можете наблюдать в вкладке “Optimization Results”

После оптимизации Вы можете посмотреть на 3Д график оптимизации:

Если Вы хотите получить отчет о тестируемых значениях и результат оптимизации, Вам необходимо выбрать правой кнопкой нужные результаты и нажать кнопку “Set Inputs Parametr”, после этого Вы сможете еще раз нажать на кнопку “Start” тестирования и получить полный отчет по тестированию .

Для того, чтобы сохранить набор настроек, которые ВЫ протестировали, Вам необходимо открыть настройки советника (Expert Adviser) в тестере стратегий, и нажать кнопку “SAVE” – Сохранить


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

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

Наши советники имеют одинаковый алгоритм сигналов и функций.

Но ввиду отличий терминалов MT5 и МТ4 могут быть погрешности в исполнении.

Тестер стратегий в терминале MT5, на текущий момент, самый технологичный и точный.

Самой важной особенностью терминала MetaTrader 5 и Strategy Tester является возможность тестировать на реальных тиках. Спред и стоп уровни в MetaTrader 5 плавающие. Это означает то, что тестирование в тестере стратегий MT5 максимально приближено к условиям реальной торговли.

Мы не будем останавливаться на тестировании и оптимизации в терминале MetaTrader 4! Вы уже знаете как в нем тестировать. А процесс оптимизации похож на процесс мт5 (Настройки и запуск)

Но главной особенностью тестера стратегий от МТ5 – это конечно же возможность оптимизировать в облаке MQL5 Cloud Network

Облако позволяет за минимальную цену оптимизировать советника на тысячах других компьютерах. Это очень дешево и быстро. Поэтому я настоятельно рекомендую использовать облако MQL5.

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

Помните: Каждая валютная пара и брокер имеют свои условия торговли (Спред, своп, комиссия, способ расчета, исполнение, тип счета), поэтому результаты оптимизации могут отличаться!

Для того, чтобы результаты были более и менее похожи, Вам необходимо отключать Случайную Задержку. Для оптимизации она не нужна!

Настройка тестера стратегий:

  1. Выберите советника из списка.
  2. Установите ту валютную пару, для которой будете проводить тест.
  3. ТФ лучше выбрать М1. (TimeFrame будет задавать советник из своих настроек)
  4. Дата оптимизации – можете выбрать текущий год! Помните! Результаты в прошлом, не могут гарантировать прибыль в будущем! Оптимизация каждые пол года – самый практичный диапазон!
  5. Forward можно установить на 1 месяц. Но мы советуем получать чистые результаты. А потом уже проводить Forward Test
  6. Депозит (Deposit) лучше установить тот, с которого вы начнете свою торговлю. Не нужно устанавливать слишком маленький баланс. А также слишком большой!
  7. Кредитное плечо выставляйте то, на котором будете торговать.
  8. Оптимизация Slow Complete algorithm
  9. и обязательно! Every tick, based on real ticks!

 

Включение возможности оптимизации в облаке

Я настоятельно рекомендую включать ОБЛАКО ОПТИМИЗАЦИИ!

При этом, я отключаю работу своего процессора. Таким образом мой компьютер не тормозит при оптимизации. А себестоимость одного прохода в облаке получается меньше , чем 0.01 цента!

MetaTrader 5: Настройка оптимизации и сохранение SET файла

Вы можете скачать наши Файла для оптимизации для The X

Для оптимизации эксперта Вам необходимо открыть Оптимизатор MT5:

Выбираем режим Complete Optimization (Новая версия терминала MetaTrader 5)

После этого мы должны настроить наш Strategy Tester для оптимизации:

  1. Выбираем эксперта для оптимизации.
  2. Выбираем торговый символ (валютную пару) На которой мы хотим получить результаты.
  3. Таймфрейм (В нашем эксперте есть возможность оптимизировать ТФ каждого индикатора, поэтому этот пункт можно пропустить)
  4. Период оптимизации (Можно оптимизировать на протяжении последнего года, нет смысла оптимизировать на протяжении 10 лет!)
  5. Обязательно выбираем модель Every Tick based on real ticks!
  6. Выбираем тип оптимизации = Полный перебор параметров (Slow complete optimization)
  7. Переводим в настройки входных параметров Inputs.

Загружаем наш файл для оптимизации или настраиваем параметры на свое усмотрение!

Клик правой кнопкой мыши – Загрузить (Load)

Выбираем путь , куда Вы сохранили наши файлы и выбираете файл с количеством знаков в цене у Вашего брокера (4-значный или 5-значный брокер)

Настраиваем оптимизированные параметры:

После загрузки Вы увидите Наши варианты оптимизации

  1. Установите или снимите галочки на тех параметрах, которые Вы хотите оптимизировать. ( По умолчанию я настроил файл так, чтобы Вы могли оптимизировать по всем важным параметрам )
  2. Старт (Start) – Начальное значение параметра для оптимизации.
  3. Шаг (Step) – Шаг изменения параметра при каждом прогоне оптимизатора.
  4. Стоп (Stop) – Конечное значение параметра для оптимизации.
  5. Нажмите Start для начала оптимизации! Это может занять от 1 часа до 1 недели! Вы также можете использовать облачных клиентов для оптимизации!
  1. Помните! Чем больше параметров и шагов для оптимизации, тем больше времени необходимо для завершения тестирования и оптимизации!
  2. Значение (Value) – Это зафиксированное значение параметра. Советник будет брать это значение, если этот параметр не оптимизируется. Или при тестировании!

Выбор результата и сохранение Set файла

После того, как Мы получили результаты оптимизации, мы можем выбрать нужные параметры и сохранить Set файлы, чтобы использовать их в будущем.

  1. Перейдите в вкладку результаты оптимизации (Optimization results)
  2. Выберите понравившейся результат
  3. Запустите одиночное тестирование
  4. Посмотрите на результат:

После этого перейдите в Вкладку Настройки 1 (Inputs) и сохраните SET FILE 2 (Клик правой кнопкой мышки)

Сохраняйте Файл Настроек там, где Вы будете хранить все важные файлы!

Загрузка файла настроек (Set File) в нашего эксперта на реальном графике:

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

Помните! Оптимизация это грубый метод поиска настроек и результаты оптимизации не могут дать гарантию прибыли в будущем в реальном времени!

Я рекомендую проверять систему сначала на демо счете Вашего брокера с этими настройками.

После этого Вы можете открыть центовый счет или маленький депозит для проверки.

И только после продолжительных тестирований Вы можете торговать на больших депозитах!

  1. Загрузите нашего эксперта на график.
  2. Перейдите в Вкладку Параметры (Inputs).
  3. Нажмите Загрузить (Load).
  4. Откройте папку, где хранятся ваши файлы настроек.
  5. Выберите нужный файл и нажмите Открыть.

Если Вы все сделали правильно, то на графике появится наша панель EAPADPRO с зеленым смайлом!

Если Вы что-то не так установили или установили неправильно, Вы можете прочитать варианты отказа советника торговать: EAPADPRO работает ли советник?

MetaTrader 4: Настройка оптимизации и сохранение SET файла

Вы можете скачать наши Файла для оптимизации для The X

Внимание: Тестер стратегий терминала MetaTrader 4 является неточным и не учитывает плавающий спред и задержки исполнения, поэтому его результаты являются только примерными!

Для оптимизации эксперта Вам необходимо открыть Оптимизатор MT4

После этого мы должны настроить наш Strategy Tester для оптимизации:

  1. Выбираем эксперта для оптимизации.
  2. Выбираем торговый символ (валютную пару) На которой мы хотим получить результаты.
  3. Обязательно выбираем модель Every Tick !
  4. Период оптимизации (Можно оптимизировать на протяжении последнего года, нет смысла оптимизировать на протяжении 10 лет!)
  5. Таймфрейм (В нашем эксперте есть возможность оптимизировать ТФ каждого индикатора, поэтому этот пункт можно пропустить)
  6. Устанавливаем галочку на Оптимизация (Optimization)
  7. Переводим в настройки входных параметров Inputs.

Загружаем наш файл для оптимизации или настраиваем параметры на свое усмотрение!

Клик правой кнопкой мыши – Загрузить (Load)

Выбираем путь , куда Вы сохранили наши файлы и выбираете файл с количеством знаков в цене у Вашего брокера (4-значный или 5-значный брокер)

Настраиваем оптимизированные параметры:

После загрузки Вы увидите Наши варианты оптимизации

  1. Установите или снимите галочки на тех параметрах, которые Вы хотите оптимизировать. ( По умолчанию я настроил файл так, чтобы Вы могли оптимизировать по всем важным параметрам )
  2. Старт (Start) – Начальное значение параметра для оптимизации.
  3. Шаг (Step) – Шаг изменения параметра при каждом прогоне оптимизатора.
  4. Стоп (Stop) – Конечное значение параметра для оптимизации.
  5. Нажмите Start для начала оптимизации! Это может занять от 1 часа до 1 недели! Вы также можете использовать облачных клиентов для оптимизации!
  1. Помните! Чем больше параметров и шагов для оптимизации, тем больше времени необходимо для завершения тестирования и оптимизации!
  2. Значение (Value) – Это зафиксированное значение параметра. Советник будет брать это значение, если этот параметр не оптимизируется. Или при тестировании!

Выбор результата и сохранение Set файла

После того, как Мы получили результаты оптимизации, мы можем выбрать нужные параметры и сохранить Set файлы, чтобы использовать их в будущем.

  1. Перейдите в вкладку результаты оптимизации (Optimization results)
  2. Выберите понравившейся результат
  3. Примените настройки для тестирования.

Запустите одиночное тестирование:

  1. Посмотрите на результат:

После этого перейдите в Вкладку Настройки (Inputs) и сохраните SET FILE

Сохраняйте Файл Настроек там, где Вы будете хранить все важные файлы!

Загрузка файла настроек (Set File) в нашего эксперта на реальном графике:

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

Помните! Оптимизация это грубый метод поиска настроек и результаты оптимизации не могут дать гарантию прибыли в будущем в реальном времени!

Я рекомендую проверять систему сначала на демо счете Вашего брокера с этими настройками.

После этого Вы можете открыть центовый счет или маленький депозит для проверки.

И только после продолжительных тестирований Вы можете торговать на больших депозитах!

  1. Загрузите нашего эксперта на график.
  2. Перейдите в Вкладку Параметры (Inputs).
  3. Нажмите Загрузить (Load).
  4. Откройте папку, где хранятся ваши файлы настроек.
  5. Выберите нужный файл и нажмите Открыть.

Если Вы все сделали правильно, то на графике появится наша панель EAPADPRO с зеленым смайлом!

Если Вы что-то не так установили или установили неправильно, Вы можете прочитать варианты отказа советника торговать: EAPADPRO работает ли советник?

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

Оптимизация по всем параметрам можно провести за 2-3 дня.

Это достаточно долго, Но Вы получите результаты всех проходов.

За более, чем 20 000 проходов мы потратили на оптимизацию около 6 долларов. Вы можете регулировать количество проходов, ограничивая количество оптимизирующих параметров.

При написании статьи мы будем руководствоваться примерами.

Допустим мы получили результаты по нашей оптимизации.

Выбираем столбец Profit и сортируем результаты по самому большой прибыли.

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

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

И если они нам подходят, тогда Мы можем сохранить набор настроек!

Помните: Результаты тестирования только на 99% правдивы. На реальных счетах у Вас могут быть задержки исполнения приказов, Проскальзывания, Отключения электричества и другие факторы.

Мультивалютное тестирование и оптимизация в терминале MetaTrader 5

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

Настраиваем оптимизацию по символам:

Запускаем оптимизацию и получаем результаты:

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

Как Вы видите по результатам оптимизации по валютным парам. Этот набор настроек дает хороший результат только на 4 валютах из 11!


Тестирование и оптимизация в MetaTrader 5

Вопрос Ответ

1. Почему результаты одноимённых тестов разные в разных ДЦ (брокерах)?

– Разные результаты тестов в разных ДЦ объясняются разными котировками. Каждый брокер имеет своих поставщиков котировок. Отсюда и разность в результатах тестирования. 
– У каждого брокера свой спред и своя спецификация контрактов, поэтому результаты могут отличаться кардинально. 

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


    This website uses cookies to improve your experience. By using this website you agree to our Data Protection Policy.
    Read more