TL;DR
- ONNX (Open Neural Network Exchange) é um formato open-source para executar modelos ML treinados diretamente no MT5 — sem servidores externos ou chamadas API.
- MetaTrader 5 tem suporte nativo ONNX Runtime desde a build 3600+, com funções MQL5 dedicadas.
- Isso separa EAs com IA real dos falsos: sem arquivo .onnx = sem machine learning.
- Karat Killer usa 4 modelos ONNX (XGBoost, LightGBM, CatBoost, Rede Neural) em ensemble no MT5 para XAUUSD.
O Que é ONNX? (E Por Que Traders Devem Se Importar)
ONNX (Open Neural Network Exchange) é um formato open-source para modelos de machine learning. Pense nele como um tradutor universal: você treina um modelo em Python com PyTorch, TensorFlow, XGBoost ou scikit-learn — depois exporta para formato .onnx para que possa rodar em qualquer lugar.
Para traders, isso importa porque MetaTrader 5 tem suporte nativo ONNX Runtime. Você pode treinar um modelo ML sofisticado, exportá-lo como .onnx, embutir diretamente em um Expert Advisor e executar em cada tick — sem servidores, APIs ou dependências de internet.
Antes do ONNX, executar modelos ML no MT5 significava:
- Codificar pesos no código MQL5 (frágil, limitado)
- Chamadas HTTP para servidor Python (latência, confiabilidade)
- Imports DLL (segurança, compatibilidade)
ONNX resolveu os três problemas. O modelo roda nativamente no terminal, na velocidade do C++. Projeto apoiado por Microsoft, Meta, Amazon — padrão da indústria.
Como ONNX Funciona Dentro do MetaTrader 5
MetaQuotes adicionou suporte nativo ONNX a partir da build 3600+.
Pipeline: Treinar → Exportar → Embutir → Executar
- Treinar modelo em Python com feature engineering e validação walk-forward.
- Exportar para .onnx com
onnxmltoolsouskl2onnx. - Embutir arquivo .onnx como recurso no EA MQL5.
- Executar com
OnnxCreate(),OnnxRun(),OnnxRelease().
Funções MQL5 ONNX Principais
OnnxCreate()— Carregar modeloOnnxRun()— Executar previsõesOnnxSetInputShape()— Configurar dimensões do tensorOnnxRelease()— Liberar memória
Performance
Inferência em menos de 1 milissegundo por previsão. Rápido o suficiente para análise tick por tick.
Por Que ONNX é um Game-Changer para Desenvolvimento de EAs
1. Independência de Framework
XGBoost, LightGBM, PyTorch — todos exportam para o mesmo .onnx.
2. Sem Dependências Externas
O modelo roda no processo MT5. Sem servidor, sem API, sem internet necessária.
3. Compatibilidade com Strategy Tester
Backtest de EAs ML com 10+ anos de dados tick, nativamente.
4. Atualizações Sem Mudar Código
Re-treinou? Troque o .onnx. O código do EA permanece igual.
5. Arquitetura Multi-Modelo
MT5 carrega múltiplos ONNX simultaneamente para abordagens ensemble.
O Workflow de Treinamento ONNX (Passo a Passo)
Passo 1: Feature Engineering
Dados brutos (OHLCV) são quase inúteis para ML. Transforme em features significativas. 80% do trabalho real está aqui.
Passo 2: Treinamento & Validação
Validação walk-forward obrigatória. Nunca splits aleatórios para séries temporais.
Mais detalhes no nosso artigo sobre Expert Advisors ML: hype vs realidade.
Passo 3: Exportação ONNX
Exporte com onnxmltools. Arquivo típico: 100KB a 5MB.
Passo 4: Integração MQL5
Embutir recurso .onnx, carregar em OnInit(), prever em OnTick().
Passo 5: Validação no Strategy Tester
Backtest completo incluindo períodos fora da amostra.
Modelos Ensemble: Por Que Um Único ONNX Não Basta
Em ML competitivo, modelos individuais raramente vencem. Ensembles superam consistentemente.
- XGBoost — relações não-lineares
- LightGBM — velocidade e alta dimensão
- CatBoost — resistência a overfitting
- Redes Neurais — padrões temporais complexos
Nosso Karat Killer EA usa 4 modelos ONNX em paralelo para XAUUSD. Trades apenas por consenso. Backtest: +7.229% em 10 anos.
ONNX vs Outras Abordagens IA no MT5
| Abordagem | Prós | Contras | Melhor Para |
|---|---|---|---|
| ONNX Runtime | Suporte nativo, rápido, backtestável | Requer expertise ML | EAs ML produção |
| API Externa | Ecossistema Python completo | Latência, confiabilidade | Pesquisa |
| Pesos hardcoded | Simples | Frágil, limitado | Modelos muito simples |
| DLL | Flexibilidade total | Segurança, MQL5 Market proíbe | Sistemas institucionais |
| Label "IA" apenas | Marketing fácil | Não é IA de verdade | Marketing (infelizmente comum) |
Como a BLODSALGO Usa ONNX (Nossa Arquitetura Real)
Karat Killer — Ensemble 4 Modelos XAUUSD
- 4 modelos ONNX: XGBoost, LightGBM, CatBoost, rede neural profunda
- 60+ features engineeradas
- Sistema de consenso: os 4 modelos devem concordar
- Backtest: +7.229% em 10 anos
Stability Killer AI — ML para AUDCAD
- Max drawdown live: 4,08%
- Crescimento live: +15,6% verificado
Ambos incluem .onnx como recursos. Leia mais sobre ouro e IA em IA e machine learning para XAUUSD.
Começando com ONNX nos Seus Próprios EAs
Pré-requisitos
- Python 3.8+ com scikit-learn, XGBoost ou PyTorch
- MetaTrader 5 build 3600+
- Noções de machine learning
- Dados históricos (5+ anos)
Exemplo Mínimo
int handle = OnnxCreate("model.onnx", 0);OnnxSetInputShape(handle, 0, input_shape);OnnxRun(handle, 0, features, prediction);OnnxRelease(handle);
Erros Comuns
- Desalinhamento de features MQL5/Python
- Erros de shape dos tensores
- Overfitting — use validação walk-forward
- Normalização diferente entre Python e MQL5
Consulte a documentação ONNX da MetaQuotes.
O Futuro do ONNX no Trading Algorítmico
Adoção de ONNX no MT5 ainda é inicial. A maioria dos EAs é puramente baseada em regras.
O Que Vem
- Transformers para previsão de séries temporais
- Reinforcement learning para políticas de trading ótimas
- Features mais amplas com dados alternativos
- Retreinamento automatizado
Entender ONNX é uma habilidade prática para avaliar EAs. Procure .onnx, pergunte sobre metodologia, exija resultados walk-forward.
FAQ: Modelos ONNX no MetaTrader 5
- Qual versão do MT5 suporta ONNX?
- Desde a build 3600+.
- Modelos ONNX deixam meu EA lento?
- Impacto mínimo. Menos de 1ms por previsão. Ensemble de 4 modelos: 2-3ms por tick.
- ONNX funciona no Strategy Tester?
- Sim — nativamente. Uma das maiores vantagens.
- Quais frameworks exportam para ONNX?
- scikit-learn, XGBoost, LightGBM, CatBoost, PyTorch, TensorFlow, Keras, etc.
- Como saber se um EA realmente usa ONNX?
- Abra no MetaEditor, aba Resources. Sem .onnx = sem ML.
- ONNX funciona com VPS?
- Sim. Roda dentro do processo MT5, compatível com qualquer sistema.
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.