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

  • Дата: 28.10.2023

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

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

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

В маркете, скачал советник BF Scalper EA (не знаете как устанавливать советники, читайте статью Как установить и запустить торгового советника в MetaTrader 4 (MT4)). Что это за зверь и по какому принципу работает не знаю, да это и не важно. На его примере будем разбираться с настройками и оптимизацией.

Для начала, прогоним тест с предустановленными настройками. Автор пишет, что его робот, хорошо торгует на паре GBPUSD, таймфрейм М15. Запускаем дату от 01.01.2019 до 28.02.2019 и посмотрим какой график доходности получится.

Не плохо. Со $100, советник заработал еще $178. На истории советник отработал очень даже хорошо и это вдвойне нас устраивает. Если бы советник отработал даже на истории в минус, то вообще на него смотреть смысла не было бы.

И все же, нет предела совершенству. Будем оптимизировать советник и пытаться улучшить результаты. Для этого, в окне тестера стратегий, нажимам «Свойства эксперта». Перед нами три вкладки:

  • Тестирование;
  • Входные параметры;
  • Оптимизация.

Во вкладке «Тестирование» установим интересующий начальный депозит в $100. Торговать советник будет и на покупку и на продажу, поэтому в поле «Позиции» выберите «Long & Short».

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

  • Balance;
  • Profit Factor;
  • Expected PayOff;
  • Maximal Drawdown;
  • Drawdown Percent;
  • Custom.

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

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

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

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

На скрине ниже выбрано для переменной StopLoss, начало оптимизации 20 пп, с шагом 5 пп, пока не дойдем до 50 пп. Аналогично с TakeProfit.

В советнике, оптимизировать можно любой параметр: StopLoss, TakeProfit, Максимальную просадку и тд.

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

С настройками все, теперь начинаем оптимизацию.

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

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

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

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

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

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

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

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

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

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

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

С бэк тестом закончили, теперь переходим к форвард тесту.

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

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

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

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

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

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

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

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

Итак, советник выбран, теперь на панели тестера задаём остальные ключевые параметры - торговый инструмент (это тикер валютной пары, металла или CFD), таймфрейм, тип модели (желательно всегда выбирать «все тики»), дату тестирования и, самое главное, ставим галочку напротив пункта «оптимизация».

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

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

В представленном примере я решил «подогнать» три функции - CCI_per (основной индекс), MA_per (сигнальная скользящая) и CCI_close_per (индекс, по значениям которого сделка закрывается), поэтому галки стоят только напротив перечисленных переменных.

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

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

Затем переходим во вкладку «Тестирование» и задаём здесь величину начального депозита, разрешаем советнику открывать сделки в обе стороны (buy и sell), а также отключаем функцию «генетический алгоритм».

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

Практика показывает, что подобный подход зачастую мешает оценить результаты теста, поскольку переменные советника подбираются вразнобой, например, в первом прогоне CCI_per будет равен 25, во втором 55, а в третьем 15. Мне нравится, когда всё упорядочено, поэтому я отключаю данную функцию.

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

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

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

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

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

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

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

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

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

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

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

Не многие сегодня знают, то самый обычный тестер стратегий в терминале 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, дабы потом с легкостью устанавливать сет в советник прямо на графике).

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

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

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

  • Результат оптимизации оценивается:
  • Высокой общей прибылью
  • Минимальной просадкой
  • Большим количеством прибыльных сделок
  • Минимальным риском
  • Оптимальным сочетанием вышеприведенных целей

Алгоритм Советника, как правило, не предусматривает “человеческого вмешательства ”, что предполагает в нем наличие блоков для формирования сигнала на вход, выход и мани менеджмента:

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

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

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

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

  • Важных глобальных новостей
  • Политических событий
  • Сезонности

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

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

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

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

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

В начале процесса, трейдер должен провести подготовительный этап:

  • Запустить тестер стратегий из-под меню «Вид» или комбинацией клавиш быстрого доступа Ctrl+R
  • Скачать/обновить архив котировок (клавиша F2) валютных пар, участвующих в тесте
  • Выбрать Советник и настроить параметры, совпадающие с рабочим инструментом (валютной парой), таймфреймом, спредом и периодом истории

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

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

Шаг 1: настройка параметров вкладки “Тестирование”

