diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 3ae4327..ade8c3a 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -4573,6 +4573,18 @@ trade.realizedPnL += actualRealizedPnL // NOT: result.realizedPnL from SDK - **Purpose:** Recover profits from marginal quality signals (50-89) that would otherwise be blocked - **Strategy:** Queue blocked signals, monitor 1-minute price action for 10 minutes, enter if price confirms direction - **Implementation:** `lib/trading/smart-validation-queue.ts` (330+ lines) + - **Threshold Optimization (Dec 1, 2025):** + * **Backtest:** 200 random DATA_COLLECTION_ONLY signals (Nov 19-30, 2025) + * **Results:** + - **CURRENT (±0.3%):** 28/200 entries (14%), 67.9% WR, +4.73% total, **+0.169% avg** ✅ + - OPTION 1 (±0.2%): 51/200 entries (26%), 43.1% WR, -18.49% total, -0.363% avg + - OPTION 2 (±0.15%): 73/200 entries (36%), 35.6% WR, -38.27% total, -0.524% avg + * **Finding:** Lower thresholds catch significantly more losers than winners + - 0.3% → 0.2%: 23 more entries, 3 more winners, 20 MORE LOSERS (-23.22% P&L degradation) + - 0.2% → 0.15%: 22 more entries, 4 more winners, 18 MORE LOSERS (-19.78% P&L degradation) + - Pattern: Lower threshold = higher entry rate but WR collapses (68% → 43% → 36%) + * **Statistical validation:** n=200 sample confirms initial n=11 finding held true at scale + * **Decision:** Keep current ±0.3% thresholds (optimal risk/reward balance) - **Core Logic:** * **Queue:** Signals with quality 50-89 (below 50 = hard block, 90+ = immediate execution) * **Monitor:** Check price every 30 seconds using market data cache