В помощь Трейдеру
Торговая платформа MetaTrader 5 до недавних пор совершенно не пользовалась популярностью среди форекс трейдеров. А все потому, что она изначально была заточена под биржевую торговлю с неттинговым учетом позиций, то есть по одному финансовому инструменту можно было иметь только одну позицию, - все дальнейшие операции по нему вели к изменению объема открытой позиции, закрытию или развороту существующей позиции. Следовательно, трейдер не имел возможности торговать сетками, доливаться, использовать замки и применять прочие подобные методы управления позицией.
Но в марте этого года ситуация кардинально изменилась - в платформу была таки добавлена вторая система учета – хеджинг. Та самая система, что используется в четвертой версии терминала. Теперь по инструменту можно иметь множество позиций, в том числе — разнонаправленных. Итак, все те недостатки, что ранее отталкивали форекс трейдеров от платформы MetaTrader 5, убраны, и настало время приглядеться к ней повнимательней. Дает ли какие-то преимущества использование пятой платформы при оптимизации торговых советников? Стоит ли переходить на новую платформу любителям автоматизированной торговли или лучше остаться со старым добрым MT4? Сегодня мы научимся оптимизировать советники на платформе MetaTrader 5 и рассмотрим основные преимущества и недостатки оптимизации советников с ее помощью.
Как тестировать советники и какие бывают режимы тестирования в МТ5 мы уже разобрались в предыдущей статье. Также вы уже знаете, как устанавливать советники в терминал. Поэтому сразу перейдем к основной теме этой статьи – оптимизации торговых экспертов в платформе МТ5.
Суть оптимизации сводится к подбору оптимальных параметров для работы советника на определенном отрезке исторических данных. При этом по завершении оптимизации тестер стратегий выдает большой список различных удачных вариантов, из которых трейдер выбирает наилучший.
Тестер стратегий в МТ5 является многопоточным и позволяет задействовать все доступные ресурсы компьютера. Тестирование и оптимизация осуществляются при помощи специальных вычислительных агентов, которые работают независимо и позволяют проводить параллельные вычисления проходов оптимизации. К тестеру стратегий может быть подключено неограниченное количество агентов, работающих удаленно. Помимо этого, в тестере стратегий доступна для использования огромная сеть облачных вычислений MQL5 Cloud Network. Она объединяет тысячи агентов по всему миру, и эта вычислительная мощь доступна любому пользователю торговой платформы.
Тестер позволяет проводить проверку на истории стратегий, торгующих на нескольким инструментах. Такие эксперты условно называют мультивалютными. История по используемым инструментам закачивается тестером из торговой платформы (не с торгового сервера) автоматически при первом обращении к данному инструменту. С торгового сервера докачивается только недостающая история. Таким образом, для тестирования и оптимизации советников используется в основном история, специально подготовленная компанией MetaQuotes, а не реальная история котировок конкретного брокера.
Перед началом оптимизации мультивалютного эксперта включите требуемые для тестирования инструменты в "Обзоре рынка". В контекстном меню выполните команду " Символы" и включите показ необходимых инструментов.
Выбор настроек оптимизации
Перед началом оптимизации выберите, на каком финансовом инструменте будет проведено исследование работы советника, за какой период и в каком режиме.
Отключена – оптимизация параметров отключена, происходит работа в режиме тестера стратегий.
Медленная (полный перебор параметров). В этом режиме тестер перебирает все возможные комбинации параметров эксперта, выбранных для оптимизации на соответствующей вкладке:
Этот метод – наиболее точный, но прогоны советника со всеми комбинациями параметров может занять слишком много времени.
Быстрая (генетический алгоритм). Данный тип оптимизации использует генетический алгоритм подбора наилучших значений параметров. Он намного быстрее полного перебора параметров и не сильно уступает ему в качестве. Оптимизация полным перебором, которая заняла бы несколько лет, выполняется за несколько часов при использовании генетического алгоритма. Несмотря на то, что эта функция присутствует и в МТ4, все же скажу пару слов про принцип работы генетического алгоритма.
Каждая особь имеет определенный набор генов, который соответствует набору ее параметров. Генетическая оптимизация основана на постоянном отборе наиболее приспособленных параметров (значения, которые дают наилучший итоговый результат).
В общем виде алгоритм может быть представлен следующим образом:
Входные параметры позволяют управлять поведением советника, адаптируя его под различные рыночные условия, в том числе под конкретный финансовый инструмент. Так, например, можно исследовать работу советника с различными расстоянием выставления ордеров стоп-лосс и тейк-профит, с различными периодами скользящей средней, которая используется для анализа рынка и принятия решений и т.д.
Оптимизация заключается в переборе различных значений и комбинаций входных параметров для получения наилучшего результата.
Чтобы включить оптимизацию по параметру, выберите его галочкой. Далее задайте начало и конец диапазона значений, а также шаг перебора. Можно выбрать один или несколько параметров. Общее количество возможных комбинаций будет показано под списком параметров.
Чтобы начать оптимизацию, нажмите "Старт" на вкладке "Настройки". Левее при этом будет показываться ход ее выполнения.
Подробные результаты по каждому проходу выводятся на вкладке "Оптимизация". Здесь представлены общие результаты тестирования, такие как прибыль и количество торговых операций, а также множество статистических показателей, которые помогут оценить качество работы робота.
Подробная информация о показателях представлена в разделе "Отчет о тестировании". Отчет об оптимизации можно отсортировать по любому параметру, кликнув мышью на заголовке колонки. Так, вы можете найти наиболее прибыльную комбинацию параметров и сразу же запустить ее одиночное тестирование для получения более подробного отчета.
Для каждого прохода оптимизации выводятся следующие показатели:
Проход — номер прохода.
Результат — итоговое значение параметра, являющегося критерием оптимизации, по которому отбираются наилучшие проходы.
Прибыль — полученная прибыль/убыток по результатам прохода.
Всего трейдов — общее количество трейдов (сделок, которые привели к фиксации прибыли или убытка), совершенных за данный проход.
Прибыльность — отношение общей прибыли к общему убытку в процентах. Единица означает, что сумма прибылей равна сумме убытков.
Матожидание выигрыша — этот статистически рассчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки.
Просадка — относительная просадка средств, наибольший убыток в процентах от максимального значения средств. Снятие средств(Withdrawal) советником во время оптимизации учитывается при расчете просадки.
Фактор восстановления — данный показатель отображает рискованность стратегии
Коэффициент Шарпа — данный показатель характеризует эффективность и стабильность стратегии. Он отображает соотношение среднеарифметической прибыли за время удержания позиции к стандартному отклонению от нее. В дополнение, здесь учитывается значение безрисковой ставки, являющейся прибылью по вкладу соответствующей суммы на банковский депозит.
Оптимизируемый параметр(ы) — в дополнение к общим статистическим показателям здесь отображаются значения входных переменных, установленные для данного прохода.
При помощи команд контекстного меню можно скрывать/показывать некоторые из вышеуказанных столбцов.
Если оптимизация проходила с форвард тестированием, то в данной вкладке отображаются соответствующие значения параметра оптимизации (критерия оптимизации) для бэктеста и форвард теста. Переключение между режимами просмотра результатов тестирования и форвард тестирования осуществляется с помощью контекстного меню. Двойное нажатие левой кнопкой мыши на одном из результатов оптимизации запускает тестирование советника с параметрами этого прогона (при условии, что оптимизация закончена).
Во время генетической оптимизации возможна ситуация, когда очередной проход (член популяции) имеет абсолютно идентичные входные параметры (гены) с ранее протестированным проходом. В таком случае на вкладке результатов данный проход не отображается, поскольку имеет идентичный результат тестирования.
Для анализа в сторонних программах, например, в экселе, отчет оптимизации можно сохранить в виде файла командой "Экспортировать в XML" в контекстном меню. Также, численные значения всех параметров и характеристик, полученные в результате оптимизации, по ее завершении сохраняются в XML файл, расположенный в папке папка_данных_платформы/tester/cache/. Файлу присваивается имя по следующему правилу: ExpertName.Symbol.Period.GenerationMode.xml. Здесь:
ExpertName — наименование оптимизируемого эксперта.
Symbol — символ.
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 плоскости.

