КАК НАСТРОИТЬ И ОПТИМИЗИРОВАТЬ СОВЕТНИКА ФОРЕКС

Лучшие Форекс брокеры 2021 года:

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

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

В данном материале мы покажем, как выглядит оптимизация советников Форекс в МТ4, и как правильно её проводить.

Для проверки советника на прибыльность понадобиться выполнить такие действия:

  1. Пропустить выбранного торгового робота через тестер стратегий, который есть в каждом МТ4.
  2. Настроить оптимизацию советника Форекс и посмотреть, что из этого получилось.
  3. Протестировать робот на демо-счете.
  4. Попробовать применить советник на центовом счете.

Сразу отметим, что пункты 1, 2, 4 нужно выполнить обязательно. Что касается третьего пункта, то его выполнение не столь обязательно, так как тестирование на демо-счете занимает много времени. Вот почему некоторые трейдеры-новички предпочитают пропустить 3-й этап.

Но мы настоятельно советуем, прежде чем, применять тот или иной советник на реальном счету, провести действия по всем четырем пунктам, а также изучить ниже, как правильно оптимизировать советник, на примере Илана.

Робот может хорошо показать себя на демо-счете и тестере стратегий Форекс, но на реальном счете (центовый счёт относится к реальным счетам), порой, картина совсем иная. Это происходит за счет проскальзывания цены и других моментов, которых нет на учебном счёте. Понятное дело, что здесь никак не обойтись без оптимизации советников Форекс.

Рейтинг брокеров FOREX:

Тестер стратегий

В качестве примера мы выбрали семейство советников Ilan. Когда “Илан” и установлен в торговый терминал, выбираем актив EUR/USD. Потом нужно выбрать “все тики”. Также понадобиться указать временной интервал в рамках, которого и будет проводиться наиболее точное тестирование. Мы выбрали часовой таймфрейм. Интервал тестирования июнь 2022 года.

(Здесь и далее кликните по изображению, чтобы увеличить его.)

Рисунок 1. Тестер советника Ilan 1.6 Dynamic.

Когда все необходимые настройки параметров заданы, жмем на кнопку «Старт», чтобы проверить его в действии и ждем окончания процесса тестирования советника. Настройки Илана мы оставили стандартные и получили следующие результаты:

Рисунок 2. Отчет торговли за месяц в тестере советников.

За месяц робот открыл всего 255 сделок. Чистая прибыль составила $21.18. Размер депозита $10 тыс. Максимальная просадка составила 6,57% от депо. Прибыльность советника 1.08. Причем оптимизация советника в МТ4 не проводилась.

Надежные Форекс платформы:

Рисунок 3. Стейтмент торговли советника Илан.

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

Рисунок 4. Архив котировок.

Нам нужно выбрать нашу пару EUR/USD таймфрейм 1 минута:

Рисунок 5. Архив котировок EUR/USD таймфрейм 1 минута.

Теперь можно нажать на кнопку «Загрузить». После этого появится предупреждение о загрузке котировок. Жмем “ОК”. Через некоторое время процесс подгрузки котировок можно считать завершенным. Вот теперь все нормально. Нажимаем кнопочку «Загрузить» и ждем пока подгрузится история.

Переходим в тестер стратегии и жмем на кнопку “Старт”. Согласно данным из отчета, цифры несколько изменились:

Рисунок 6. Повторное тестирование советника Илан.

Было открыто 263 сделки. Чистая прибыль составила $19.52. Прибыльность та же 1.08. Максимальная просадка составила $658.43 или 6,57% от всего депозита. Вывод: особо ничего не изменилось, поэтому прибегнем к оптимизации советника Форекс в МТ4, чтобы извлечь максимально возможную прибыль.

Попытка оптимизации

Изначальные настройки робот Илан имеет такие:

Рисунок 7. Стандартные настройки робота Ilan 1.6 Dynamic.

Итак, как оптимизировать этот советник в МТ4? Попробуем изменить некоторые параметры настроек:

  • Max Trades с 10 на 20;
  • Lot Exponent c 1.4 на 1.5;
  • TotalEquityRisk с 20 на 50.

Рисунок 8. Оптимизация советника Ilan 1.6 Dynamic.

Жмём кнопку “ОК”. Затем стартуем по новой. Когда оптимизация Илан была завершена, то тестер показал следующие результаты:

Рисунок 9. Результаты торговли советника после оптимизации.

Всего было заключено 282 сделки. Читая прибыль составила $53,39. Прибыльность 1.10. Максимальная просадка 13.90% от общего значения счёта. Тестировался робот Илан с 01.06.2022 по 30.06.2022. То есть, это результаты за 30 дней.

А что, если протестировать его с начала года и до 30.06.2022 года? Однако нам нужно снова прибегнуть к оптимизации советников Форекс в МТ4 – изменить параметр DefaultPips (шаг между открытием новых ордеров) с 12 на 24.

После нажатия на “Старт” за более чем полгода роботу удалось достичь таких результатов:

Рисунок 10. Результаты торговли робота Илан за полгода.

Всего роботу удалось заключить 1479 сделок. Прибыль составила $357.77. Прибыльность 1.10. Максимальная просадка составила 77.16 % или $7863.44 при изначальном депозите $10 тыс. Для всех роботов-сеточников такая большая просадка — это нормальная практика. Если Вас не устраивает такая оптимизация советников Форекс, можете открыть тестер стратегий и попробовать изменить параметры настроек автоматического робота Илан. Возможно, Вам удастся вывести более удачную оптимизацию.

Заключение

Выше мы не только показали, как проводится оптимизация советников на Форекс и вывели оптимальные настройки робота Ilan 1.6 Dynamic, которые показали достаточно неплохие результаты. Вот почему, так важно самому разбираться в настройках параметров. Ведь это позволит вовремя исключить возможные просадки.

В качестве заключения отметим, что сеточный советник Ilan 1.6 Dynamic абсолютно рабочий торговый инструмент для получения прибыли на рынке Форекс. Главное, чтобы оптимизация советника в МТ4 была проведена грамотно. Применять его можно в рамках центового счета. Но понадобиться изменить в большую сторону параметр Lots, скажем до 0.2-0.3, а то и выше. Всё зависит от размера депозита. В любом случае рекомендуем проверить эту настройку в тестере, и только потом торговать на реальном счете.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Как правильно оптимизировать советников в тестере стратегий МетаТрейдер 4 – подробно для начинающих

Как правильно оптимизировать советников в тестере стратегий терминала МетаТрейдер 4? Зачем вообще нужна оптимизация, и что это такое – оптимизация параметров советников для достижения прибыльной торговли валютой на Форекс? Ответы на эти и другие вопросы Вы сможете узнать, прочитав данный материал.

Тестер стратегий торгового терминала MetaTrader 4 имеет две важные функции. Это, непосредственно, тестирование советников и их оптимизация, суть которой заключается в подборе наиболее оптимальных параметров советников. Обычно трейдер оптимизирует (совершенствует) входные параметры роботов для того, чтобы сделать его максимально прибыльным при минимальных рисках.

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

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

Если прооптимизировать робота – советника на истории и сразу же поставить его торговать, радуясь, что результаты оптимизации были “красивыми”, надеяться на такие же результаты торговли советника в реальном режиме не стоит. Ведь, по сути, была проведена не настоящая оптимизация, а ПОДГОН параметров.

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

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

Если и на этом отрезке результаты тестирования (уже не оптимизация!) хорошие, значит, эксперта можно ставить торговать на реальный счет.

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

  • – H1: рекомендуемый исторический период – 2 года, форвардный – пол года;
  • – M30: 1,5 года и 4 месяца;
  • – M15: 1 год и 3 месяца.

Тестировать советники на меньших тайм-фреймах не рекомендуется. Для лучшего понимания тестового и форвардного периодов, рассмотрим их в виде рисунка:

То есть, если сегодня 30 ноября 2022 года, и мы решили прооптимизировать советника на периоде M15, с тестовым промежутком 1 год и форвардным 3 месяца, то конец тестового промежутка у нас будет 30 августа 2022 года, а его начало – 30 августа 2022 года.

Рассмотрим процесс тестирования и оптимизация советников более подробно:

Шаг 1. Настройка тестера. Открываем тестер стратегий через меню торгового терминала, раздел Вид. Во вкладке Советник выбираем советника, которого собираемся оптимизировать.

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

Далее – период, для которого имеются настройки оптимизации, и устанавливаем исторический промежуток, на котором будет прогоняться советник (чтобы лучше рассмотреть скрин, кликните по нему):

