Главная > Блог > Генетическая оптимизация советников в MT5

MT5EA

Генетическая оптимизация советников в MT5

Опубликовано: 2026-10-02Время чтения: ~3 мин
⏱ Эта статья отражает информацию на дату публикации. Показатели EA (PF, DD, годовая доходность) меняются с реальной торговлей и повторной валидацией — актуальные данные смотрите на страницах EA. Смотреть актуальные результаты EA →
Содержание (10)
  1. Процесс оптимизации (общая схема)
  2. Что такое генетический алгоритм
  3. Когда что использовать: перебор или генетика
  4. Настройки в тестере стратегий
  5. Запуск оптимизации с генетическим алгоритмом
  6. Как избежать переоптимизации
  7. Параллельная оптимизация
  8. Сужайте круг оптимизируемых параметров
  9. Скачайте бесплатный EA
  10. Рекомендуемые брокеры

Введение в оптимизацию советников MT5 с помощью генетического алгоритма

При настройке параметров EA в тестере стратегий MT5 доступны два режима оптимизации: «Полный перебор» (проверка всех возможных комбинаций параметров) и «Генетический алгоритм» (GA).

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

Главное в этой статье

  • Если комбинаций больше нескольких десятков тысяч, ищите не полным перебором, а генетическим алгоритмом (GA)
  • В качестве критерия оценки выбирайте коэффициент восстановления или коэффициент Шарпа и исключайте решения с малым числом сделок
  • Итоговые значения выбирайте не по одному решению с наивысшим показателем, а по кластеру 10–20 лучших решений, чувствительности параметров и проверке на разделённых периодах

Процесс оптимизации (общая схема)

ШагЧто делатьПодробно
1Сократить оптимизируемые параметры до немногих, составляющих ядро логикиСужайте круг оптимизируемых параметров
2По числу комбинаций решить: полный перебор или GAКогда что использовать: перебор или генетика
3Выбрать в тестере «Быстрая на основе генетического алгоритма» и критерий оценкиНастройки в тестере стратегий
4Запустить оптимизацию и следить за сходимостью на вкладке «Результаты оптимизации»Запуск оптимизации с генетическим алгоритмом
5Отсеять переоптимизацию разделением периодов, сравнением лучших решений и проверкой чувствительностиКак избежать переоптимизации
6Если занимает много времени — ускорить с помощью параллельных агентов или облакаПараллельная оптимизация

Сравнение рекомендованных брокеров →

🎁 Скачать бесплатный EA

📧 Бесплатный email-курс (8 писем) + пакет из 13 индикаторов MT5 только для подписчиков

* Конфиденциальность строго защищена. Отписаться можно в любое время.

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

Генетический алгоритм (Genetic Algorithm, GA) — это метод оптимизации, имитирующий биологическую эволюцию. Процесс выглядит следующим образом:

  1. Генерируется несколько случайных наборов параметров (особей)
  2. Для каждой особи выполняется бэктест, результаты оцениваются по выбранному критерию (PF, коэффициент восстановления и т.д.)
  3. Лучшие особи выбираются в качестве «родителей», из которых путём скрещивания и мутации создаётся следующее поколение
  4. Процесс повторяется: с каждым поколением параметры всё больше сходятся к наилучшим значениям

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

Когда что использовать: перебор или генетика

Полный переборГенетический алгоритм (GA)
Способ поискаПроходит все комбинации подрядСосредотачивается на перспективных областях
Подходящий масштабПараметров мало, комбинаций не более нескольких тысячПараметров много, комбинаций десятки тысяч и более
Время вычисленийРастёт пропорционально числу комбинацийНа порядки меньше

Например, если три параметра перебираются по 10 шагов каждый, получается 1 000 вариантов — с этим справится полный перебор. Но если пять параметров по 20 шагов — это уже 3,2 миллиона вариантов, и без генетического алгоритма не обойтись.

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

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

Выбор режима оптимизации и отметка оптимизируемого параметра
Выбор режима оптимизации и отметка оптимизируемого параметра

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

Как выбрать критерий оценки

Выбор критерия напрямую влияет на результат. Вот основные варианты и их особенности:

КритерийСутьОсобенность
Максимальный баланс (прибыль)Максимизирует только доходИгнорирует риск — склонен к переоптимизации
Коэффициент восстановленияЧистая прибыль ÷ максимальная просадкаСбалансированный подход
Коэффициент ШарпаУчитывает стабильность доходностиАкцент на стабильности
Пользовательский максимумЗадаётся свободно в коде EA (например, PF × количество сделок)Можно настроить под свою цель

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

Запуск оптимизации с генетическим алгоритмом

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

GA в MT5 автоматически прогоняет сотни поколений, постепенно сходясь к лучшим решениям.

Вкладка «Результаты оптимизации» (результат для каждой комбинации параметров)
Вкладка «Результаты оптимизации» (результат для каждой комбинации параметров)

Типичные ловушки

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

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

Как избежать переоптимизации

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

ПравилоЧто проверить
1. Разделите данные на периодыНе рушатся ли результаты на второй части данных (out-of-sample)
2. Сравнивайте 10–20 лучших решенийСосредоточены ли лучшие решения в одной области
3. Проверяйте чувствительность параметровНе рушится ли результат при изменении на ±10–20%
4. Оставляйте параметры вне оптимизацииОставлены ли логически естественные фиксированные значения

1. Разделите данные на периоды

Если у вас данные за 10 лет, проводите оптимизацию на первых 7 годах, а на оставшихся 3 — тест на выборке вне обучающего периода (out-of-sample). Если результаты на тестовом периоде резко ухудшаются, это свидетельствует о переподгонке на обучающем периоде.

2. Сравнивайте 10–20 лучших решений

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

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

3. Проверяйте чувствительность параметров

Отклоните параметры финального кандидата на ±10–20% и убедитесь, что результат не рассыпается. Если рассыпается — решение подогнано под «острый пик», а не под устойчивый оптимум.

4. Оставляйте параметры вне оптимизации

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

Например: период EMA оптимизируете, а множитель ATR фиксируете.

Параллельная оптимизация

MT5 поддерживает параллельную оптимизацию с использованием нескольких ядер CPU. Перейдите в «Тестер» → «Настройки» и увеличьте число используемых агентов — это сократит время вычислений.

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

Сужайте круг оптимизируемых параметров

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

Если остальные параметры зафиксировать на «естественных значениях», проще избежать переоптимизации.

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

Скачайте бесплатный EA

Бесплатный EA нашего сайта DONCHIAN ENGINE (USDJPY H1) в бэктесте на USDJPY H1 за 9.4 года (2017-2026, реальные тики Dukascopy) показал PF 1.50, процент прибыльных 34.5%, макс. DD 10.8% и 631 сделку.

Посмотреть бесплатный EA DONCHIAN ENGINE

Рекомендуемые брокеры

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

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

📧 Бесплатный email-курс (8 писем) + пакет из 13 индикаторов MT5 только для подписчиков

* Конфиденциальность строго защищена. Отписаться можно в любое время.

Есть вопрос о советниках или Forex?

Задайте его на трейдерском форуме Nattzy (бесплатная регистрация). Можно спрашивать не только по этой статье — о настройке советников, выборе брокера и многом другом.

Спросить на Nattzy ↗

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