← Back to Blog
Guides 12 min read

Модели ONNX в MT5: Как На Самом Деле Работает ИИ-Трейдинг

Большинство 'ИИ торговых ботов' вообще не используют ИИ. ONNX изменил это — он позволяет запускать настоящие нейронные сети внутри MetaTrader 5. Глубокий технический разбор.

EN ES DE FR PT RU ZH JA AR

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 означал:

ONNX решил все три проблемы. Модель работает нативно в терминале на скорости C++. Проект поддерживается Microsoft, Meta, Amazon — индустриальный стандарт.

Как ONNX работает внутри MetaTrader 5

MetaQuotes добавил нативную поддержку ONNX с билда 3600+.

Пайплайн: Обучение → Экспорт → Встраивание → Запуск

  1. Обучите модель в Python с feature engineering и walk-forward валидацией.
  2. Экспортируйте в .onnx через onnxmltools или skl2onnx.
  3. Встройте .onnx как ресурс в MQL5-советник.
  4. Запускайте через OnnxCreate(), OnnxRun(), OnnxRelease().

Ключевые функции MQL5 для ONNX

Производительность

Инференс типичной модели — менее 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 одиночные модели редко побеждают. Ансамбли стабильно превосходят.

Наш 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

Karat Killer:

Stability Killer AI — ML для AUDCAD

Stability Killer AI:

Оба советника включают .onnx как встроенные ресурсы. Читайте также ИИ и machine learning для торговли XAUUSD.

Начало работы с ONNX в ваших советниках

Требования

Минимальный пример

int handle = OnnxCreate("model.onnx", 0);
OnnxSetInputShape(handle, 0, input_shape);
OnnxRun(handle, 0, features, prediction);
OnnxRelease(handle);

Частые ошибки

Документация: ONNX в MQL5.

Будущее ONNX в алгоритмическом трейдинге

Adoption ONNX в MT5 ещё на ранней стадии. Большинство советников — чисто rule-based.

Что впереди

Понимание 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.