Запуск тестера стратегий.

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

После этого качаем сами котировки при помощи меню Сервис – Архив котировок – Символы – валютный инструмент – период.

Оптимизация советника – как улучшить эффективность торгового эксперта?

В одной из прошлых статей мы рассматривали различные способы тестирования Форекс советников, а сегодня мы поговорим о том, как оптимизировать советник при помощи стандартной торговой платформы MetaTrader4, которую используют многие брокеры MT4.

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

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

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

Однако это не совсем так, рынок Форекс постоянно меняется, и очень часто прибыльный советник на истории превращается в убыточный советник на реальном счете.

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

Например, если размер тейк-профита, предлагаемый разработчиками торгового эксперта, равен 100 пунктов, можно посмотреть, каким станет итоговый результат, если изменить значение тейк-профита на 80, 120, 140 и т. д.

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

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

Оптимизация советника осуществляется в торговом терминале MT4, никаких дополнительных программ устанавливать не требуется.

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

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

Для этого нажимаем F2 или заходим в Сервис – Архив котировок, выбираем валютную пару, например, EURUSD и скачиваем минутные котировки. После того, как загрузились котировки, необходимо еще раз их скачать, чтобы исключить вероятность возникновения каких-либо пробелов.

Выбирайте всегда качество моделирования «Все тики» – это наиболее точное и полное тестирование советника. Также необходимо поставить галочку напротив фразы «Использовать дату» и указать требуемый период тестирования – последний год, полугодие или квартал.

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

Далее нужно нажать «Свойства эксперта», во вкладке «Тестирование» указать размер депозита и выбрать оптимизируемый параметр, как правило, это «Баланс».

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

Во вкладке «Входные параметры» вы можете отметить галочкой те параметры, которые нужно оптимизировать. В графе «Значение» указаны настройки разработчиков, их менять не следует, а вот в графах «Старт», «Шаг» и «Стоп» нужно указать значения, которые позволят оптимизировать ваш советник. Например, вы можете оптимизировать советник по тейк-профиту.

В графе «Значение» советника MACD Sample напротив параметра Take Profit указано 50 пунктов, вы можете поставить в графе «Старт» – 30 пунктов, указать «Шаг» – 10 пунктов и «Стоп» – 80 пунктов. В результате тестер стратегий шесть раз протестирует советник с параметрами тейк-профита: 30, 40, 50, 60, 70 и 80 пунктов.

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

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

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

Чтобы установить выбранные входные параметры в «Свойства эксперта», нужно кликнуть правой кнопкой мыши по оптимальному результату и выбрать в открывшемся списке «Установить входные параметры». Когда вы в следующий раз будете выполнять тестирование советника, то в «Свойствах эксперта» будут автоматически проставлены выбранные параметры.

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

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

Тогда вы оптимизируете советник, выставив временной отрезок, равный 10-ти месяцам, а полученные результаты тестируете еще раз за последние 2-3 месяца, на которых вы не оптимизировали советник.

Таким образом, оставляя 20% от временного отрезка, вы проверяете, будут ли работать подобранные вами параметры после проведения оптимизации.

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

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

Поэтому необходимо, прежде всего, руководствоваться здравым смыслом и понимать особенности работы советника, а также хорошо разбираться в его настройках. Не нужно пытаться изменить то, в чем вы плохо разбираетесь, лучше оставить все как есть. Таким образом, оптимизацию советника следует проводить только в том случае, если он резко перестал приносить прибыль. Если вы покупали советник, то имеет смысл обратиться к его разработчикам, так как они время от времени занимаются его оптимизацией и могут вам предоставить актуальные настройки для нормальной работы советника. Смотрите также «Рейтинг советников Форекс для малых депозитов».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

По сути это обычная привычная для всех оптимизация параметров советника на встроенном оптимизаторе 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 в видео по оптимизации советника.

Форекс Статьи

Не многие сегодня знают, то самый обычный тестер стратегий в терминале metetrader 4 (или 5 на ваш вкус) позволяет, потратив определенное время на оптимизацию найти наилучший сет настроек. Позволяющий с помощью торгового робота зарабатывать как можно больше прибыли и попадать в как можно меньшие просадки.

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

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

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

Оптимизация позволяет за 1-5 часов понять имеет ли советник потенциал или нет и если этот потенциал есть – то использовать его на максимум. Разве ни этого хочет каждый трейдер? Давайте узнаем, как же проводить оптимизацию форекс советника.

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

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

В первой графе нужно будет выбрать название оптимизируемого советника, в наших примерах, это будет советник R-Profit V.8 от нашего проекта. Во второй, вы сможете выбрать валютную пару, на которой будете тестировать форекс робота.

Ну и конечно же, модель тестирования, временной интервал (таймфрейм), период тестирования (дата “от и до”) и спред (рекомендуется оставлять на параметре “текущий”). Предлагаем взглянуть на рисунок ниже, для более полноценного представления.

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

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

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

Для этого в новом метатрейдере необходимо произвести следующие действия: Файл -> Открыть каталог данных -> MQL4 -> Experts и уже в эту папку следует скопировать файл советника. Для загрузки сета настроек (обозначается в формате “.set”) необходимо произвести тот же план действий, однако в папке MQL4 найти папку Presents и скопировать сет именно туда.

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

чтобы использовать его, достаточно переместить из навигатора fx-советник на рабочий график выбранной валютной пары и во всплывающем окне нажать на кнопку “входные параметры” и уже в данном разделе выбрать “загрузить” программа сразу же направит вас в папку Presents из которой вы и загрузите в советник необходимый вам сет настроек. Сам по себе set ничто иное как оптимизированные настройки, позволяющие советнику зарабатывать больше при меньших просадках (если разработчики конечно не поленились провести качественную оптимизацию. иначе следует сделать это самостоятельно). При его загрузке, все настройки мгновенно проставляются во входных параметрах робота, вручную вам остается только установить стартовый лот (здесь уже следует рассчитать риск менеджмент). Вот теперь мы плавно подошли к вопросу о том, как же самостоятельно создать прибыльный сет настроек, чтобы ваш советник не только не потерял доверенных ему в обращение средств, но и приумножил их настолько, насколько это вообще возможно, имеющимся у вас на руках торговым роботом.

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

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

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

Можно загружать котировки от брокера Dukascopy с его 99% моделированием, однако, это более сложный процесс и не столь обязательный. Имеющийся в нашем распоряжении сервис MetaQuotes предоставляет 90%-ое моделирование и этого вполне достаточно для качественной оптимизации. Итак, что же необходимо сделать.

Снова смотрим на верхнюю панель инструментов в нашем метатрейдере и ищем там кнопку “сервис”, далее по списку: сервис -> архив котировок, после чего вам будет представлен список валютных пар, выбираете ту, на которой собираетесь оптимизировать советник и нажимаете на нее дважды, дабы появились списки таймфреймов.

Необходимо выбрать минутные графики, независимо от того, на каком временном интервале вы планируете оптимизировать робота. Так как любой ТФ состоит из минутных графиков, то так вы получите максимально точное моделирование истории, что собственно нам и нужно. Собственно нажимаете “загрузить”, ждете и в течении 2-3 минут все будет готово.

Закрываете окно котировок. Предварительно, для большей точности, можно пройти по еще одному пути: сервис -> настройки -> графики, там вы увидите строчку “Макс баров в истории”, проставьте 10 000 000, если там установлена другая цифра и нажмите “ОК”.

На этом подготовительные мероприятия окончены, остается парочка финальных этюдов, которые мы прямо сейчас с вами и разберем.

Оптимизация советника. Подготовка.

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

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

Вам откроется следующее меню настроек (для каждого советника оно разнообразно в зависимости от функционала, мы как говорилось выше показываем на R-Profit V.8):

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

Важно обратить внимание на последние три столбика: старт – шаг – стоп. Именно они и будут отвечать за ход оптимизации торгового робота.

К примеру, мы хотим понять, какой стоп приказ будет наиболее оптимальным (при котором мы будем больше зарабатывать и меньше терять) и выставляем в указанных столбиках следующие показатели: 10 – 5 – 100.

Что для программы будет означать следующее: во время оптимизации будут протестированы все варианты со стоп лосом от 10 пунктов, до 100 с шагом в 5 пунктов. То же касается любого другого параметра. Выставлять необходимо настройки для каждого параметра сразу, чтобы во время оптимизации учитывались все возможные комбинации настроек.

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

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

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

Желаем Вам успешного тестирования.

Ваш, Портал Форекс Трейдера!

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