В правом нижнем углу окна тестера стратегий нажмите опцию «», в открывшемся окне перейдите на вкладку “Тестирование”

  • Выберите размер депозита и валюту депозита - По умолчанию выставлено 10 000 USD. Оба параметра не критичны для оптимизации, но не стоит занижать стартовую сумму, особенно при использовании Советников с использованием стратегией сеток. В рассматриваемом примере оптимизируется, как раз такая стратегия - VR Smart Grid , поэтому принимаем настройки по умолчанию
  • Укажите вид разрешенных при тестировании и оптимизации ордеров: покупки/продажи (long&short), только покупки (long) только продажи (short) - По умолчанию разрешены оба вида сделок, трейдеры редко используют “однобокие” стратегии, поэтому оставляем настройки без изменений
  • Определите цель оптимизации параметров стратегии

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

  • Balance – эта опция стоит первой по умолчанию, из-за наиболее частого ее использования тестерами. Она дает простой и понятный способ выбрать лучшие параметры индикаторов, позволяющие достичь максимального приращения баланса на указанном историческом промежутке торгов;
  • Profit Factor – второй по популярности оптимизируемый параметр, более подходящий для систем со встроенным уровнем, мани менеджмента. Трейдер может отдать этому методу улучшения стратегии приоритет, если алгоритмом Советника предусмотрено изменение уровней тейк-профита и стоп-лосса. В этом случае прогоны оптимизации должны выдать наилучшее соотношение прибыли и убытка;
  • Expected Payoff – метод, позволяющий максимально избегать убыточных сделок, рекомендуется использовать при скальпинге или внутридневных стратегиях, так как присутствует побочный эффект уменьшения количества сделок;
  • Maximal Drawdown – оптимизация будет стремиться снизить просадку, но результаты поисков приведут к консервативной стратегии с низкой прибылью;
  • Drawdown Percent – этот метод схож с предыдущим, но подбор параметров стремится уменьшить просадку по каждой сделке. Побочные эффекты снижения прибыли приведут к уменьшению количества сделок;
  • Custom – оптимизация параметров, заданных пользователем

В рассматриваемом примере оптимизируется Советник VR Smart Grid, логика работы которого состоит в открытии сеток ордеров, поэтому трейдеру подойдет только первый пункт оптимизации – задать поиск параметров для получения максимального приращения баланса.

  • Подключите генетический алгоритм оптимизации стратегии

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

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

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

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

В случае оптимизации Советника алгоритм не будет доводить до конца тестового периода стратегии со «слившимися» еще на старте параметрами.

Шаг2: настройка вкладки «Входные параметры»

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

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

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

  • Поставьте ограничение оптимизации в графе “Стоп” - Цифра графы стоп должна превышать цифру ячейки «Значение». Это “отсечка”, определяющая параметры конечного прогона, достигнув которых тест оптимизации будет остановлен. Устанавливая эти ограничения, трейдер должен исходить из логики стратегии.

Для индикаторов цифра стоп выбирается, исходя из вида стратегии, например при торговле внутри дня редко понадобятся периоды индикаторов, равны 30, 50, 100 и т.д., но они подходят для долгосрочной стратегии.

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

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

В рассматриваемом примере Советник VR Smart Grid имеет множество входных параметров, однако наиболее важными являются следующие блоки:

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

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

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

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


Шаг 3: вкладка «Оптимизации»

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

  • Минимальный баланс – выбран в долларах
  • Максимальная прибыль – берется равной начальному депозиту, чтобы отключить «прогон» при достижении 100% профита
  • Минимальный уровень маржи – взят 30%, это уровень стоп-аута у некоторых брокеров, при достижении которого сделки закрываются автоматически
  • Максимальная просадка – логично сочетается с минимальным уровнем маржи, в сумме составляя 100%
  • Непрерывное количество убыточных и прибыльных сделок , обычно выбраны нереальные значения

Любое значение можно включить или отключить, поставив отметку слева.

В приведенном примере оптимизации Советника VR Smart Grid , трейдеру нет смысла ограничивать сетку по серии прибыльных или убыточных сделок подряд, как и уровень прибыли, поэтому включаем в блок только настройки убытка:

Шаг 4: выбор исторического участка для оптимизации параметров стратегии

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

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

  • Точка отсчета должна совпадать с периодом снижения результативности стратегии, его поможет определить анализ кривой эквити отчета-стейтмента, полученного из «Истории счета».

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

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

Шаг 5: Запуск оптимизации

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

Анализ результатов оптимизации

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

График оптимизации
График оптимизации выполнен в системе координат:

  • По оси Y – доходность (итоговый результат прогона по балансу)
  • По оси X – номера прогона по порядку

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

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

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

