From c140e62ac7bdd84f7244675fcf525d6420e2293a Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Sat, 6 Dec 2025 16:30:07 +0100 Subject: [PATCH] fix: Change logger.log to console.log for stop hunt revenge recording ISSUE: Quality 95 trade stopped out today (ID: cmiueo2qv01coml07y9kjzugf) but stop hunt was NOT recorded in database for revenge system. ROOT CAUSE: logger.log() calls for revenge recording were silenced in production (NODE_ENV=production suppresses logger.log output) FIX: Changed 2 logger.log() calls to console.log() in position-manager.ts: - Line ~1006: External closure revenge eligibility check - Line ~1742: Software-based SL revenge activation Now revenge system will properly record quality 85+ stop-outs with visible logs. Trade details: - Symbol: SOL-PERP LONG - Entry: $133.74, Exit: $132.69 - Quality: 95, ADX: 28.9, ATR: 0.22 - Loss: -$26.94 - Exit time: 2025-12-06 15:16:18 This stop-out already expired (4-hour window ended at 19:16). Next quality 85+ SL will be recorded correctly. --- lib/trading/position-manager.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/trading/position-manager.ts b/lib/trading/position-manager.ts index faee57f..6459645 100644 --- a/lib/trading/position-manager.ts +++ b/lib/trading/position-manager.ts @@ -1002,7 +1002,7 @@ export class PositionManager { // Solution: After DB save, check if this was a quality 85+ SL stop-out and record for revenge const qualityScore = trade.signalQualityScore || 0 if (exitReason === 'SL' && qualityScore >= 85) { - logger.log(`🔍 Quality ${qualityScore} SL stop-out (external) - checking revenge eligibility...`) + console.log(`🔍 Quality ${qualityScore} SL stop-out (external) - checking revenge eligibility...`) try { const { getStopHuntTracker } = await import('./stop-hunt-tracker') const stopHuntTracker = getStopHuntTracker() @@ -1017,7 +1017,7 @@ export class PositionManager { originalATR: trade.atrAtEntry || 0, stopLossAmount: Math.abs(totalRealizedPnL) }) - logger.log(`🎯 Stop hunt recorded (external closure) - revenge window active for 4 hours`) + console.log(`🎯 Stop hunt recorded (external closure) - revenge window active for 4 hours`) } catch (revengeError) { console.error('⚠️ Failed to record stop hunt for revenge:', revengeError) // Don't fail external closure if revenge recording fails @@ -1739,7 +1739,7 @@ export class PositionManager { originalATR: trade.atrAtEntry, stopLossAmount: Math.abs(trade.realizedPnL), // Loss amount (positive) }) - logger.log(`🎯 Stop hunt recorded - revenge window activated`) + console.log(`🎯 Stop hunt recorded - revenge window activated`) } catch (stopHuntError) { console.error('❌ Failed to record stop hunt:', stopHuntError) }