Многие читатели блога уже тестируют скальпинг советник Romum и пишут, что он успешно работает. В чем, впрочем, я и не сомневался -)

Но, так как я дал актуальные на момент публикации настройки только для депозитов в 100$ и 500$, а также конкретно для шести валютных пар, то стали возникать вопросы, типа — какие нужны настройки для других сумм депозитов?

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

Да, я понимаю, оптимизация советника для многих дело темное и непонятное, поэтому обучение на эту тему уже назрело!

Сегодня рассмотрим настройки форекс советников, нуждающиеся в оптимизации, а в следующей статье будет практическое руководство по оптимизации советников в МТ4…

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

Зачем оптимизировать советник

Думаю, сначала стоит пояснить из-за чего происходят сливы депозитов и почему советникам необходима регулярная оптимизация.

Безусловно, все кто работают с роботами, знакомы с тезисом, что все советники рано или поздно сливают депозит. Конечно, в основном громче всех об этом кричат «трейдеры», которые ожидали, что советник, как принтер, будет печатать им деньги пачками! -)

Но, на самом деле, вряд ли кто-то из них понимает, что причиной слива в 90% случаев виновен не советник, а их непосредственная халатность. Фраза «поставил и забыл, а советник заработает» — это не более чем маркетинговый ход продавцов советников.

Рынок является крайне непредсказуемой и изменчивой структурой.

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

Грубо говоря, если цена длительное время в день проходила по 100-200 пунктов, создавая широкие волны, не факт что в обозримом будущем она будет в день проходить 50-100 пунктов. Следовательно, ширина тренда и канал флета значительно сократятся.

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

Исходя из вышесказанного, думаю понятно, что «поставил и забыл», естественно приведет к слитию депозита, рано или поздно? Да, если ваш советник ушел в просадку или начал постепенно сливать депозит, то это уже сигнал — необходимо проводить оптимизацию параметров.

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

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

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

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

Оптимизация тейк профита и стоп лосса

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

То есть, восходящий или нисходящий тренд, флет (боковое движение цены), и коррекция, как были все существование рынка Форекс, так и будут всегда.

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

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

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

Но да, именно эти изменения рынка чаще всего приводят к убыткам, поэтому в советниках стоп лосс и тейк профит (take profit), следует оптимизировать в первую очередь.

Оптимизация трейлинг стопа

Оптимизация трейлинг стопа (Trailing Stop), а именно — функции перетягивания стоп приказа следом за ценой, оптимизируется ровно по той же причине, что и предыдущие параметры, так как основной причиной преждевременного срабатывания стоп лосса, является опять таки, волатильность рынка.

Ведь цена практически никогда не движется четко в одном заданном направлении. На её пути все время встречаются откаты (коррекция), вызванные высокой волатильностью.

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

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

Оптимизация параметров Мартингейла, усреднения, сетки

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

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

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

Оптимизация фильтра

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

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

Оптимизация сигнального индикатора советника

Сигнальный индикатор, на основе которого советник открывает сделку — это самый главный элемент стратегии советника.

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

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

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

В заключение надеюсь, что благодаря этому простому руководству вы уже понимаете, какие параметры советника, за что отвечают, по каким причинам и в какой очередности их следует оптимизировать? -)

В следующей статье рассмотрим, как правильно оптимизировать советник, а также распространенные методы оптимизации советников Форекс в МТ4.

Как научить советник прибыльно торговать на рынке Форекс?

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

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

Итак, поехали :-). Как помните из предыдущей статьи как тестировать советник, мы протестировали стандартный эксперт MACD Sample из стандартными параметрами на истории котировок (за 2022 год) и получили неутешительные результаты. Сейчас же мы проведем оптимизацию этого советника и посмотрим, как изменится его эффективность торговли.

Для того чтобы выбрать оптимальные параметры для торгового работа, после проведения тестирования, в окне тестера стратегий нажимаем на кнопку «Свойства эксперта» / вкладка «Входные параметры».

Что мы здесь видим? Это список параметров и их значения, по которым торгует советник. Для того чтобы оптимизировать какой-то из них, нужно обозначить их галочками (рис. ниже).

Лот мы не выбираем, поскольку данный советник не использует никакой тактики мани менеджмента на Форекс, потому проставляем значение 0.1 для всех случаев.

Теперь давайте разберемся, что означают значения в полях «Старт», «Шаг» и «Стоп». Это параметры, которые советник будет прогонять (каждый по циклу) на заданной истории котировок, после чего Вы будете иметь возможность выбрать лучший вариант из сделанных прогонов, но об этом чуть позже.

Для примера, если вы поставите для параметра TakeProfit:

А для всех остальных параметров эксперта значение шаг и стоп будут равны 0, то оптимизация советника, в таком случае, будет проходить только для параметра тейк профит и выглядеть так:

Так эти значения «Старт», «Шаг» и «Стоп» проставляются для каждого параметра советника отдельно и тогда проводится оптимизация.

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

  • Параметр TakeProfit у нас будет прогонятся по порядку от значения 50 пунктов до 200 с шагом 1.
  • Lots не оптимизируем, соответственно для колонок шаг и стоп оставляем 0.
  • Трейлинг стоп от 10 до 100 пипсов.
  • Для параметров MACDOpenLevel выставляем количество свечей от 3 до 30 с шагом 1. MACDCloseLevel от 2 до 30.
  • И периоды для скользящей средней МАTrendPeriod от 20 до 100.

Есть! Установили :-). Теперь на вкладке «Тестирование» выбираем депозит (в нашем случае, 1000$) для которого будет проводится оптимизация советника, после чего нажимаем на кнопку «ОК».

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

Оптимизация советника займет несколько минут в зависимости какой мощности у Вас компьютер. Соответственно после завершения оптимизации, в окне тестера стратегий появляются дополнительные вкладки «Результаты оптимизации» и «График оптимизации».

В первой, Вы можете просмотреть результаты каждого прогона (у нас их получилось 4511), отсортировать их по прибыли, количестве сделок, просадке т.д. После того как проанализировали и выбрали для себя лучший вариант прогона, кликаем правой кнопкой мыши по строчке данного прогона и в открытом контекстном меню нажимаем «Установить входные параметры».

Если после этого зайдем на вкладку «Свойства эксперта», то увидим, что советник принял новые параметры, которые мы ему установили.

Как показано на рисунках выше, я отсортировал колонку с наибольшей прибылью (она составила – 1586$) и установил эти параметры для эксперта. Теперь нужно заново протестировать советник, чтобы получить реальный график и отчет эффективности его торговли за указанный период. Для этого снимаем галочку «Оптимизация» и нажимаем на кнопку «Старт».

Как видно на рисунке выше, из вкладки «График», оптимизация советника и его повторный тест показал значительно лучший результат (прибыль за указанный период (год) составила – 1586 дол.) по сравнению с предыдущим тестированием со стандартными параметрами (прибыль – 452$).

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

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

Для примера, так как мы проводили тестирование за период и котировками за 2022 год, то для форвард теста возьмем весь доступный период 2022 года (котировки для робота, в этом случае, будут неизвестны).

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

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

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

Видео обязательное для просмотра «Миф об оптимизации торговых советников»:

Всем пока. До встречи на форекс блоге

Настройка – Оптимизация советников – Автотрейдинг – Справка по MetaTrader 4

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

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

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

Для тестирования и оптимизации советников в терминале используется специальное окно “Тестер”. Все вышеперечисленные настройки производятся во вкладке “Настройка” этого окна.

Советник и его параметры

В поле окна “Тестер — Советники” следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.

После того как выбран советник, необходимо провести дополнительную настройку и задать входные параметры. Это можно сделать нажатием кнопки “Свойства эксперта”.

При этом появится новое окно с тремя вкладками:

Тестирование

В этой вкладке задаются общие параметры оптимизации. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник во время оптимизации.

В этой вкладке также выбираются типы открываемых позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.

Также можно включить генетический алгоритм оптимизации. Подробное описание этого алгоритма можно найти в статье “Генетические алгоритмы — математический аппарат”.

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

  • Balance — показателем оптимизированности является максимальное значение баланса;
  • Profit Factor — показателем является максимальное значение фактора прибыльности;
  • Expected Payoff — показателем является максимальное значение математического ожидания выигрыша;
  • Maximal Drawdown — показателем является минимальное значение просадки;
  • Drawdown Percent — показателем является минимальное значение относительной просадки (в процентах);
  • Custom — при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.

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

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

