Генетическая оптимизация советников в MT5
Содержание (10)
- Процесс оптимизации (общая схема)
- Что такое генетический алгоритм
- Когда что использовать: перебор или генетика
- Настройки в тестере стратегий
- Запуск оптимизации с генетическим алгоритмом
- Как избежать переоптимизации
- Параллельная оптимизация
- Сужайте круг оптимизируемых параметров
- Скачайте бесплатный EA
- Рекомендуемые брокеры
Содержание
- Процесс оптимизации (общая схема)
- Что такое генетический алгоритм
- Когда что использовать: перебор или генетика
- Настройки в тестере стратегий
- Запуск оптимизации с генетическим алгоритмом
- Как избежать переоптимизации
- Параллельная оптимизация
- Сужайте круг оптимизируемых параметров
- Скачайте бесплатный EA
- Рекомендуемые брокеры
Введение в оптимизацию советников MT5 с помощью генетического алгоритма
При настройке параметров EA в тестере стратегий MT5 доступны два режима оптимизации: «Полный перебор» (проверка всех возможных комбинаций параметров) и «Генетический алгоритм» (GA).
Для практического исследования огромного числа комбинаций за разумное время стандартным подходом является генетический алгоритм. В этой статье рассмотрим основы оптимизации с помощью генетического алгоритма и ключевые практические моменты.
Главное в этой статье
- Если комбинаций больше нескольких десятков тысяч, ищите не полным перебором, а генетическим алгоритмом (GA)
- В качестве критерия оценки выбирайте коэффициент восстановления или коэффициент Шарпа и исключайте решения с малым числом сделок
- Итоговые значения выбирайте не по одному решению с наивысшим показателем, а по кластеру 10–20 лучших решений, чувствительности параметров и проверке на разделённых периодах
Процесс оптимизации (общая схема)
| Шаг | Что делать | Подробно |
|---|---|---|
| 1 | Сократить оптимизируемые параметры до немногих, составляющих ядро логики | Сужайте круг оптимизируемых параметров |
| 2 | По числу комбинаций решить: полный перебор или GA | Когда что использовать: перебор или генетика |
| 3 | Выбрать в тестере «Быстрая на основе генетического алгоритма» и критерий оценки | Настройки в тестере стратегий |
| 4 | Запустить оптимизацию и следить за сходимостью на вкладке «Результаты оптимизации» | Запуск оптимизации с генетическим алгоритмом |
| 5 | Отсеять переоптимизацию разделением периодов, сравнением лучших решений и проверкой чувствительности | Как избежать переоптимизации |
| 6 | Если занимает много времени — ускорить с помощью параллельных агентов или облака | Параллельная оптимизация |
Сравнение рекомендованных брокеров →
🎁 Скачать бесплатный EA📧 Бесплатный email-курс (8 писем) + пакет из 13 индикаторов MT5 только для подписчиков
* Конфиденциальность строго защищена. Отписаться можно в любое время.
Что такое генетический алгоритм
Генетический алгоритм (Genetic Algorithm, GA) — это метод оптимизации, имитирующий биологическую эволюцию. Процесс выглядит следующим образом:
- Генерируется несколько случайных наборов параметров (особей)
- Для каждой особи выполняется бэктест, результаты оцениваются по выбранному критерию (PF, коэффициент восстановления и т.д.)
- Лучшие особи выбираются в качестве «родителей», из которых путём скрещивания и мутации создаётся следующее поколение
- Процесс повторяется: с каждым поколением параметры всё больше сходятся к наилучшим значениям
В отличие от полного перебора, который «проходит все комбинации», 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 ↗