7eff3f1a2b25ac25c0b794b1a3c85e01a84154e6
main_live.py: - Switch main loop from time-based (1s) to candle-based (M15) - Add position-only checks between candles (every 10s) - Fix memory leak in signal persistence dict (cleanup stale entries) - Raise auto-retrain rollback AUC threshold from 0.52 to 0.60 src/ml_model.py: - Add 50-bar gap between train/test split to prevent temporal leakage src/smart_risk_manager.py: - Remove dangerous "Smart Hold" behavior (holding losers waiting for golden time) - Replace with proper early cut logic (loss >30% + negative momentum) src/smc_polars.py: - Fix lookahead bias in FVG detection (remove shift(-1), use confirmed bars only) - Fix lookahead bias in Swing Points (use center=False rolling window) - Fix lookahead bias in Order Blocks (validate with current bar, not future) - Enforce minimum 1:2 Risk:Reward ratio on all signals - Always use current_close as entry price (no stale FVG/OB zone prices) - Add ATR sanity check with realistic XAUUSD default ($12) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Smart Automatic Trading BOT + AI
An intelligent automated trading system for XAUUSD (Gold) using Machine Learning and Smart Money Concepts (SMC).
Features
- ML-Powered Predictions: XGBoost model with 37 features for market direction prediction
- Smart Money Concepts (SMC): Order Blocks, Fair Value Gaps, Break of Structure, Change of Character
- HMM Regime Detection: Hidden Markov Model for market regime classification
- Dynamic Risk Management: ATR-based stop loss, position sizing, and smart exits
- Session-Aware Trading: Optimized for different market sessions (Sydney, London, NY)
- Auto-Retraining: Models automatically retrain based on market conditions
- Telegram Notifications: Real-time trade alerts and market updates
- Web Dashboard: Real-time monitoring interface
Performance (Backtest Jan 2025 - Feb 2026)
| Metric | Value |
|---|---|
| Total Trades | 654 |
| Win Rate | 63.9% |
| Net P/L | $4,189.52 |
| Profit Factor | 2.64 |
| Max Drawdown | 2.2% |
| Sharpe Ratio | 4.83 |
Architecture
├── main_live.py # Main trading orchestrator
├── src/
│ ├── ml_model.py # XGBoost ML model
│ ├── smc_polars.py # Smart Money Concepts analyzer
│ ├── regime_detector.py # HMM market regime detection
│ ├── smart_risk_manager.py # Risk management system
│ ├── feature_eng.py # Feature engineering
│ ├── mt5_connector.py # MetaTrader 5 connection
│ ├── session_filter.py # Trading session management
│ └── ...
├── backtests/
│ ├── backtest_live_sync.py # Main backtest (synced with live)
│ └── archive/ # Historical backtest scripts
├── models/ # Trained ML models (.pkl)
├── data/ # Market data and trade logs
├── docs/ # Documentation
└── web-dashboard/ # Next.js monitoring dashboard
Risk Management
- ATR-Based Stop Loss: Minimum 1.5 ATR distance
- Broker-Level Protection: Emergency SL at broker level
- Time-Based Exit: Max 6 hours per trade
- Daily Loss Limit: 5% of capital
- Position Limit: Max 2 concurrent positions
Installation
- Clone the repository
- Install dependencies:
pip install -r requirements.txt - Copy
.env.exampleto.envand configure:- MT5 credentials
- Telegram bot token
- Database connection
- Train models:
python train_models.py - Run the bot:
python main_live.py
Configuration
Key settings in .env:
MT5_LOGIN,MT5_PASSWORD,MT5_SERVER- MetaTrader 5 credentialsTELEGRAM_BOT_TOKEN,TELEGRAM_CHAT_ID- Telegram notificationsCAPITAL- Trading capital amountSYMBOL- Trading symbol (default: XAUUSD)
Backtest
Run backtest with threshold tuning:
python backtests/backtest_live_sync.py --tune
Run backtest with specific threshold:
python backtests/backtest_live_sync.py --threshold 0.50 --save
Disclaimer
This software is for educational purposes only. Trading involves substantial risk of loss. Past performance is not indicative of future results. Use at your own risk.
License
MIT License
Languages
Python
78.4%
TypeScript
12.8%
MQL5
7.2%
JavaScript
0.4%
CSS
0.4%
Other
0.8%