TL;DR
- ONNX (Open Neural Network Exchange) — open-source формат для запуска обученных ML-моделей прямо в MT5 — без внешних серверов и API.
- MetaTrader 5 имеет нативную поддержку ONNX Runtime с билда 3600+, с выделенными функциями MQL5.
- Это отличает настоящие ИИ-советники от поддельных: нет файла .onnx — нет machine learning.
- Karat Killer использует 4 ONNX-модели (XGBoost, LightGBM, CatBoost, нейросеть) в ансамбле для XAUUSD.
Что такое ONNX? (И почему это важно для трейдеров)
ONNX (Open Neural Network Exchange) — это open-source формат для моделей машинного обучения. Универсальный переводчик: тренируете модель в Python с PyTorch, TensorFlow, XGBoost — экспортируете в .onnx для запуска в любом месте.
Для трейдеров важно, что MetaTrader 5 нативно поддерживает ONNX Runtime. Можно обучить сложную ML-модель, экспортировать в .onnx, встроить в советник и запускать на каждом тике — без серверов, API и интернета.
До ONNX запуск ML в MT5 означал:
- Хардкод весов в MQL5 (хрупко, ограниченно)
- HTTP-запросы к Python-серверу (задержки, ненадёжность)
- DLL-импорт (безопасность, совместимость)
ONNX решил все три проблемы. Модель работает нативно в терминале на скорости C++. Проект поддерживается Microsoft, Meta, Amazon — индустриальный стандарт.
Как ONNX работает внутри MetaTrader 5
MetaQuotes добавил нативную поддержку ONNX с билда 3600+.
Пайплайн: Обучение → Экспорт → Встраивание → Запуск
- Обучите модель в Python с feature engineering и walk-forward валидацией.
- Экспортируйте в .onnx через
onnxmltoolsилиskl2onnx. - Встройте .onnx как ресурс в MQL5-советник.
- Запускайте через
OnnxCreate(),OnnxRun(),OnnxRelease().
Ключевые функции MQL5 для ONNX
OnnxCreate()— загрузка моделиOnnxRun()— запуск предсказанийOnnxSetInputShape()— настройка размерностей тензораOnnxRelease()— освобождение памяти
Производительность
Инференс типичной модели — менее 1 миллисекунды. Достаточно для потикового анализа даже на самых волатильных инструментах.
Почему ONNX — революция для разработки советников
1. Независимость от фреймворка
XGBoost, LightGBM, PyTorch — всё экспортируется в один формат .onnx.
2. Нет внешних зависимостей
Модель работает в процессе MT5. Без серверов, API, интернета.
3. Полная совместимость со Strategy Tester
Бэктест ML-советника на 10+ лет тиковых данных — нативно.
4. Обновление модели без изменения кода
Переобучили? Замените .onnx. Код советника остаётся прежним.
5. Мультимодельная архитектура
MT5 загружает несколько ONNX одновременно для ансамблевых подходов.
Рабочий процесс обучения ONNX (пошагово)
Шаг 1: Feature Engineering
Сырые данные цен бесполезны для ML. Трансформируйте в значимые фичи. 80% реальной работы здесь.
Шаг 2: Обучение и валидация
Walk-forward валидация обязательна — никаких случайных разбиений для временных рядов.
Подробнее в статье ML Expert Advisors: хайп vs реальность.
Шаг 3: Экспорт ONNX
Экспорт через onnxmltools. Файл: 100KB-5MB.
Шаг 4: Интеграция MQL5
Встройте .onnx как ресурс, загрузите в OnInit(), предсказывайте в OnTick().
Шаг 5: Валидация в Strategy Tester
Бэктест с ONNX-моделью по всему датасету, включая out-of-sample периоды.
Ансамблевые модели: почему одного ONNX недостаточно
В соревновательном ML одиночные модели редко побеждают. Ансамбли стабильно превосходят.
- XGBoost — нелинейные зависимости
- LightGBM — скорость и высокая размерность
- CatBoost — устойчивость к переобучению
- Нейронные сети — сложные временные паттерны
Наш Karat Killer EA использует 4 ONNX-модели параллельно для XAUUSD. Сделки только по консенсусу. Бэктест: +7 229% за 10 лет.
ONNX vs другие ИИ-подходы в MT5
| Подход | Плюсы | Минусы | Лучше для |
|---|---|---|---|
| ONNX Runtime | Нативная поддержка, быстро, бэктестируемо | Нужна ML-экспертиза | Продакшн ML-советники |
| Внешний API | Полная экосистема Python | Задержки, надёжность | Исследования |
| Захардкоженные веса | Просто | Хрупко, ограниченно | Очень простые модели |
| DLL | Полная гибкость | Безопасность, MQL5 Market запрещает | Институциональные системы |
| Только лейбл "ИИ" | Легко продавать | Не настоящий ИИ | Маркетинг (к сожалению, частый) |
Как BLODSALGO использует ONNX (реальная архитектура)
Karat Killer — ансамбль из 4 моделей для XAUUSD
- 4 ONNX-модели: XGBoost, LightGBM, CatBoost, глубокая нейросеть
- 60+ инженерных фич
- Система консенсуса: все 4 модели должны согласиться
- Бэктест: +7 229% за 10 лет
Stability Killer AI — ML для AUDCAD
- Макс. просадка на живом сигнале: 4,08%
- Рост: +15,6% подтверждённый
Оба советника включают .onnx как встроенные ресурсы. Читайте также ИИ и machine learning для торговли XAUUSD.
Начало работы с ONNX в ваших советниках
Требования
- Python 3.8+ с scikit-learn, XGBoost или PyTorch
- MetaTrader 5 билд 3600+
- Базовые знания ML
- Исторические данные (5+ лет)
Минимальный пример
int handle = OnnxCreate("model.onnx", 0);OnnxSetInputShape(handle, 0, input_shape);OnnxRun(handle, 0, features, prediction);OnnxRelease(handle);
Частые ошибки
- Несовпадение фич MQL5/Python
- Ошибки размерности тензоров
- Переобучение — используйте walk-forward валидацию
- Разная нормализация в Python и MQL5
Документация: ONNX в MQL5.
Будущее ONNX в алгоритмическом трейдинге
Adoption ONNX в MT5 ещё на ранней стадии. Большинство советников — чисто rule-based.
Что впереди
- Трансформеры для прогнозирования временных рядов
- Reinforcement learning для оптимальных торговых стратегий
- Расширенные фичи с альтернативными данными
- Автоматическое переобучение
Понимание ONNX — практический навык для оценки советников. Ищите .onnx файлы, спрашивайте о методологии обучения.
FAQ: Модели ONNX в MetaTrader 5
- Какая версия MT5 поддерживает ONNX?
- С билда 3600+.
- ONNX замедляет советник?
- Минимально. Менее 1мс на предсказание. Ансамбль из 4 моделей: 2-3мс на тик.
- Работает ли ONNX в Strategy Tester?
- Да — нативно. Одно из главных преимуществ.
- Какие ML-фреймворки экспортируют в ONNX?
- scikit-learn, XGBoost, LightGBM, CatBoost, PyTorch, TensorFlow, Keras и др.
- Как проверить, использует ли советник ONNX?
- Откройте в MetaEditor, вкладка Resources. Нет .onnx = нет ML.
- Работает ли ONNX на VPS?
- Да. ONNX Runtime работает в процессе MT5 на любой системе.
Risk Disclaimer: Trading foreign exchange, gold (XAUUSD), and other financial instruments involves significant risk of loss and is not suitable for all investors. The information in this article is for educational purposes only and does not constitute financial advice. Past performance of any Expert Advisor does not guarantee future results. Always test strategies on a demo account before trading with real capital, and never risk money you cannot afford to lose.