При оптимизации входные параметры советника задаются в полях “Старт”, “Шаг” и “Стоп”. В этих полях задаются начальные значения, шаг изменения и конечные значения внешних переменных соответственно. Слева от названия переменных имеются галочки, включающие параметр в оптимизацию.

Если переменная не отмечена галочкой, она не участвует в оптимизации. Ее значение в процессе оптимизации не изменяется, и используется параметр, записанный в поле “Значение”. Количество прогонов эксперта напрямую зависит от этих параметров.

Данные, записываемые в поле “Значение”, не влияют на оптимизацию советника и необходимы лишь для его тестирования.

Существует возможность загрузить уже сохраненный набор входных параметров (включая значения “Старт”, “Шаг” и “Стоп”). Это можно сделать, нажав кнопку “Загрузить” и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.

Оптимизация

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

Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мыши в поле “Значение” можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу “Enter”.

К ограничивающим параметрам относятся:

  • Минимальный баланс — минимальное значение баланса в валюте депозита;
  • Максимальная прибыль — максимальная прибыль в валюте депозита;
  • Минимальный уровень маржи % — минимальный уровень маржи в процентах;
  • Максимальная просадка % — максимальная просадка в процентах;
  • Непрерывный убыток — максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
  • Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;
  • Непрерывный выигрыш — максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
  • Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.

Финансовый инструмент и его период

Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных.

При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER.

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

Финансовый инструмент задается в поле “Символ”, а таймфрейм — в поле “Период”. Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.

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

Методы моделирования

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

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

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

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

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

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

В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска оптимизации. Однако пользователь может задать собственное значение спреда для оптимизации в поле “Спред”.

Временной диапазон

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

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

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

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

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

Настройка

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

Для тестирования и оптимизации советников в терминале используется специальное окно «Тестер». Все вышеперечисленные настройки производятся во вкладке «Настройка» этого окна.

Советник и его параметры #

В поле окна «Тестер — Советники» следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.

После того как выбран советник, необходимо провести дополнительную настройку и задать входные параметры. Это можно сделать нажатием кнопки «Свойства эксперта».

При этом появится новое окно с тремя вкладками:

Тестирование

В этой вкладке задаются общие параметры оптимизации. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник во время оптимизации.

В этой вкладке также выбираются типы открываемых позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.

Также можно включить генетический алгоритм оптимизации. Подробное описание этого алгоритма можно найти в статье «Генетические алгоритмы — математический аппарат».

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

  • Balance — показателем оптимизированности является максимальное значение баланса;
  • Profit Factor — показателем является максимальное значение фактора прибыльности;
  • Expected Payoff — показателем является максимальное значение математического ожидания выигрыша;
  • Maximal Drawdown — показателем является минимальное значение просадки;
  • Drawdown Percent — показателем является минимальное значение относительной просадки (в процентах);
  • Custom — при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.

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

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

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

Существует возможность загрузить уже сохраненный набор входных параметров (включая значения «Старт», «Шаг» и «Стоп»). Это можно сделать, нажав кнопку «Загрузить» и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.

Оптимизация

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

Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мыши в поле «Значение» можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу «Enter».

К ограничивающим параметрам относятся:

  • Минимальный баланс — минимальное значение баланса в валюте депозита;
  • Максимальная прибыль — максимальная прибыль в валюте депозита;
  • Минимальный уровень маржи % — минимальный уровень маржи в процентах;
  • Максимальная просадка % — максимальная просадка в процентах;
  • Непрерывный убыток — максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
  • Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;
  • Непрерывный выигрыш — максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
  • Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.

Финансовый инструмент и его период #

Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных. При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестированиях, если был выбран имеющийся в терминале инструмент.

Финансовый инструмент задается в поле «Символ», а таймфрейм — в поле «Период». Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.

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

Методы моделирования #

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

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

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

  • По ценам открытия (быстрый метод на сформировавшихся барах)
    Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
    В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
  • Контрольные точки (используется ближайший таймфрейм + фрактальная интерполяция)
    Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В большинстве случаев имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе цен закрытия 12 предыдущих баров. То есть, движение внутри бара повторяет движение цены за последние 12 периодов. Это и есть фрактальная интерполяция.
    Как только появляются исторические данные меньшего таймфрейма, фрактальная интерполяция применяется уже к этим данным. Однако используется уже не 12, а всего 6 предыдущих баров. То есть воспроизводятся реально существующие цены Open, High, Low, Close плюс ещё две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на 6 предыдущих барах.
  • Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
    Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от «контрольных точек», потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, фрактально генерируются контрольные точки. Для генерации движения цены между контрольными точками также используется фрактальная интерполяция. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
    Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.

В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска оптимизации. Однако пользователь может задать собственное значение спреда для оптимизации в поле «Спред».

Временной диапазон #

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

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

Оптимизация робота самостоятельно

Как оптимизировать Форекс советника самостоятельно для разных временных интервалов или других инструментов

Мы делаем оптимизации несколько раз в месяц — по мере необходимости. Также можно производить дооптимизации настроек гораздо чаще самостоятельно, если вас не устраивают рекомендованные настройки или вы хотите добиться более комфортной для вас работы Форекс советника (торгового робота), либо хотите попробовать его с другим встроенным индикатором, на новом временном интервале или на новом торговом инструменте.

Торговые системы «Robots Forex» являются профессиональным инструментом для работы на рынке Форекс и товарных биржах. Наши роботы имеют много параметров и настроек, несколько индикаторов и дополнительных возможностей, все из которых мы даже не используем, потому что просто физически невозможно охватить весь спектр реализаций этих возможностей несколькими трейдерами-оптимизаторами.

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

Персональная оптимизация от профессионалов Robots Forex

Самые свежие актуальные профессиональные оптимизации по вашему запросу. Качественно и быстро, используя максимально доступную историю котировок (например EURUSD с 1998 г. по 2022 г.) и учитывая наш многолетний опыт.

  1. Выбирайте валютную пару,
  2. Укажите вашего брокера,
  3. Добавьте название робота.

Остальное мы сделаем сами, а тайм-фрейм мы подберём самый оптимальный для вашего робота! Также учтём особенности определённых типов счетов и брокеров.

Подготовка к оптимизации

Во-первых, все оптимизации нужно производить на довольно мощном компьютере, и обычный простой VPS-сервер для Форекс не подойдет, так как при оптимизации используется большой объем памяти и процессор загружается довольно сильно, что может привести к зависанию вашего VPS-сервера. Поэтому рекомендуем использовать домашний компьютер с хорошим процессором и достаточной памятью. Чем слабже компьютер — тем дольше будут проходить оптимизации.

Во-вторых, для оптимизаций необходим точно такой же торговый терминал от того же самого брокера, на котором работает ваш торговый робот. Нужно подключаться к тому же торговому счету и открывать график той валютной пары (или товарного инструмента — золота, нефти), которые желаете оптимизировать. Если нет ограничений по счетам и инструментам, то можно использовать различные торговые счета и разные торговые инструменты. Например, мы не имели дело с инструментами «Bitcoin» или «доллар/рубль» или «кукуруза», а вы спокойно можете произвести оптимизацию для данных инструментов и, если найдете смысл запускать на них робота, то можете это сделать для робота Double Trader Extreme, который не имеет ограничений по инструментам и счетам. Если же робот имеет ограничения — то можно менять индикаторы, временные интервалы, расписание торговли и любые другие параметры из панели управления робота в рамках одного торгового инструмента / валютной пары.

1. Установите торговый терминал MetaTrader 4 себе на компьютер.

Скачать его можно с сайта вашего брокера, список брокеров представлен здесь…

2. Подключитесь к вашему торговому счету в терминале.

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

Введите логин (номер счета) и пароль от него, также выберите правильный торговый сервер брокера.

3. Откройте график оптимизируемого символа

Откройте новый график нужного инструмента, кликнув на нем правой кнопкой мыши и выбрав Окно графика.

Если этого инструмента нет среди активных символов, кликните правой кнопкой мышки на любом символе в Обзоре рынка и выберите символы, затем включите нужный символ.

4. Загрузите вручную историю котировок с графика

Перед тем как загрузить историю реальных котировок брокера нужно отключить авто-прокрутку графика и установить максимально возможную историю котировок.

В меню Сервис выберите пункт Настройки:

В настройках во вкладке Графики установите максимальное количество баров в истории и на графике 2 000 000 000.

Нажмите ОК.

Загрузите правильные котировки для нужного тайм-фрейма

