docs: Update SHORT threshold to 80 with v10 penalty system explanation
- SHORT threshold now 80 (works WITH v10 penalties, not standalone) - v10 applies -30 to -55 point penalties for weak setups (ADX < 23, mid-range) - Documented penalty calculation examples (bad/trap/good setups) - Removed outdated Nov 23 data analysis (pre-v10 system) - Added RSI filter evolution context (removed because RSI 50+ = best 68.2% WR) - Updated quality threshold references throughout docs (95 → 80 for SHORTs)
This commit is contained in:
39
.github/copilot-instructions.md
vendored
39
.github/copilot-instructions.md
vendored
@@ -302,26 +302,31 @@ Change → Code → Test → Git Commit → UPDATE COPILOT-INSTRUCTIONS.MD → G
|
||||
- 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. **Direction-specific thresholds (Nov 23, 2025):** LONG signals require 90+ (71.4% WR at 90-94), SHORT signals require 95+ (28.6% WR at 90-94 = toxic). Data from 227 trades showed $778.52 P&L difference favoring longs. Scores stored in database for future optimization.
|
||||
**Signal Quality System:** Filters trades based on 5 metrics (ATR, ADX, RSI, volumeRatio, pricePosition) scored 0-100. **Direction-specific thresholds with v10 penalties (Nov 28, 2025):** LONG signals require 90+ (straightforward), SHORT signals require 80+ but v10 applies -30 to -55 point penalties for weak setups (ADX < 23, mid-range position), making effective threshold 80-110 based on setup quality. Scores stored in database for future optimization.
|
||||
|
||||
**Direction-Specific Quality Thresholds (Nov 23, 2025 - DATA-DRIVEN):**
|
||||
- **LONG threshold:** 90 (captures profitable quality 90-94 signals: 71.4% WR, +$44.77 on 7 trades)
|
||||
- **SHORT threshold:** 95 (blocks toxic quality 90-94 signals: 28.6% WR, -$553.76 on 7 trades)
|
||||
- **Configuration:** `MIN_SIGNAL_QUALITY_SCORE_LONG=90`, `MIN_SIGNAL_QUALITY_SCORE_SHORT=95` in .env
|
||||
**Direction-Specific Quality Thresholds (Nov 28, 2025 - v10 PENALTY SYSTEM):**
|
||||
- **LONG threshold:** 90 (straightforward, no penalties applied)
|
||||
- **SHORT threshold:** 80 (works WITH v10 penalties that subtract 30-55 points for weak setups)
|
||||
- **Configuration:** `MIN_SIGNAL_QUALITY_SCORE_LONG=90`, `MIN_SIGNAL_QUALITY_SCORE_SHORT=80` in .env
|
||||
- **v10 SHORT Penalties (applied INSIDE scoring):**
|
||||
- ADX < 23 (weak trend): -30 points → filters chop
|
||||
- Mid-range position (40-60%): -25 points → filters trap zone
|
||||
- Both conditions: -55 points total
|
||||
- Top of range (≥60%) + strong ADX: +15 points bonus
|
||||
- **How threshold 80 works:**
|
||||
- Bad setup: Quality 80 + ADX 20 → -30 penalty → final 50 → BLOCKED by threshold 80
|
||||
- Trap zone: Quality 85 + mid-range → -25 penalty → final 60 → BLOCKED by threshold 80
|
||||
- Good setup: Quality 90 + top of range → +15 bonus → final 105 → EXECUTES
|
||||
- **Fallback logic:** Direction-specific ENV → Global ENV (91) → Default (60)
|
||||
- **Helper function:** `getMinQualityScoreForDirection(direction, config)` in config/trading.ts
|
||||
- **Implementation:** check-risk endpoint uses direction-specific thresholds before execution
|
||||
- **Expected impact:** ~3.1% more trades (quality 90-94 longs), +$44.77 potential profit, prevent -$553.76 losses
|
||||
- **VALIDATION (Nov 24, 2025 - BIGGEST LOSERS ANALYSIS):**
|
||||
- **Top 15 losing trades analyzed:** Quality 80-90 trades dominate the loss list
|
||||
- **Top 2 biggest losses:** Quality 90 SHORTS lost -$386.62 and -$138.35 (total -$524.97)
|
||||
- **Quality 80 losses:** 4 trades lost combined -$212.76 (SHORTS: -$143.96, LONG: -$68.80)
|
||||
- **Total losses prevented by current thresholds:** -$847.07 would be blocked today
|
||||
- **Missed winners (Nov 24):** ~$210 from 2 blocked quality 80 SHORT signals
|
||||
- **NET BENEFIT:** +$637 improvement (3:1 ratio - avoid $3 in losses for every $1 missed)
|
||||
- **User capital validation:** Peak $1,380 → bad shorts → $904, proving 95+ SHORT threshold necessary
|
||||
- **Trade-off confirmed:** Sacrifice 1-2 winners/week to eliminate catastrophic quality 80-90 disaster trades
|
||||
- **See:** `docs/DIRECTION_SPECIFIC_QUALITY_THRESHOLDS.md` for complete analysis and SQL queries
|
||||
- **RSI Filter Evolution (Critical Context):**
|
||||
- Old v8 belief: Short oversold (RSI < 35) = catch falling knives
|
||||
- Data reality: RSI < 35 shorts = 37.5% WR, -$655.23 (4 biggest disasters)
|
||||
- Discovery: RSI 50+ shorts = 68.2% WR, +$29.88 (BEST performance!)
|
||||
- v10 change: Completely REMOVED RSI requirement
|
||||
- New focus: ADX (trend strength) + Price Position (setup location) with penalties
|
||||
- **See:** `docs/DIRECTION_SPECIFIC_QUALITY_THRESHOLDS.md` for historical analysis
|
||||
|
||||
**Adaptive Leverage System (Nov 24, 2025 - RISK-ADJUSTED POSITION SIZING):**
|
||||
- **Purpose:** Automatically adjust leverage based on signal quality score - high confidence gets full leverage, borderline signals get reduced risk exposure
|
||||
@@ -4792,7 +4797,7 @@ See `POSITION_SCALING_ROADMAP.md` for planned position management optimizations:
|
||||
* Winners: ADX 23.7-26.9, Price Pos 19-64%
|
||||
* Losers: ADX 21.8-25.4, Price Pos 13.6% (today)
|
||||
- **First Day Results (Nov 26, 2025):** 2 losses, -$287.29 total (both would be blocked by momentum filter)
|
||||
- **Quality threshold:** LONG ≥90, SHORT ≥95 (direction-specific)
|
||||
- **Quality threshold (Nov 28, 2025):** LONG ≥90, SHORT ≥80 (with v10 penalties)
|
||||
- File: `workflows/trading/moneyline_v9_ma_gap.pinescript` + momentum filter in `lib/trading/signal-quality.ts`
|
||||
- **v8:** Money Line Sticky Trend (Nov 18-26) - ARCHIVED
|
||||
- 8 trades completed (57.1% WR, +$262.70)
|
||||
|
||||
Reference in New Issue
Block a user