- Delete all old XGBoost/HMM models trained with the order-block look-ahead
leak (models/backups/* + root models). They reproduced a fake 63.9% WR /
2.64 PF that collapses to ~35% WR / 0.95 PF once the leak is fixed.
- scripts/collect_data.py: dedicated raw M1+M15 collector (paginated)
- scripts/fast_backtest.py: vectorized GPU backtest for honest validation
- backtest_live_sync.py: read SYMBOL from env (XM uses GOLD, not XAUUSD)
- stop tracking generated data/training_data.parquet
See upstream report: GifariKemal/xaubot-ai#4
CRITICAL FIX: v0.2.3 was still blocking SMC signals!
Problem:
- v0.2.3 had 3-tier logic that BLOCKS SMC 60-75% if ML disagrees
- Signal BUY 63% + ML HOLD 50% was BLOCKED (wrong!)
- Original v4 intention: SMC-only, ML for boost only
Root Cause:
- v0.2.3 logic still required ML agreement for medium tier
- This contradicts "SMC patokan utama, ML pendukung"
Solution v0.2.4:
- Single threshold: SMC >= 55% executes ALWAYS
- ML role: OPTIONAL boost (average) or ignored
- SELL filter: Only exception (requires ML >= 75%)
- No more tiers, no more ML blocking
Impact:
- SMC BUY 63% + ML HOLD → Now EXECUTES (was blocked)
- True SMC-only mode restored
- ML is reference/boost only
Files:
- main_live.py: Logic v6 (SMC-only)
- VERSION: 0.2.3 → 0.2.4
- CHANGELOG.md: Full documentation
User feedback: "Perasaan tadi sebelum perbaikan, kita
mengabaikan ML dan fokus SMC saja" - NOW CORRECT!
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
PHILOSOPHY: SMC = PRIMARY, ML = SECONDARY support (not blocker)
Changes:
1. London Filter: Penalty (10%) instead of block
- Before: Block trade if ML < 70% confidence
- After: Reduce confidence by 10%, still execute
2. Signal Logic v5: 3-tier SMC-primary hierarchy
- SMC >= 75%: Execute always (ML optional boost)
- SMC 60-75%: Require ML agreement
- SMC < 60%: Skip (low conviction)
3. Removed SELL confidence filter
- SMC confidence now determines execution
- No more blanket blocking of SELL signals
Impact:
- High SMC confidence trades (75-85%) execute
- No blocking from ML HOLD predictions
- ML still boosts when agrees
- Addresses user feedback: "SMC patokan utama, ML pendukung"
Files:
- main_live.py: Signal aggregation logic rewritten
- VERSION: 0.2.2 -> 0.2.3
- CHANGELOG.md: Full documentation
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add 15-min grace period before early cut (wait 1 M15 candle to develop)
- Replace equity chart with AI Assistant card (real-time insights in Indonesian)
- Merge filter toggles into EntryFilterCard (remove separate FiltersConfigCard)
- Fix filter config API URL typo (8001 → 8000)
- Fix tooltip blocking switch clicks (move Switch outside TooltipTrigger)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
**H1 Bias Fix:**
- Fixed cache check to ensure loop_count=1 always calculates H1 bias
- Changed exception log from DEBUG to WARNING for visibility
- Added log on first calculation (loop==1) in addition to every 4 loops
- Result: H1 bias now correctly calculated from first candle
**Filter Config Infrastructure (WIP):**
- Added FilterConfigManager (src/filter_config.py) for dynamic filter control
- Added data/filter_config.json with 11 entry filters (flash_crash, regime, risk, session, spread, h1_bias, ml_confidence, signal_combination, cooldown, time_filter, market_close)
- Added API endpoints: GET/POST /api/filters/config
- Note: Bot integration pending — requires wrapper around all filter checks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Untrack .claude/settings.local.json (IDE-specific)
- Gitignore: data/bot_status.json, signal_persistence.json, model_metrics.json
- Gitignore: logs/ (all content, not just *.log)
- Gitignore: backtests/.claude/
- Add scripts/check_trade_detail.py utility
- Update data/risk_state.txt to current state
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add model backups from training sessions
- Add training data parquet file
- Add risk state persistence file
- Add research documents (Gemini analysis)
- Update architecture docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>