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.
This commit is contained in:
mindesbunister
2025-12-06 16:30:07 +01:00
parent e4ce61b879
commit c140e62ac7

View File

@@ -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 // Solution: After DB save, check if this was a quality 85+ SL stop-out and record for revenge
const qualityScore = trade.signalQualityScore || 0 const qualityScore = trade.signalQualityScore || 0
if (exitReason === 'SL' && qualityScore >= 85) { 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 { try {
const { getStopHuntTracker } = await import('./stop-hunt-tracker') const { getStopHuntTracker } = await import('./stop-hunt-tracker')
const stopHuntTracker = getStopHuntTracker() const stopHuntTracker = getStopHuntTracker()
@@ -1017,7 +1017,7 @@ export class PositionManager {
originalATR: trade.atrAtEntry || 0, originalATR: trade.atrAtEntry || 0,
stopLossAmount: Math.abs(totalRealizedPnL) 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) { } catch (revengeError) {
console.error('⚠️ Failed to record stop hunt for revenge:', revengeError) console.error('⚠️ Failed to record stop hunt for revenge:', revengeError)
// Don't fail external closure if revenge recording fails // Don't fail external closure if revenge recording fails
@@ -1739,7 +1739,7 @@ export class PositionManager {
originalATR: trade.atrAtEntry, originalATR: trade.atrAtEntry,
stopLossAmount: Math.abs(trade.realizedPnL), // Loss amount (positive) 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) { } catch (stopHuntError) {
console.error('❌ Failed to record stop hunt:', stopHuntError) console.error('❌ Failed to record stop hunt:', stopHuntError)
} }