GifariKemal 7eff3f1a2b fix: critical improvements to trading logic and ML pipeline
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>
2026-02-06 09:33:43 +07:00

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

  1. Clone the repository
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Copy .env.example to .env and configure:
    • MT5 credentials
    • Telegram bot token
    • Database connection
  4. Train models:
    python train_models.py
    
  5. Run the bot:
    python main_live.py
    

Configuration

Key settings in .env:

  • MT5_LOGIN, MT5_PASSWORD, MT5_SERVER - MetaTrader 5 credentials
  • TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID - Telegram notifications
  • CAPITAL - Trading capital amount
  • SYMBOL - 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

S
Description
AI-powered XAUUSD (Gold) trading bot with XGBoost ML, Smart Money Concepts (SMC), and HMM regime detection for MetaTrader 5
Readme MIT 11 MiB
Languages
Python 78.4%
TypeScript 12.8%
MQL5 7.2%
JavaScript 0.4%
CSS 0.4%
Other 0.8%