Оптимизация советников в MetaTrader 5
Автор: pavlus777
Оптимизация советников
Подготовка к оптимизации
- Выберите советник, который необходимо оптимизировать.
- Выберите валютную пару, на которой будет проводится оптимизация. Для мультивалютных советников это пара, на графике которой будет «висеть» советник.
- Таймфрейм для работы советника. Как вы уже знаете, в МТ5 появилось множество дополнительных периодов и на каждом из них можно протестировать и оптимизировать советника. И хотя полезность появления таких периодов, как М3, М12 или Н2 довольно сомнительна, радует, что теперь можно тестировать долгосрочные советники на периодах W1 или MN
- Также можно задать явные даты начала и окончания периода оптимизации («выбор периода»)
- Режим торговли
- Режим генерации тиков
- Все тики — наиболее точный, но и наиболее медленный режим моделирования. В нем моделируются все тики.
- Каждый тик на основе реальных тиков — максимально приближенный к реальным условиям режим. Используются реальные тики, накопленные брокером по финансовым инструментам. Моделирование не осуществляется. Тиковые данные имеют большой размер, при первом запуске тестирования их скачивание с сервера брокера может занять продолжительное время.
- OHLC на М1 — в данном режиме моделируются лишь 4 цены каждого минутного бара — цены Open, High, Low и Close.
- Только цены открытия — в данном режиме моделируются также цены OHLC, однако для тестирования/оптимизации используется лишь цена открытия.
- Математические вычисления — в данном режиме тестер не будет подкачивать исторические данные, информацию о символах и не будет генерировать тики. Будут вызваны только функции OnInit(), OnTester() и OnDeinit(). Таким образом тестер можно использовать для различных математических вычислений, где требуется подбор параметров.
- Начальный депозит
- Плечо.
- Оптимизация
- Из общего числа возможных комбинаций параметров случайным образом выбираются две популяции (множества).
- Проводится тестирование обоих множеств, и из них оставляется только одно множество, имеющее наилучшие результаты (по критерию оптимизации).
- Члены данного множества случайным образом скрещиваются между собой, претерпевая случайные мутации и инверсии параметров.
- Потомки сортируются по наилучшим результатам и скрещивание повторяется.
- Операции сортировки и скрещивания продолжаются до тех пор, пока есть улучшение результатов (наилучший результат среди потомков превышает наилучший результат среди родителей). Для окончания оптимизации необходимо отсутствие улучшения критерия оптимизации на протяжении нескольких скрещиваний (поколений).
Выбор входных параметров для оптимизации
Запуск оптимизации
Визуальное представление результатов оптимизации
Заключение
С уважением, Дмитрий аkа Silentspec TradeLikeaPro.ru

#metatrader 5#советники#инструкции#видео
Торговая платформа MetaTrader 5 до недавних пор совершенно не пользовалась популярностью среди форекс трейдеров.