2.7 KiB
2.7 KiB
XAUUSD ONNX Model Training and Backtesting Guide
This guide will help you train an ONNX model for XAUUSD and backtest it.
Step 1: Install Dependencies
Make sure you have all required packages installed:
cd ai
pip install -r requirements.txt
If you encounter issues, install individually:
pip install tensorflow onnx onnxruntime tf2onnx scikit-learn pandas numpy MetaTrader5
Step 2: Train the Model
Train an ONNX model for XAUUSD:
python train_onnx_model.py --symbol XAUUSD --timeframe H1 --lookback 60 --epochs 30
Parameters:
--symbol XAUUSD: Trading symbol (Gold)--timeframe H1: 1-hour timeframe--lookback 60: Use 60 bars for prediction--epochs 30: Training epochs (adjust based on your needs)
Expected Output:
- Model:
models/XAUUSD_H1_model.onnx - Scaler:
models/XAUUSD_H1_scaler.pkl
Training Time: 5-15 minutes depending on your hardware and data availability.
Step 3: Run Backtest
After training, backtest the model:
python run_xauusd_backtest.py
Or use the combined script:
python train_and_backtest_xauusd.py
Step 4: Review Results
The backtest will generate:
- Performance summary in console
- Equity curve chart
- Drawdown chart
- Monthly returns chart
- Trades CSV file
All files are saved in onnx_xauusd_backtest/ directory.
Model Configuration
The trained model uses:
- Input: 60 bars × 12 features
- Features: OHLC, volume, RSI, EMA, ATR, price changes, ratios
- Output: Predicted next close price
- Architecture: LSTM(128) → LSTM(64) → LSTM(32) → Dense layers
Backtest Strategy Parameters
Default backtest parameters:
- Prediction Threshold: 0.01% (minimum price change to trade)
- Min Confidence: 30%
- Lot Size: 0.1
- Stop Loss: 50 pips
- Take Profit: 100 pips
You can adjust these in run_xauusd_backtest.py.
Troubleshooting
"Model not found"
- Make sure you've trained the model first
- Check that the model file exists in
models/directory
"MT5 initialization failed"
- Ensure MetaTrader 5 is running
- Log into your account
- Check that XAUUSD symbol is available
"Insufficient data"
- Make sure you have historical data downloaded in MT5
- Check the date range in the backtest script
- Verify symbol name is correct
Next Steps
After successful backtesting:
- Review performance metrics
- Optimize prediction threshold and confidence levels
- Adjust stop loss/take profit if needed
- Test on demo account before live trading
- Consider using the model in
ONNX_EA.mq5for live trading
Files Created
models/XAUUSD_H1_model.onnx: Trained ONNX modelmodels/XAUUSD_H1_scaler.pkl: Feature scaler for normalizationonnx_xauusd_backtest/: Backtest results directory