Затем на графике символа, именно на том временном интервале (тайм-фрейме), который планируется оптимизировать, нужно кликнуть мышкой и нажать клавишу Home на клавиатуре. Либо можно крутить колёсиком мышки вниз до упора, после чего должны подгрузиться предыдущие данные графика. Таким образом, нажимая несколько раз Home либо докручивая мышкой до начала графика и потом снова повторяя эти действия, можно загрузить максимально возможную историю котировок данного брокера, на которой можно нормально оптимизировать робота. Загрузка другими способами архива котировок (например с сервера MetaQuotes) только навредит, так как они не будут правильными для этого брокера.

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

5. Откройте «тестер стратегий»

В меню Вид выберите пункт Тестер стратегий:

Либо нажмите на кнопку тестера на верхней панели терминала (если она там есть):

Откроется окно тестера стратегий внизу терминала.

6. Выберите оптимизируемого робота и желаемые параметры торговли

Сначала выберите робота, затем нужный символ, временной период (тайм-фрейм). Модель нужно выбирать По ценам открытия. Спред нужно устанавливать соответственно брокеру — у всех он разный и его величину вы можете уточнить у брокера, либо глянув на разницу покупки и продажи инструмента в терминале (в рабочее время). Если у символа нет спреда, ставьте текущий.

Устанавливайте желаемое время оптимизации — дату начала и окончания.

7. Установка параметров оптимизации робота

После установки основных параметров можно нажимать на кнопку Свойства эксперта.

Откроется панель управления оптимизацией робота. В первой вкладке Тестирование нужно установить размер депозита и оптимизируемый параметр (обычно оптимизируем по Maximal Drawdown — максимальная просадка), также желательно включить Генетический алгоритм. Можно пробовать оптимизировать и по другим параметрам, если есть их понимание:

Затем откройте сразу третью вкладку Оптимизация, где можно выбрать максимальную величину оптимизируемого параметра, который также необходимо здесь включить. Кроме того, здесь можно ускорить оптимизацию, установивив дополнительные ограничения (хотя обычно лучше начать с максимально возможным количеством результатов в итоге):

Далее отрывайте вкладку Входные параметры, где находятся основные параметры. В этой вкладке необходимо выбрать желаемый индикатор и установить соответствующие ему параметры для оптимизации. Также здесь нужно выбрать какие именно параметры будут оптимизироваться, а какие наоборот будут постоянными. По сути можно оптимизировать любые параметры, но некоторые просто очевидно остаются одинаковыми и не нуждаются в оптимизации. Также, например, бессмысленно тратить время на оптимизирование параметра Период МА-фильтра, если этот МА-фильтр отключен. Кроме того, нужно понимать, что при выборе разных индикаторов, они используют разные параметры для работы и их нужно выбирать соответственно. Какие именно параметры за что отвечают вы можете ознакомиться в Руководстве пользователя роботами…

Можно сохранить все настройки для тестера на будущее в файл, нажав кнопку Сохранить и придумав новое имя файла.

Не забудьте нажать ОК для применения установленных параметров перед стартом оптимизации.

8. Процесс оптимизации

После установки всех желаемых параметров, нужно включить режим Оптимизация и нажать Старт.

Если процесс оптимизации не начался, то возможна ошибка из-за слишком большого количества оптимизируемых параметров. Чтобы проверить это, нужно открыть вкладку Журнал внизу тестера стратегий:

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

9. Выбор результатов оптимизаций

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

Откройте вкладку Результаты оптимизации. В ней будут отображены множество вариантов параметров и результаты их использования. Отсортируйте по нужному вам параметру (например, Прибыль или наоборот, Просадка):

Затем нужно применить понравившиеся параметры, исходя из предпочтений оптимизатора и поставленных ранее задач — нажмите правой кнопкой мыши на нужном результате и выберите во всплывающем меню Установить входные параметры:

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

После прогона выбранных параметров в тестере, можно изучить результат в графическом виде во вкладке График либо в цифровом формате во вкладке Отчет:

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

и далее нажать Сохранить.

Затем придумать название SET-файла и нажать еще раз кнопку Сохранить:

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

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

При возникновении вопросов можете оставлять комментарии — инструкция будет дополняться и улучшаться по мере необходимости.

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

Для многих новичков понятие оптимизация может ассоциироваться с чем-то сложным и непонятным. На самом деле оптимизация, это простая подгонка параметров под сложившиеся условия на рынке.

Так, когда трейдер подгоняет определённый индикатор на истории, он тоже занимается оптимизацией, однако она просто выглядит немного иначе.

Почему необходимо проводить оптимизацию

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

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

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

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

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

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

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

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

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

Третья и самая точная модель называется «Все тики». Суть модели состоит в том, что при обработке параметров берутся данные со всех тайм фреймов, что обеспечивает точность оптимизации экспертов торгующих внутри бара (скальперы, пипсовщики). Данный метод оптимизации обладает самой высокой точностью, но при этом самый время затратный.

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

Правильный алгоритм оптимизации советника

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

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

Чтобы приступить к самому процессу оптимизации следует настроить ряд критериев, которые помогут отсечь нереальные результаты оптимизации. Для этого в тестере стратегий войдите в настройки советника и переключите вкладку на «Оптимизация». В этой вкладке вы можете задать значения ограничения по минимальному балансу, максимальной прибыли в процентах, минимальному уровню маржи и максимальной просадке, непрерывному убытку и непрерывному количеству убыточных сделок, а также непрерывный выигрыш, непрерывное количество выигранных сделок.

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

Далее нажмите «Ок» и начните оптимизацию. После того как вы стартуете тестер выдаст вам информацию по времени и количеству выборок. По окончанию оптимизации зайдите в раздел «Результаты оптимизации» и выберите парочку приемлемых результатов.

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

Торговая платформа MetaTrader 5 до недавних пор совершенно не пользовалась популярностью среди форекс трейдеров. А все потому, что она изначально была заточена под биржевую торговлю с неттинговым учетом позиций, то есть по одному финансовому инструменту можно было иметь только одну позицию, – все дальнейшие операции по нему вели к изменению объема открытой позиции, закрытию или развороту существующей позиции. Следовательно, трейдер не имел возможности торговать сетками, доливаться, использовать замки и применять прочие подобные методы управления позицией.

Но в марте этого года ситуация кардинально изменилась – в платформу была таки добавлена вторая система учета – хеджинг. Та самая система, что используется в четвертой версии терминала. Теперь по инструменту можно иметь множество позиций, в том числе — разнонаправленных. Итак, все те недостатки, что ранее отталкивали форекс трейдеров от платформы MetaTrader 5, убраны, и настало время приглядеться к ней повнимательней. Дает ли какие-то преимущества использование пятой платформы при оптимизации торговых советников? Стоит ли переходить на новую платформу любителям автоматизированной торговли или лучше остаться со старым добрым MT4? Сегодня мы научимся оптимизировать советники на платформе MetaTrader 5 и рассмотрим основные преимущества и недостатки оптимизации советников с ее помощью.

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

Как тестировать советники и какие бывают режимы тестирования в МТ5 мы уже разобрались в предыдущей статье. Также вы уже знаете, как устанавливать советники в терминал. Поэтому сразу перейдем к основной теме этой статьи – оптимизации торговых экспертов в платформе МТ5.

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

Тестер стратегий в МТ5 является многопоточным и позволяет задействовать все доступные ресурсы компьютера. Тестирование и оптимизация осуществляются при помощи специальных вычислительных агентов, которые работают независимо и позволяют проводить параллельные вычисления проходов оптимизации. К тестеру стратегий может быть подключено неограниченное количество агентов, работающих удаленно. Помимо этого, в тестере стратегий доступна для использования огромная сеть облачных вычислений MQL5 Cloud Network. Она объединяет тысячи агентов по всему миру, и эта вычислительная мощь доступна любому пользователю торговой платформы.

Подготовка к оптимизации

Тестер позволяет проводить проверку на истории стратегий, торгующих на нескольким инструментах. Такие эксперты условно называют мультивалютными. История по используемым инструментам закачивается тестером из торговой платформы (не с торгового сервера) автоматически при первом обращении к данному инструменту. С торгового сервера докачивается только недостающая история. Таким образом, для тестирования и оптимизации советников используется в основном история, специально подготовленная компанией MetaQuotes, а не реальная история котировок конкретного брокера.

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

