Редакция FxRobotEasy · Проверено
What is MQL5?
MQL5 разрабатывается и поддерживается компанией MetaQuotes Software Corp — создателем платформ MetaTrader. Язык эволюционировал из MQL4 (язык эпохи MT4) со значительными улучшениями: поддержка объектно-ориентированного программирования, многопоточный бэктестинг, мульти-ассет возможности и улучшенная производительность. Исходные файлы MQL5 (.mq5) компилируются в исполняемые .ex5-бинарники, работающие внутри MT5. IDE MetaEditor поставляется бесплатно с MT5 и включает отладчик, профайлер и проверку синтаксиса.
Характеристики языка MQL5
Синтаксис MQL5 похож на C++ с упрощениями. Переменные, функции, классы, наследование, полиморфизм — основные возможности ООП присутствуют. Управление памятью автоматическое; нет ручного выделения/освобождения, типичного для низкоуровневого C++. Стандартные библиотеки покрывают торговые операции (класс CTrade), доступ к историческим данным, технические индикаторы (95+ встроенных) и множество служебных функций.
Встроенные функции исчерпывающе покрывают торговую область: OrderSend для отправки сделок, PositionGetTicket для перебора открытых позиций, SymbolInfoDouble для запросов рыночных данных, iMA/iRSI/iMACD для расчётов индикаторов, CopyRates для доступа к историческим барам. Большая часть кода трейдеров — комбинирование этих примитивов в логику стратегии.
Модель исполнения: MQL5 EA event-driven. OnInit запускается один раз при загрузке EA; OnTick — на каждый новый рыночный тик; OnTrade — при торговых событиях; OnDeinit — при выгрузке. Логика стратегии обычно живёт в OnTick.
Ограничения: MQL5 работает только внутри MetaTrader 5 — нет standalone-исполняемых, нет интеграции с другими системами кроме как через файловый I/O, named pipes или вызовы DLL. Производительность адекватна большинству стратегий, но не конкурентна низкоуровневому C++ для ультра-высокочастотных приложений.
Что можно построить с MQL5
MQL5 поддерживает четыре основных типа артефактов:
- • Expert Advisors (EA) — полностью автоматизированные торговые системы, принимающие и исполняющие сделки. Основной сценарий использования.
- • Кастомные индикаторы — технические индикаторы, не встроенные в MetaTrader (например, проприетарные осцилляторы, ML-overlay'и для прогнозирования). Рендерятся на графике для визуального анализа или потребляются EA как источники данных.
- • Скрипты — одноразовые программы, выполняющие конкретные действия при ручном запуске. Примеры: массовое закрытие позиций, экспорт истории сделок в CSV, расчёт position-sizing для планируемой сделки.
- • Библиотеки — переиспользуемые модули кода, импортируемые несколькими EA. Полезны для общей функциональности (управление рисками, обработка новостей, общие утилиты).
Изучение MQL5
Реалистичный путь обучения для разработчика с опытом программирования (C, C++, Java, C#):
Неделя 1-2: читать официальную документацию MQL5 (mql5.com/en/docs). Реализовать hello-world EA, печатающий сообщение на каждый тик. Реализовать простой индикатор (например, 'показать 20-периодный high и low на графике'). Освоить MetaEditor, отладчик и Strategy Tester.
Неделя 3-4: реализовать простую торговую EA на основе ясных правил (например, 'лонг при пересечении 50 EMA выше 200 EMA, выход на +30 пипсов или -15 пипсов'). Бэктест в Strategy Tester. Запуск на demo на неделю для наблюдения поведения.
Месяц 2-3: реализовать примитивы управления рисками — position sizing от account risk percentage, размещение stop-loss, управление magic-number для multi-EA счетов. Реализовать обработку новостей с интеграцией экономического календаря.
Месяц 4-6: walk-forward оптимизация, мульти-парная coverage, правильная обработка ошибок и логика переподключения. Чтение статей сообщества MQL5 о типичных подводных камнях (overfitting, look-ahead bias, broker-specific issues).
После 6 месяцев: разработчик способен реализовывать значимые стратегии и отлаживать операционные проблемы. Достижение production-уровня преимущества стратегии обычно требует существенно больше времени (1-2+ года) опыта развития стратегии независимо от изучения языка.
Без предварительного опыта программирования таймлайн примерно удваивается, со значительным временем на изучение основ программирования до того, как MQL5-специфические знания станут полезными.
Экосистема MQL5
Сообщество MQL5 на mql5.com — центральный хаб ресурсов для разработки на MQL5:
Документация: исчерпывающий справочник языка, объяснения функций, примеры кода. Бесплатно.
Статьи: 1000+ написанных сообществом туториалов по конкретным темам — реализация индикаторов, типовые алгоритмические паттерны, оптимизация производительности. Бесплатно.
Marketplace: коммерческие и бесплатные EA/индикаторы/скрипты. Вендоры продают продукты с code review от MetaQuotes; покупатели устанавливают в один клик в MT5. Крупнейший канал дистрибуции продуктов MQL5.
Signals service: copy-trading платформа, встроенная в MetaTrader. Trade-провайдеры (часто разработчики MQL5, запускающие собственные EA) публикуют верифицированные счета; подписчики копируют сделки.
Форум: активное сообщество разработчиков и трейдеров для технических вопросов. Обычно полезно для специфических вопросов реализации.
Freelance: marketplace для найма MQL5-разработчиков. Кастомная разработка EA по ТЗ обычно стоит $500-$5000 в зависимости от сложности. Качество варьируется; проверяйте историю разработчика через профиль сообщества.
Профиль сообщества MQL5 идентифицируется во всех этих сервисах, обеспечивая непрерывность репутации. Состоявшиеся MQL5-разработчики (многолетняя история постов, верифицированные продукты, активное участие в форуме) несут значимые сигналы доверия.
Распространённые заблуждения
❌ Заблуждение: MQL5 только для форекса.
✓ На самом деле: MQL5 поддерживает акции, CFD, фьючерсы и биржевые инструменты — везде, где MetaTrader 5 подключается. Многие MQL5 EA работают на индексах (NAS100, US30, SPX500), commodities (золото, нефть) и крипто CFD. Язык asset-agnostic; предложение брокера MT5 определяет, что торгуется.
❌ Заблуждение: Изучение MQL5 занимает годы.
✓ На самом деле: Для разработчиков с предыдущим опытом C/C++/Java MQL5 доступен за недели. Язык хорошо документирован и имеет небольшую поверхность по сравнению с языками общего назначения. Сложная часть разработки EA — дизайн стратегии и избежание overfitting, а не сложность языка.
❌ Заблуждение: MQL5 EA медленные из-за overhead MetaTrader.
✓ На самом деле: Производительность MQL5 адекватна retail-стратегиям, включая скальпинг при 10-30 сделках за сессию. Задержку обычно доминирует сетевая round-trip VPS-broker (1-5ms), а не исполнение MQL5. Для sub-millisecond стратегий (институциональный HFT) MetaTrader — не та платформа, но ограничение в архитектуре MetaTrader, а не в самом языке MQL5.
Часто задаваемые вопросы
MQL5 бесплатен в использовании?
Модель стоимости MQL5-разработки: ноль для языка, IDE, платформы и базовой документации. Опциональные коммерческие: комиссия продавца MQL5 Marketplace (обычно 20% с продаж продукта), MetaQuotes Virtual Hosting ($10-$15/мес за MT5 VPS), премиум-аккаунты разработчика на сообществе MQL5 ($10-$30 единоразово за статус верифицированного продавца). Для некоммерческой разработки (собственные EA для собственных счетов) MQL5 полностью бесплатен.
Что изучать — MQL4 или MQL5?
Различия языков: MQL4 — процедурный C-style; MQL5 — объектно-ориентированный C++-style. Торговый API: MQL4 использует тикеты (per-order идентификаторы); MQL5 использует позиции (per-symbol агрегации), что ближе к институциональному учёту. Бэктестинг: Strategy Tester MQL5 существенно мощнее (многопоточность, мульти-валюта, tick-level данные). Для новой разработки MQL5 — стратегический выбор. Для поддержки или расширения существующих MQL4 EA, MQL4 остаётся поддерживаемым. Портирование требует значимого переписывания кода, не простой перекомпиляции.
Можно ли интегрировать MQL5 с Python или другими языками?
Паттерны интеграции: (1) Пакет MetaTrader 5 Python — Python может подключаться к терминалу MT5 для рыночных данных и торговли. Полезно для бэктест-анализа и внешней разработки стратегии. (2) Сокет-коммуникация — MQL5 EA открывает сокет-соединение с внешним Python-сервисом; feature-векторы наружу, prediction внутрь. Задержка ~1-10ms для HTTP, ~0.1-1ms для raw socket. (3) Named pipes — Windows-only IPC механизм для low-latency MQL5-Python связи. (4) Shared memory или файловый I/O — медленнее, но проще для non-realtime use cases. Для большинства retail-трейдеров чистый MQL5 проще и достаточен; интеграция становится ценной при запуске production ML моделей, нуждающихся в существенных вычислениях.
Сколько времени до написания прибыльной EA на MQL5?
Реалистичный таймлайн: программист с предыдущим опытом может писать функциональные EA за 4-8 недель. Достижение backtest-прибыльности с разумными стратегиями занимает ещё 2-6 месяцев. Достижение live-прибыльности (которая существенно отличается от backtest из-за overfitting, проскальзывания, смены режимов) занимает 6-18 месяцев больше. Общие 1-2 года доминируются изучением разницы между 'выглядит прибыльно в backtest' и 'действительно прибыльно live' — избежание overfitting, walk-forward дисциплина, осведомлённость о режимах. Многие разработчики могут написать код, который работает; немногие могут специфицировать стратегии с настоящим edge.
Можно ли продавать мою MQL5 EA в marketplace?
Процесс продаж в Marketplace: (1) Наработка репутации сообщества MQL5 — посты на форуме, вклады в бесплатные продукты, верифицированный аккаунт MQL5 Signals если применимо. Новые аккаунты продавцов сталкиваются с более строгой проверкой, чем устоявшиеся. (2) Подача продукта на code review MetaQuotes — проверки базовой безопасности (нет malware, правильное использование API), не edge стратегии. Проверка обычно занимает дни-недели в зависимости от очереди и сложности. (3) Установить цену, написать описание продукта, выбрать модель аренды vs покупки. (4) Live-продукт зарабатывает комиссию с каждой продажи. Успешные продавцы EA обычно зарабатывают $1K-$50K/год через marketplace; топ-продавцы превышают $100K/год. Дисперсия дохода высокая; большинство marketplace EA продают мало единиц.
Связанные концепции
См. также (внешние источники)

William Harris
Основатель и ведущий разработчик FxRobotEasy
Чикаго, США · С 2021
- 12+ лет реальной торговли
- 10+ лет MQL5 / MQL4
- 3 советника с верифицированной историей
- Основано в 2021
“Я начал писать код в средней школе. Торгую с университетских лет. Пересечение этих двух миров — алгоритмы, рынки и технологии, которые их связывают — это то, чем я занимался последние пятнадцать лет. FxRobotEasy — это то, что получается, когда отказываешься останавливаться, пока задуманная тобой система реально не заработает на живом брокерском счёте.”
Другие темы
Энциклопедические ответы на вопросы, которые трейдеры задают ИИ и поисковикам.
Все темы обучения →