Files
zhutoutoutousan 98a87a69ca Update
2026-02-13 08:03:25 +01:00

113 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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:
```bash
cd ai
pip install -r requirements.txt
```
If you encounter issues, install individually:
```bash
pip install tensorflow onnx onnxruntime tf2onnx scikit-learn pandas numpy MetaTrader5
```
## Step 2: Train the Model
Train an ONNX model for XAUUSD:
```bash
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:
```bash
python run_xauusd_backtest.py
```
Or use the combined script:
```bash
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:
1. Review performance metrics
2. Optimize prediction threshold and confidence levels
3. Adjust stop loss/take profit if needed
4. Test on demo account before live trading
5. Consider using the model in `ONNX_EA.mq5` for live trading
## Files Created
- `models/XAUUSD_H1_model.onnx`: Trained ONNX model
- `models/XAUUSD_H1_scaler.pkl`: Feature scaler for normalization
- `onnx_xauusd_backtest/`: Backtest results directory