Commit Graph

6 Commits

Author SHA1 Message Date
GifariKemal 8a34dc7f6d feat: 5 critical improvements to trading bot
1. Activate SmartPositionManager (was dead code) - trailing SL, breakeven,
   market close handler, drawdown-from-peak protection now wired into live loop
2. Add flash crash detection between candles - _position_check_only() now
   checks for flash crashes every 5s instead of only on 15min candle close
3. Fix signal confirmation persistence - use direction-based key instead of
   exact price (which changed every candle), persist to file to survive restarts
4. Cache ML/features between candles - stop recalculating 37 features + XGBoost
   every 5 seconds when candle hasn't changed, reuse cached values
5. Add H1 multi-timeframe SMC bias filter - fetch H1 data, analyze BOS/CHoCH/OB,
   block M15 signals that contradict H1 bias, boost confidence when aligned

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 18:21:10 +07:00
GifariKemal 6e0db5274b fix: spread dict access and close_position retry logic
- Fix 'dict' has no attribute 'spread' by using .get("spread", 0)
- Add 3-retry loop to close_position() with fresh price each attempt
- Match retry pattern from send_order() for consistency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:36:46 +07:00
GifariKemal 20dc1385c3 optimize: improve win rate with SELL filter and reduced cooldown
Changes:
- Add SELL filter: require ML agreement + 55% confidence for SELL signals
- Reduce trade cooldown: 300s -> 150s (more trade opportunities)
- Relax trend reversal threshold: 0.4 -> 0.6 (less premature exits)
- backtest_live_sync.py: add configurable params for optimization testing

Backtest Results (Jan 2025 - Feb 2026):
BASELINE: 535 trades, 44.1% WR, $994 profit, PF 1.31
OPTIMIZED: 459 trades, 49.2% WR, $1018 profit, PF 1.43

Improvements:
- Win Rate: +5.1% (44.1% -> 49.2%)
- Profit Factor: +0.12 (1.31 -> 1.43)
- Max Drawdown: -0.8% (5.7% -> 4.9%)
- Sharpe Ratio: +0.55 (1.28 -> 1.83)
- NY Session WR: +17.4% (41.6% -> 59.0%)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 11:46:36 +07:00
GifariKemal 64848a2b14 fix: major issues - calibrated confidence, ATR-based filters, smarter exits
Major Issue #1: Confidence Calculation Calibration
- Added calculate_confidence() method with weighted scoring
- Base 40% + Structure 15% + BOS/CHoCH 12% + FVG 8% + OB 10% + Trend 10%
- Capped at 85% (never 100% certain)

Major Issue #2: Pullback Filter ATR-based
- Replaced hardcoded $2, $1.5 thresholds
- Now uses bounce_threshold = 0.15 * ATR
- consolidation_threshold = 0.10 * ATR

Major Issue #3: Smarter Time-based Exit
- Don't cut winners short if profit growing
- Check ML agreement before timeout
- Extend time to 8h if profit > $10 and growing

Major Issue #4: Slippage Validation
- Check actual vs expected price after execution
- Log warning if slippage > 0.15% of price
- Use actual price for position tracking

Major Issue #5: Partial Fill Handling
- Check if filled volume < requested volume
- Log warning with fill ratio
- Use actual volume for position tracking

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 09:56:42 +07:00
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
GifariKemal 7af9183af3 feat: Smart AI Trading Bot for XAUUSD with ML and SMC
- XGBoost ML model with 37 features for market direction prediction
- Smart Money Concepts (SMC): Order Blocks, FVG, BOS, CHoCH
- HMM market regime detection (trending/ranging/volatile)
- ATR-based stop loss with 1.5 ATR minimum distance
- Broker-level SL protection with fallback
- Time-based exit (max 6 hours per trade)
- Session-aware trading optimized for London/NY overlap
- Auto-retraining based on market conditions
- Telegram notifications and web dashboard
- Backtest results: 63.9% win rate, 2.64 profit factor, 4.83 Sharpe

Backtest period: Jan 2025 - Feb 2026, 654 trades, $4,189 net P/L

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 09:01:35 +07:00