Выбор настроек оптимизации

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

  1. Выберите советник, который необходимо оптимизировать.
  1. Выберите валютную пару, на которой будет проводится оптимизация. Для мультивалютных советников это пара, на графике которой будет «висеть» советник.
  1. Таймфрейм для работы советника. Как вы уже знаете, в МТ5 появилось множество дополнительных периодов и на каждом из них можно протестировать и оптимизировать советника. И хотя полезность появления таких периодов, как М3, М12 или Н2 довольно сомнительна, радует, что теперь можно тестировать долгосрочные советники на периодах W1 или MN
  1. Выбор интервала для оптимизации:

При выборе «вся история» оптимизация пройдет на всей доступной истории котировок. Следующие два интервала, конечно же, совершенно бесполезны.

  1. Также можно задать явные даты начала и окончания периода оптимизации («выбор периода»)

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

  1. Форвард.

Все мы знаем, как грустно было отсеивать прогоны в четвертом терминале, вручную сотни и тысячи раз гоняя форвард тесты по каждой оптимизации. Боги смилостивились над нами и метаквоты снизошли до нужд рядовых трейдеров. Теперь прогоны при оптимизации автоматически отсеиваются, если не проходят форвард тесты. У нас есть выбор – использовать половину выделенной истории, треть или четверть под форвард тест. Также есть возможность указать конкретную дату начала периода форвард теста самостоятельно. Результаты лучших прогонов при оптимизации на обоих периодах затем можно сравнить на вкладках “Результаты оптимизации” и “Результаты форвард тестирования”. Бэквард тест, к сожалению, по-прежнему приходится гонять вручную. И тем не менее, это большой шаг навстречу.

  1. Режим торговли

На данный момент предусмотрены два режим торговли: «Обычный» и «Произвольная задержка». В обычном режиме все ордера исполняются по запрошенным ценам, отсутствуют реквоты и т.д. – то есть то же, что и в четвертом терминале (идеальное исполнение).

Режим произвольных задержек предусмотрен для тестирования экспертов в условиях, приближенных к реальным. С момента отсылки приказа и до его исполнения цена может измениться. В зависимости от отклонения (Slippage), установленного в ордере, может произойти его исполнение по текущей цене (если она в пределах отклонения) или реквотирование. Тестирование в данном режиме позволяет разработчику правильно запрограммировать обработку подобных ситуаций, а так же приблизит тесты советника к реальным условиям. Имитация задержки осуществляется для всех торговых запросов, отсылаемых из терминала (выставление ордеров, изменение стоп-уровней, и т.д.). Задержка исполнения осуществляется по следующему принципу: случайным образом выбирается число от 0 до 9, и на такое число секунд осуществляется задержка; если выбранное число равно 9, то случайным образом выбирается еще одно число из такого же диапазона и прибавляется к первому. Таким образом, вероятность задержки исполнения на 0-8 секунд составляет 90%, а вероятность задержки на 9-18 секунд составляет 10%.

  1. Режим генерации тиков

Можно выбрать один из режимов генерации тиков:

  • Все тики — наиболее точный, но и наиболее медленный режим моделирования. В нем моделируются все тики.
  • Каждый тик на основе реальных тиков — максимально приближенный к реальным условиям режим. Используются реальные тики, накопленные брокером по финансовым инструментам. Моделирование не осуществляется. Тиковые данные имеют большой размер, при первом запуске тестирования их скачивание с сервера брокера может занять продолжительное время.
  • OHLC на М1 — в данном режиме моделируются лишь 4 цены каждого минутного бара — цены Open, High, Low и Close.
  • Только цены открытия — в данном режиме моделируются также цены OHLC, однако для тестирования/оптимизации используется лишь цена открытия.
  • Математические вычисления — в данном режиме тестер не будет подкачивать исторические данные, информацию о символах и не будет генерировать тики. Будут вызваны только функции OnInit(), OnTester() и OnDeinit(). Таким образом тестер можно использовать для различных математических вычислений, где требуется подбор параметров.
  1. Начальный депозит

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

  1. Плечо.

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

  1. Оптимизация

Во вкладке “Настройки” Тестера стратегий нас интересует только строка Оптимизация (со всеми остальными функциями вы уже знакомы). В тестере стратегий предусмотрено два режима оптимизации.

Отключена – оптимизация параметров отключена, происходит работа в режиме тестера стратегий.

Медленная (полный перебор параметров). В этом режиме тестер перебирает все возможные комбинации параметров эксперта, выбранных для оптимизации на соответствующей вкладке:

Этот метод – наиболее точный, но прогоны советника со всеми комбинациями параметров может занять слишком много времени.

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

Каждая особь имеет определенный набор генов, который соответствует набору ее параметров. Генетическая оптимизация основана на постоянном отборе наиболее приспособленных параметров (значения, которые дают наилучший итоговый результат).

В общем виде алгоритм может быть представлен следующим образом:

  1. Из общего числа возможных комбинаций параметров случайным образом выбираются две популяции (множества).
  2. Проводится тестирование обоих множеств, и из них оставляется только одно множество, имеющее наилучшие результаты (по критерию оптимизации).
  3. Члены данного множества случайным образом скрещиваются между собой, претерпевая случайные мутации и инверсии параметров.
  4. Потомки сортируются по наилучшим результатам и скрещивание повторяется.
  5. Операции сортировки и скрещивания продолжаются до тех пор, пока есть улучшение результатов (наилучший результат среди потомков превышает наилучший результат среди родителей). Для окончания оптимизации необходимо отсутствие улучшения критерия оптимизации на протяжении нескольких скрещиваний (поколений).

После запуска генетической оптимизации на вкладке “Настройки” показывается оценочное количество предстоящих проходов тестирования. Если общее количество шагов оптимизации превышает 1 000 000 в 32х битной системе или 100 000 000 в 64х битной системе, то автоматически включается режим быстрой оптимизации.

