Генетическая оптимизация советников в MT5
Содержание
- Что такое генетический алгоритм
- Когда что использовать: перебор или генетика
- Настройки в тестере стратегий
- Как выбрать критерий оценки
- Запуск оптимизации с генетическим алгоритмом
- Типичные ловушки
- Как избежать переоптимизации
- 1. Разделите данные на периоды
- 2. Сравнивайте 10–20 лучших решений
- 3. Проверяйте чувствительность параметров
- 4. Оставляйте параметры вне оптимизации
- Параллельная оптимизация
- Сужайте круг оптимизируемых параметров
- Скачайте бесплатный EA
- Рекомендуемые брокеры
Введение в оптимизацию советников MT5 с помощью генетического алгоритма
При настройке параметров EA в тестере стратегий MT5 доступны два режима оптимизации: «Полный перебор» (проверка всех возможных комбинаций параметров) и «Генетический алгоритм» (GA).
Для практического исследования огромного числа комбинаций за разумное время стандартным подходом является генетический алгоритм. В этой статье рассмотрим основы оптимизации с помощью генетического алгоритма и ключевые практические моменты.
Что такое генетический алгоритм
Генетический алгоритм (Genetic Algorithm, GA) — это метод оптимизации, имитирующий биологическую эволюцию. Процесс выглядит следующим образом:
- Генерируется несколько случайных наборов параметров (особей)
- Для каждой особи выполняется бэктест, результаты оцениваются по выбранному критерию (PF, коэффициент восстановления и т.д.)
- Лучшие особи выбираются в качестве «родителей», из которых путём скрещивания и мутации создаётся следующее поколение
- Процесс повторяется: с каждым поколением параметры всё больше сходятся к наилучшим значениям
В отличие от полного перебора, который «проходит все комбинации», GA «концентрируется на перспективных областях» — поэтому вычислительное время сокращается на порядки.
Когда что использовать: перебор или генетика
- Параметров мало, комбинаций не более нескольких тысяч — используйте полный перебор для исчерпывающего поиска
- Параметров много, комбинаций десятки тысяч и более — используйте генетический алгоритм
Например, если три параметра перебираются по 10 шагов каждый, получается 1 000 вариантов — с этим справится полный перебор. Но если пять параметров по 20 шагов — это уже 3,2 миллиона вариантов, и без генетического алгоритма не обойтись.
Настройки в тестере стратегий
Для включения оптимизации задайте в тестере стратегий следующие параметры:

- Оптимизация: выберите «Быстрая на основе генетического алгоритма»
- Результат: выберите критерий оценки — «Максимальный баланс», «Пользовательский максимум», «Максимальный коэффициент восстановления» и т.д.
- Вкладка «Входные параметры»: поставьте галочки напротив параметров для оптимизации, задайте начальное, конечное значения и шаг
Как выбрать критерий оценки
Выбор критерия напрямую влияет на результат. Вот основные варианты и их особенности:
- Максимальный баланс (прибыль): максимизирует только доход. Игнорирует риск — склонен к переоптимизации
- Коэффициент восстановления: чистая прибыль ÷ максимальная просадка. Сбалансированный подход
- Коэффициент Шарпа: учитывает стабильность доходности
- Пользовательский максимум: задаётся свободно в коде EA (например, PF × количество сделок)
Использование коэффициента восстановления или коэффициента Шарпа — наиболее практичный способ найти рабочие параметры и при этом избежать переоптимизации.
Запуск оптимизации с генетическим алгоритмом
После запуска оптимизации на вкладке «Результаты оптимизации» по каждому поколению начнут появляться наборы параметров с высокими оценками. GA в MT5 автоматически прогоняет сотни поколений, постепенно сходясь к лучшим решениям.

Типичные ловушки
- Слишком быстрая сходимость: возможно, диапазон поиска параметров задан слишком узко
- Нет сходимости вовсе: критерий оценки выбран неудачно, либо данные слишком зашумлены
- Сходимость к явно странным значениям: среди результатов не отфильтрованы решения с малым числом сделок
Включение в функцию оценки фильтра вроде «исключить результаты с менее чем 50 сделками» позволяет отсеять шумовые решения с недостаточной статистикой.
Как избежать переоптимизации
Чем дольше вы оптимизируете, тем больше рискуете получить параметры, «идеальные для прошлого, но бесполезные в будущем». Вот практические правила, помогающие этого избежать.
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
Рекомендуемые брокеры
Чтобы результаты бэктеста и оптимизации воспроизводились в реальной торговле, мы рекомендуем брокеров с высоким качеством исполнения ордеров.
По теме
📧 Оповещения до повышения цен + бесплатный 5-дневный email-курс
Все советники продаются по стартовой цене, которая растёт ступенями по мере продаж. Получайте уведомление перед каждым повышением, плюс ежедневное письмо об алготрейдинге, чтении бэктестов и выборе брокера.
* Конфиденциальность строго защищена. Отписаться можно в любое время.
Есть вопрос о советниках или Forex?
Задайте его на трейдерском форуме Nattzy (бесплатная регистрация). Можно спрашивать не только по этой статье — о настройке советников, выборе брокера и многом другом.
Спросить на Nattzy ↗