Прогоны сведены в таблицу, в столбцах которой отображены:

  • Проход – нумерация прогонов по порядку убывания условий оптимизации

Если Советник тестировался на предмет достижения максимального баланса депозита – выставленного параметра Balance на вкладке «Тестирование» (меню – “Свойство эксперта”) первые прогоны – самые максимальные по приросту прибыли. Это будет видно по второму столбику:

  • Прибыль
  • Всего сделок – количество сработавших ордеров, помогает трейдеру оценить соотношение частоты сделок и полученной прибыли

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

  • Прибыльность – параметр, показывающий коэффициент соотношение прибыли к убытку

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

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

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

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

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

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

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

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

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

Применение выбранного прохода для последующего тестирования Советника

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

  • В открывшемся поле тестера первой вкладки «Настройки» нажмите «Старт»

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

После нажатия кнопки «Старт» запускается стандартный процесс тестирования Советника, в ходе которого тестер «пополняется» дополнительными вкладками: “Результаты”, “График”, “Отчет” и “Журнал”.

  • Результаты содержат таблицу с детальными характеристиками каждой сделки, доступную для сохранения в виде файла html или копированию и выгрузки в Exсel

  • График показывает изменение баланса и гистограмму размера лота (объема сделки)

  • Отчет – самая важная часть для оценки прогонов Советника, содержащая количественную и относительную оценку результатов прогона по стандартам Metatrader 4

  • Журнал логов – технический отчет выставленных и закрытых в автоматическом режиме ордеров

Выбор наилучшего прохода

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

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

На последнем этапе оставьте несколько пакетов настроек Советника для финального испытания робота на демонстрационных торгах.

  • Качественно-моделированный анализ состоит в отсеивании стратегий с прогонами на истории с низким уровнем смоделированных тиков
  • Визуальный анализ подразумевает выбор Советника с наиболее сглаженным ростом линии баланса. В идеале он характеризуется угол касательной близкой к 45 градусам, отсутствием изломов, образованных резкими взлетами и падениями

Числовой анализ прогонов по вкладке отчет

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

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

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

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

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

Чтобы получить объективную оценку теста на малых «нештатных» для применения стратегии таймфреймов, трейдер должен выбрать достаточно длинный отрезок испытаний (от 1000 свечей) и учесть следующие особенности:

  • Выбирать активные участки (европейской, американской) сессии
  • Останавливать робота в период выхода важных экономических новостей
  • Принимать во внимание 20% снижение результативности на малых таймфреймах

Финальный этап теста позволит выбрать наверняка правильный набор новых параметров Советника.

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

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

Подготовка оптимизации и тестирование файлов *.set

  • Сохраните полученные пресеты в папке Presets

Запустите программу Metatrader 4 и нажмите опцию «Каталог данных » из меню «Файл ». В открывшемся окне войдите в папку MQL и поместите скачанные файлы перестов в директорию Presets.


  • Перезапустите Metatrader 4 и откройте тестер стратегий (Ctrl+R)
  • Зайдите во вкладку «Свойства эксперта» и настройте вкладку тестирования по вышеизложенной ранее методике
  • Откройте вкладку “Входные параметры”, сохраните текущие значения, нажав кнопку “Сохранить”

Эти Настройки уже присутствуют в директории Presets , но дополнительное сохранение позволит пользователю обозначить уникальное имя файла

  • Вернитесь к окну входных параметров и нажмите кнопку «Загрузить ». выбрав папку Preset, куда до этого были помещены полученные новые файлы *.set Советника. Замените на них текущие настройки.

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

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

В любом случае – тестирование «чужих» пресетов перед применением на реальном счете обязательно.

Хранение и использование архива настроек с помощью файлов set

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

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

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

  • Погрешностью базовых условий тестирования и оптимизации

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

  • Проблемой доверия результатам тестирования пресетов

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

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

Как часто надо делать оптимизацию

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

При долгосрочной работе стратегии с приемлемым результатом прибыли, не стоит полагаться на «вечную» торговую систему. Советник может мгновенно ухудшить результаты, значительно увеличив серию убыточных сделок. Как показывают эмпирические наблюдения, то потеря эффективности начинается после того, как Советник отработает 40% от использовавшегося в тестировании исторического периода. То есть если тестирование проходило на периоде в 100 дней, Советник начнет терять эффективность примерно через 40 дней.

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

Заключение

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

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