4.7 KiB
4.7 KiB
Quick Start Guide - ONNX with MetaTrader 5
Get started with ONNX machine learning models in MT5 in 5 minutes!
Prerequisites
- MetaTrader 5 installed and running
- Python 3.8+ installed
- MT5 account (demo or live) with access to historical data
Step 1: Install Dependencies
cd ai
pip install -r requirements.txt
This installs:
- TensorFlow/Keras for model training
- ONNX runtime for model inference
- MetaTrader5 Python module
- Other required libraries
Step 2: Verify MT5 Connection
Make sure MT5 is running and you're logged in. The scripts will automatically connect to MT5.
Step 3: Train Your First Model
Train a price prediction model for Gold (XAUUSD):
python train_onnx_model.py --symbol XAUUSD --timeframe H1 --epochs 30
This will:
- Download 2 years of historical data
- Train an LSTM neural network
- Save the model as
models/XAUUSD_H1_model.onnx
Expected time: 5-15 minutes depending on your hardware.
Step 4: Test the Model
Make a prediction with your trained model:
python predict_with_onnx.py --model models/XAUUSD_H1_model.onnx --symbol XAUUSD
You should see output like:
Current XAUUSD price: 2650.12345
Making 1 prediction(s)...
Predicted next price: 2652.54321
Expected change: 2.41976 (0.09%)
Step 5: Use in MetaTrader 5
Option A: Copy Model to MT5
-
Copy your ONNX model to MT5's Files folder:
<MT5 Data Folder>\MQL5\Files\models\XAUUSD_H1_model.onnxDefault locations:
- Windows:
C:\Users\<YourName>\AppData\Roaming\MetaQuotes\Terminal\<TerminalID>\MQL5\Files\ - Or find it: MT5 → File → Open Data Folder → MQL5 → Files
- Windows:
-
Open
ONNX_EA.mq5in MetaEditor -
Compile (F7)
-
Attach to chart:
- Model path:
models\XAUUSD_H1_model.onnx - Lookback:
60(must match training) - Set your trading parameters
- Model path:
Option B: Run from MetaEditor
If you have Python integration enabled in MetaEditor:
- Open
train_onnx_model.pyin MetaEditor - Press F7 (Compile) to run
- The model will be saved to the project folder
Common Commands
Train for Different Symbols
# EUR/USD on 15-minute charts
python train_onnx_model.py --symbol EURUSD --timeframe M15
# Bitcoin on 4-hour charts
python train_onnx_model.py --symbol BTCUSD --timeframe H4
Custom Training Parameters
python train_onnx_model.py \
--symbol XAUUSD \
--timeframe H1 \
--lookback 100 \
--epochs 100 \
--batch-size 64
Multiple Predictions
python predict_with_onnx.py \
--model models/XAUUSD_H1_model.onnx \
--symbol XAUUSD \
--predictions 5
Troubleshooting
"MT5 initialization failed"
- ✅ Make sure MT5 is running
- ✅ Log into your account in MT5
- ✅ Check that the symbol exists (e.g., XAUUSD, not GOLD)
"No data available"
- ✅ Ensure you have historical data downloaded in MT5
- ✅ Check the date range (script uses last 2 years)
- ✅ Verify symbol name is correct
"Failed to load ONNX model" in EA
- ✅ Check the file path is correct
- ✅ Ensure model is in MT5's Files folder
- ✅ Verify the model file exists and is not corrupted
Model predictions seem wrong
- ✅ Ensure
InpLookbackin EA matches training--lookback - ✅ Check that you're using the same symbol/timeframe
- ✅ Verify feature normalization matches training
Next Steps
-
Experiment with different models:
- Try different lookback periods
- Adjust network architecture
- Add more features
-
Optimize trading parameters:
- Test different prediction thresholds
- Tune stop loss/take profit
- Adjust confidence levels
-
Backtest thoroughly:
- Use MT5 Strategy Tester
- Test on different time periods
- Analyze performance metrics
-
Monitor and improve:
- Track prediction accuracy
- Retrain models periodically
- Adjust based on market conditions
Example Workflow
# 1. Train model
python train_onnx_model.py --symbol XAUUSD --timeframe H1 --epochs 50
# 2. Test predictions
python predict_with_onnx.py --model models/XAUUSD_H1_model.onnx --symbol XAUUSD
# 3. Copy model to MT5 Files folder
# (Manual step)
# 4. Compile and attach ONNX_EA.mq5 to chart
# 5. Monitor and adjust parameters
Tips
- 🎯 Start with longer timeframes (H1, H4) for more stable predictions
- 📊 Use multiple models for different market conditions
- 🔄 Retrain models periodically (weekly/monthly)
- ⚠️ Always test on demo account first
- 📈 Monitor model performance and adjust parameters
Need Help?
- Check the main README.md for detailed documentation
- Review the MQL5 ONNX documentation: https://www.mql5.com/en/docs/onnx/onnx_prepare
- Examine the code comments for implementation details
Happy trading! 🚀