diff --git a/lib/trading/smart-entry-timer.ts b/lib/trading/smart-entry-timer.ts index 6d7f0f2..7a7042c 100644 --- a/lib/trading/smart-entry-timer.ts +++ b/lib/trading/smart-entry-timer.ts @@ -537,8 +537,9 @@ export class SmartEntryTimer { } // Save to database + let savedTrade try { - await createTrade({ + savedTrade = await createTrade({ positionId: openResult.transactionSignature, symbol: signal.symbol, direction: signal.direction, @@ -576,7 +577,7 @@ export class SmartEntryTimer { } }) - logger.log(`💾 Smart Entry: Trade saved to database`) + logger.log(`💾 Smart Entry: Trade saved to database (ID: ${savedTrade.id})`) } catch (dbError) { console.error(`❌ Smart Entry: Failed to save trade:`, dbError) const { logCriticalError } = await import('../utils/persistent-logger') @@ -587,6 +588,8 @@ export class SmartEntryTimer { entryPrice: fillPrice, transactionSignature: openResult.transactionSignature }) + // If database save fails, generate synthetic ID as fallback + savedTrade = { id: `trade-${Date.now()}` } as any } // Add to Position Manager @@ -600,7 +603,7 @@ export class SmartEntryTimer { ) const activeTrade: import('./position-manager').ActiveTrade = { - id: `trade-${Date.now()}`, + id: savedTrade.id, // 🔧 BUG #88 FIX: Use real Prisma ID from database positionId: openResult.transactionSignature, symbol: signal.symbol, direction: signal.direction,