critical: Raise quality threshold from 81 to 91 after trade #7 analysis
Trade #7 post-mortem (Nov 21, 2025): - SHORT SOL-PERP: Entry $123.77, Exit $126.33 - Loss: -$386.62 (2.06%, emergency stop) - Quality: 90, ADX: 19.0 (weak trend, below 20 threshold) - Duration: 18 minutes - Result: Price never moved favorably, immediate reversal Impact on v8 performance: - 7 trades: 4 wins, 3 losses (57.1% WR, below 60% target) - Total P&L: $262.70 (down from $649.32) - Avg quality: 93.6 (still excellent) Decision rationale: - ADX 19.0 is borderline weak/chop territory - Quality 90 insufficient to filter weak-trend entries - Raised threshold to 91+ to restore 60%+ win rate - v8 avg 93.6 quality supports higher threshold - Next blocked signal after loss: quality 80 (correctly blocked) This implements 3-loss circuit breaker analysis - system paused for threshold adjustment before resuming.
This commit is contained in:
4
.github/copilot-instructions.md
vendored
4
.github/copilot-instructions.md
vendored
@@ -78,7 +78,7 @@
|
||||
- BTC and other symbols fall back to global settings (`MAX_POSITION_SIZE_USD`, `LEVERAGE`)
|
||||
- **Priority:** Per-symbol ENV → Market config → Global ENV → Defaults
|
||||
|
||||
**Signal Quality System:** Filters trades based on 5 metrics (ATR, ADX, RSI, volumeRatio, pricePosition) scored 0-100. Only trades scoring 81+ are executed (raised from 60 on Nov 21, 2025 after v8 proving 94.2 avg quality with 66.7% win rate). Scores stored in database for future optimization.
|
||||
**Signal Quality System:** Filters trades based on 5 metrics (ATR, ADX, RSI, volumeRatio, pricePosition) scored 0-100. Only trades scoring 91+ are executed (raised from 81 on Nov 21, 2025 after trade #7: ADX 19.0 weak-trend loss at quality 90). v8 averaging 93.6 quality with 57.1% win rate - threshold raised to filter borderline ADX entries. Scores stored in database for future optimization.
|
||||
|
||||
**Timeframe-Aware Scoring:** Signal quality thresholds adjust based on timeframe (5min vs daily):
|
||||
- 5min: ADX 12+ trending (vs 18+ for daily), ATR 0.2-0.7% healthy (vs 0.4%+ for daily)
|
||||
@@ -1087,7 +1087,7 @@ const driftSymbol = normalizeTradingViewSymbol(body.symbol)
|
||||
|
||||
**Key endpoints:**
|
||||
- `/api/trading/execute` - Main entry point from n8n (production, requires auth), **auto-caches market data**
|
||||
- `/api/trading/check-risk` - Pre-execution validation (duplicate check, quality score, **per-symbol cooldown**, rate limits, **symbol enabled check**, **saves blocked signals automatically**)
|
||||
- `/api/trading/check-risk` - Pre-execution validation (duplicate check, quality score ≥91, **per-symbol cooldown**, rate limits, **symbol enabled check**, **saves blocked signals automatically**)
|
||||
- `/api/trading/test` - Test trades from settings UI (no auth required, **respects symbol enable/disable**)
|
||||
- `/api/trading/close` - Manual position closing (requires symbol normalization)
|
||||
- `/api/trading/sync-positions` - **Force Position Manager sync with Drift** (POST, requires auth) - restores tracking for orphaned positions
|
||||
|
||||
Reference in New Issue
Block a user