Промежуточные результаты сохраняются в кэше после расчета каждого поколения (файл папка_данных_платформы/tester/cache/*.gen). Таким образом, процесс генетической оптимизации можно прерывать в любой момент. Даже если процесс генетической оптимизации будет прерван из-за внешних причин (например, отключения электричества), оптимизация будет автоматически продолжена с последнего рассчитанного поколения при последующем запуске. Кэш генетической оптимизации хранится до изменения настроек оптимизации или до полного завершения процесса оптимизации. При штатной остановке оптимизации (кнопкой “Стоп”) сохраняются все ранее рассчитанные проходы. При возобновлении оптимизации, процесс будет продолжен с места остановки.

Все символы, выбранные в окне “Обзор рынка”. В отличие от двух предыдущих, данный режим оптимизации позволяет испытать советника с одинаковыми входными параметрами, но на различных символах. При каждом проходе оптимизации изменяется только основной символ тестирования советника. Оптимизация проходит только на тех символах, которые в текущий момент выбраны в окне “Обзор рынка”. Таким образом, регулируя набор выбранных символов, можно управлять оптимизацией. Закачка необходимых ценовых данных с сервера может занимать продолжительное время, но это происходит только при первом ее запуске на символе, в последующих докачиваются лишь недостающие данные. При оптимизации по символам, используются текущие значения входных параметров, указанные в колонке “Значение”.

  1. Критерий оптимизации

Выбор данного показателя осуществляется на вкладке “Настройки” справа от поля “Оптимизация”. Критерий оптимизации необходим только для генетического алгоритма. Доступны следующие критерии оптимизации:

Максимальный баланс — показателем оптимизированности является максимальное значение баланса.

Баланс + максимальная прибыльность — показателем является максимальное значение произведения баланса на прибыльность.

Баланс + максимальное матожидание выигрыша — показателем является произведение баланса на матожидание выигрыша.

Баланс + минимальная просадка — в данном случае помимо значения баланса учитывается уровень просадки: Баланс/Просадка по эквити.

Баланс + максимальный фактор восстановления — показателем является произведение баланса на фактор восстановления.

Баланс + максимальный коэффициент Шарпа — показателем является произведение баланса на коэффициент Шарпа.

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

Выбор входных параметров для оптимизации

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

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

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

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

Чтобы начать оптимизацию, нажмите “Старт” на вкладке “Настройки”. Левее при этом будет показываться ход ее выполнения.

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

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

Для каждого прохода оптимизации выводятся следующие показатели:

Проход — номер прохода.

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

Прибыль — полученная прибыль/убыток по результатам прохода.

Всего трейдов — общее количество трейдов (сделок, которые привели к фиксации прибыли или убытка), совершенных за данный проход.

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

Матожидание выигрыша — этот статистически рассчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки.

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

Фактор восстановления — данный показатель отображает рискованность стратегии

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

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

При помощи команд контекстного меню можно скрывать/показывать некоторые из вышеуказанных столбцов.

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

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

Для анализа в сторонних программах, например, в экселе, отчет оптимизации можно сохранить в виде файла командой “Экспортировать в XML” в контекстном меню. Также, численные значения всех параметров и характеристик, полученные в результате оптимизации, по ее завершении сохраняются в XML файл, расположенный в папке папка_данных_платформы/tester/cache/. Файлу присваивается имя по следующему правилу: ExpertName.Symbol.Period.GenerationMode.xml. Здесь:

ExpertName — наименование оптимизируемого эксперта.

Period — таймфрейм (M1,H1,…).

GenerationMode — режим генерации тиков (0 — “Все тики”, 1 — “OHLC на M1”, 2 — “Только цены открытия”).

При генетической оптимизации промежуточные результаты сохраняются в кэше после расчета каждого поколения (файл папка_данных_платформы/tester/cache/*.gen). Таким образом, процесс генетической оптимизации можно прерывать в любой момент. Даже если процесс генетической оптимизации будет прерван из-за внешних причин (например, отключения электричества), оптимизация будет автоматически продолжена с последнего рассчитанного поколения при последующем запуске. Кэш генетической оптимизации хранится до изменения настроек оптимизации или до завершения процесса оптимизации. При штатной остановке оптимизации (кнопкой “Стоп”) сохраняются все ранее рассчитанные проходы. При возобновлении оптимизации, процесс будет продолжен с места остановки.

Визуальное представление результатов оптимизации

Тестер стратегий в торговой платформе обладает мощной системой визуализации результатов оптимизации. На вкладке “График оптимизации” доступно несколько видов графиков, переключаться между ними можно через контекстное меню.

Нулевая линия (плоскость)

На всех видах графиков, за исключением плоского, отображается нулевая линия (или плоскость, в случае с трехмерным графиком). Если в качестве критерия оптимизации используется значение баланса, данная линия обозначает величину начального депозита, позволяя таким образом визуально отделить убыточные проходы от прибыльных. Во всех остальных случаях данная линия рисуется по нулевому значению критерия оптимизации.

График с результатами и Линейный график (1D)

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

На линейном графике (1D) отображается изменение параметра, являющегося критерием оптимизации (вертикальная ось) в зависимости от одного из оптимизируемых параметров, выбранного для отображения на горизонтальной оси. Чтобы выбрать параметр для отображения на горизонтальной оси, используйте команду “Ось X” в контекстном меню.

Плоский график (2D) и Объемный график (3D)

В режиме двухмерного отображения на обоих осях откладываются изменения выбранных параметров, по которым проходила оптимизация. Изменение критерия оптимизации отображается при помощи цветового градиента. Чем насыщеннее цвет, тем выше значение критерия оптимизации.

В трехмерном режиме просмотра на осях X и Y откладываются изменения выбранных параметров, по которым проходила оптимизация. Изменения критерия оптимизации отображаются по вертикальной оси Z, а также при помощи цветового градиента.

Чтобы выбрать параметры для отображения на горизонтальной и вертикальной осях, используйте команды “Ось X” и “Ось Y” в контекстном меню.

Управление 3D графиком:

G – включение/отключение координатной сетки

Пробел – переключение между сплошной заливкой и заливкой с помощью линий

Стрелки вверх/вниз/влево/вправо – перемещение графика

Плюс/минус – приближение/отдаление от графика

Home, Page Up, Page Dn, End – вращение графика

Заключение

Инструменты, доступные пользователям терминала МТ5, действительно стали более удобными и продуманными по сравнению с предыдущей версией терминала. Оптимизация советников стала более простым и при этом более точным занятием. Лично меня очень вдохновили два нововведения: возможность при оптимизации автоматического отсева прогонов, не прошедших форвард тесты и наличие объемного графика оптимизации, по которому не составляет особого труда находить наиболее устойчивые и прибыльные сеты по вершинным точкам 3D плоскости.

Как подобрать настройки для советника

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

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

Что такое оптимизация

Не секрет, что ручные торговые системы со временем устаревают и перестают приносить ту прибыль, которую приносили в прошлом. При этом старые убыточные стратегии начинают вдруг хорошо себя показывать. Всему виной цикличность рынка, когда одни торговые условия сменяются другими. То же самое происходит и с советниками. Рыночные условия перестают подходить под стратегию, заложенную в алгоритм советника и тот начинает терять деньги. Что же делать в такой ситуации, просто удалить советник и забыть про него? К счастью, в этом случае нам на помощь приходит оптимизация. Так что же это такое? По сути это просто подгонка параметров советника под текущие рыночные условия, корректировка стратегии, ее адаптация к изменившимся условиям. Как трейдеры корректируют свои ручные торговые системы под текущий рынок, так и алготрейдеры корректируют свои советники. Изменения, адаптация – неотъемлемая часть процесса торговли. Тот, кто не изменяется вовремя – остается за бортом, такова жизнь трейдера.

Выбор модели

Итак, мы с вами определились, что оптимизация все-таки важная и даже необходимая деталь в торговле при помощи советников. К тому же, повторюсь, вы уже знаете, как закачивать котировки, устанавливать в терминал и тестировать советники, в курсе, что такое «сеты» или set-файлы. Теперь настало время открыть терминал и провести оптимизацию. Когда я рассказывал про тестирование советников, я рассказал вам о трех моделях тестирования и их особенностях. Рекомендую оптимизировать советников по модели «все тики». Это наиболее точная модель и вероятность того, что вы сделаете что-то неверно станет меньше. Приведу пример теста советника по трем моделям для сравнения конечных результатов, чтобы вы наглядно могли убедиться в моих словах:

Модель «по ценам открытия»

Модель «контрольные точки»

Модель «все тики»

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

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

Позиция “Оптимизируемый параметр” позволяет выбрать основной выходной параметр, по которому будет оцениваться каждый прогон, а именно:

  • “Balance” – отбор ведется по конечной величине баланса депозита;
  • “Profit Factor” – отбор ведется по конечному соотношению совокупной суммы прибыльных сделок к совокупной сумме убыточных сделок (т.е. прибыльность, как минимум, должна быть больше 1);
  • “Expected Payoff” – отбор ведется по итоговому математическому ожиданию, т.е. среднему показателю прибыли на одну сделку. (Математическое ожидание, как минимум, не должно быть равно или меньше размера спреда);
  • “Maximal Drawdown” – отбор ведется по минимумам достигаемых размеров максимальной просадки. Другими словами, Maximal Drawdown – это наибольшая сумма средств, на которую уменьшался депозит от соответствующего локального максимума. По сути, данный показатель говорит о реальной цене риска. Например, если максимальная просадка превышает размер первоначального депозита – стоит сильно задуматься о пересмотре размера депозита.
  • “Drawdown Percent” – отбор ведется по относительной просадке, т.е. процентный размер максимальной просадки в отношении к размеру текущего депозита. Использование данного параметра в качестве основного выходного полезна, когда советник торгует нефиксированными размерами лота или же например включена функция прогрессирующего лота.

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

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

Оптимизацию советников принято проводить также как и тестирование с выключенным мани менеджментом, лотом 0.1. Для этого нужно найти в параметрах советника соответствующий блок и выставить фиксированный лот 0.1. Таблица на вкладке входные параметры содержит 4 столбца – сам параметр, его текущее значение, начальное значение для оптимизации, шаг и конечное значение для оптимизации. Что это все значит? Например, мы хотим на определенном отрезке времени подобрать оптимальный для советника стоплосс. Для этого мы задаем начальное значение стопа (старт), скажем, 10 пунктов. Задаем конечное значение, например 60 – со стопом больше, чем 60 внутри дня делать нечего. Мы можем задать хоть миллион, но к выбору этих значениям нужно подходить с умом, иначе это сильно увеличит время, затраченное на оптимизацию. И последнее – шаг. Если мы укажем шаг 10, например, получим следующий перебор выбранного параметра: 10, 20, 30, 40, 50, 60. Тут тоже стоит подойти с точки зрения логики, нет смысла выставлять шаг 1 или шаг 10 (5). Вполне подойдет шаг 2, что также сэкономит ресурсы.

А что же делать, если параметров много?

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

Вкладка оптимизация

Эта вкладка также призвана экономить время оптимизации. Тут вы можете выставить свои правила отсева результатов, причем еще на этапе самой оптимизации. Например, ограничить максимальное непрерывное количество убыточных сделок четырьмя, а максимальную просадку 10-ю процентами. Тогда в результатах оптимизации будут отображены только результаты, удовлетворяющие этим параметрам.

Выбор отрезка для оптимизации

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

Подход новичка

Итак, вот подход, используемый многими новичками. Берется короткий доступный период истории (часто не длиннее пары месяцев, чтобы ждать было недолго) и нажимается кнопочка «старт». После завершения выбирается тот проход, который дал больше всего «бабла». Все, сет устанавливается на реал и новичок готовит мешок для денег, часто при этом еще хвастаясь своим «граалем». А затем, конечно же, происходит слив.

Популярный подход

Этот подход – самый распространенный среди не новичков. Выбирается два участка истории, участок оптимизации и участок форвард-теста. При этом участок оптимизации находится перед участком форвард-теста, без разрывов в днях. Как правило, под оптимизацию выбирают первые две трети выбранного участка истории, а на форвард выделяют оставшуюся одну треть. На участке оптимизации подбираются лучшие варианты, а на форвард периоде, который советник еще «не видел», происходит отбор хороших настроек. Выбор участка истории определяется на усмотрение трейдера. При этом чем больше участок, тем более приспособлены настройки к разным неожиданностям рынка, тем дольше он будет зарабатывать при одних и тех же настройках, тем позже сеты устареют. Но при этом тем меньше будет общая прибыль советника. Чем короче период оптимизации, тем больше настройки приспособлены к определенному периоду рынка, определенным торговым условиям, но тем больше его эффективность при этих условиях, больше прибыль. Можно проводить оптимизацию раз в неделю, а можно раз в пять лет – кому что больше по вкусу. Но есть один минус в старании трейдеров найти оптимальные параметры для короткого участка – никогда не знаешь наверняка, когда настройки устареют. Можно угадать с сетом и всю будущую неделю советник будет торговать прибыльно, а может случиться и так, что в понедельник же характер рынка изменился и советник всю неделю будет сливать. Лично меня эта лотерея как-то не вдохновляет, и я не стремлюсь при оптимизации гнаться за максимальной эффективностью. Вместо этого я подбираю сеты «на года».

Кроме того, бытует мнение, что далее, чем на три года назад смотреть бессмысленно. Я не могу оспорить это утверждение фактами, но все же выбираю период оптимизации не меньше 6 лет с участком форвард-теста не менее двух. Мне так спокойнее.

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

Вуду подход

Часто встречал в интернетах такой вуду подход, который выдается за подход для настоящих профи. Участок истории делится на два равных участка. На каждом из них отдельно проводится оптимизация, сохраняются 10-20 вариантов удачных настроек. Затем настройки из первого и второго участка сравниваются и те, которые примерно похожи, принимаются за оптимальные. Это полный бред, отнимает вагон времени и не несет никакой смысловой нагрузки. Используя данный вуду-метод, вы убьете кучу часов на ерунду и в конец посадите свое зрение.

Мой подход

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

Итак, предположим, у нас есть кусок истории в 15 лет (не меньше 10), скажем, с 2000 года до 2022. Разбиваем этот кусок на следующие периоды: 2000-2003 – это наш кусок бэквард-теста, 2003-2022 – период оптимизации, 2022 – форвард-тест. После оптимизации мы проводим как обычно форвард тестирование, отбирая 10-20 наиболее удачных сетов. После этого выбранные сеты прогоняем на участке бэквард-теста. Результаты должны быть похожи на полученные при форварде. Те сеты, которые выдержали тест, остаются для дальнейшего сравнения. Далее прогоняем тест по оставшимся сетам на всем куске истории и выбираем тот, результаты которого лучше остальных. В итоге остается один наиболее приспособленный сет настроек.
Как отбирать сеты на первом этапе – форвард-тесте? Очень просто: самое главное для нас на этом этапе – вид кривой баланса. В идеале она должна быть прямой линией, идущей из левого нижнего в правый верхний угол. При этом нет смысла смотреть все подряд лучшие сеты – часто они практически одинаковые. Отбирать стоит из лучших сетов только различающиеся по количеству сделок.

Если отличается торговля на реале и в тестере

Итак, мы получили заветные сет файлы для нашего советника. При этом ставить на реальный счет советник пока рано. Настало время проверить наши сеты на демо счете. В принципе, 20-30 сделок по одной паре точно хватит, чтобы понять, удался ли сет. Кроме того, есть смысл проверить, совпадают ли сделки на демо со сделками за тот же период в тестере. Для этого делают тест и сравнивают показания. Если сделки хотя бы примерно совпадают, то все нормально. Не стоит ждать сделок пипс в пипс и секунда в секунду, также если каких-то сделок не будет хватать, тоже не страшно. Важна общая картина, общее сходство. В реальных условиях работа советника всегда будет немного отличаться от теста – по проскальзывание, то советник не вошел из-за слишком высокого спреда, то реквоты или еще что-то. Но картина не должна конечно отличаться кардинально! Если вы видите на тесте совершенно не такую, как на реале картину, то оптимизировать такой советник бесполезно – какой бы красивый сет вы ни подобрали, торговать советник будет все равно по-другому.

Заключение

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

Настройка

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

Для тестирования и оптимизации советников в терминале используется специальное окно «Тестер». Все вышеперечисленные настройки производятся во вкладке «Настройка» этого окна.

Советник и его параметры #

В поле окна «Тестер — Советники» следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.

После того как выбран советник, необходимо провести дополнительную настройку и задать входные параметры. Это можно сделать нажатием кнопки «Свойства эксперта».

При этом появится новое окно с тремя вкладками:

Тестирование

В этой вкладке задаются общие параметры оптимизации. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник во время оптимизации.

В этой вкладке также выбираются типы открываемых позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.

Также можно включить генетический алгоритм оптимизации. Подробное описание этого алгоритма можно найти в статье «Генетические алгоритмы — математический аппарат».

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

  • Balance — показателем оптимизированности является максимальное значение баланса;
  • Profit Factor — показателем является максимальное значение фактора прибыльности;
  • Expected Payoff — показателем является максимальное значение математического ожидания выигрыша;
  • Maximal Drawdown — показателем является минимальное значение просадки;
  • Drawdown Percent — показателем является минимальное значение относительной просадки (в процентах);
  • Custom — при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.

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

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

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

Существует возможность загрузить уже сохраненный набор входных параметров (включая значения «Старт», «Шаг» и «Стоп»). Это можно сделать, нажав кнопку «Загрузить» и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.

Оптимизация

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

Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мыши в поле «Значение» можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу «Enter».

К ограничивающим параметрам относятся:

  • Минимальный баланс — минимальное значение баланса в валюте депозита;
  • Максимальная прибыль — максимальная прибыль в валюте депозита;
  • Минимальный уровень маржи % — минимальный уровень маржи в процентах;
  • Максимальная просадка % — максимальная просадка в процентах;
  • Непрерывный убыток — максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
  • Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;
  • Непрерывный выигрыш — максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
  • Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.

Финансовый инструмент и его период #

Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных. При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестированиях, если был выбран имеющийся в терминале инструмент.

Финансовый инструмент задается в поле «Символ», а таймфрейм — в поле «Период». Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.

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

Методы моделирования #

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

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

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

  • По ценам открытия (быстрый метод на сформировавшихся барах)
    Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
    В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
  • Контрольные точки (используется ближайший таймфрейм + фрактальная интерполяция)
    Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В большинстве случаев имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе цен закрытия 12 предыдущих баров. То есть, движение внутри бара повторяет движение цены за последние 12 периодов. Это и есть фрактальная интерполяция.
    Как только появляются исторические данные меньшего таймфрейма, фрактальная интерполяция применяется уже к этим данным. Однако используется уже не 12, а всего 6 предыдущих баров. То есть воспроизводятся реально существующие цены Open, High, Low, Close плюс ещё две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на 6 предыдущих барах.
  • Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
    Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от «контрольных точек», потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, фрактально генерируются контрольные точки. Для генерации движения цены между контрольными точками также используется фрактальная интерполяция. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
    Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.
    • не рекомендуется запускать потиковое тестирование при отсутствии более мелких таймфреймов, полностью покрывающих исследуемый период, иначе тестирование будет неточным;
    • моделирование по контрольным точкам в основном используется при оптимизации советников, а моделирование всех тиков — для тщательного тестирования.

    В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска оптимизации. Однако пользователь может задать собственное значение спреда для оптимизации в поле «Спред».

    Временной диапазон #

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

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

    Брокеры, дающие высокие бонусы:
КАК НАСТРОИТЬ И ОПТИМИЗИРОВАТЬ СОВЕТНИКА ФОРЕКС