From b58e08778e37ecf0ff9f7a21c990dd213f6b1731 Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Wed, 5 Nov 2025 10:29:32 +0100 Subject: [PATCH] fix: correct MFE/MAE tracking after partial exits --- lib/trading/position-manager.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/trading/position-manager.ts b/lib/trading/position-manager.ts index 26ba375..0edb523 100644 --- a/lib/trading/position-manager.ts +++ b/lib/trading/position-manager.ts @@ -562,8 +562,8 @@ export class PositionManager { trade.direction ) - const accountPnL = profitPercent * trade.leverage - trade.unrealizedPnL = (trade.currentSize * profitPercent) / 100 + const accountPnL = profitPercent * trade.leverage + trade.unrealizedPnL = (trade.currentSize * accountPnL) / 100 // Track peak P&L (MFE - Maximum Favorable Excursion) if (trade.unrealizedPnL > trade.peakPnL) { @@ -873,6 +873,11 @@ export class PositionManager { console.log('✅ All positions closed') } + refreshConfig(): void { + this.config = getMergedConfig() + console.log('⚙️ Position manager config refreshed from environment') + } + private async handlePostTp1Adjustments(trade: ActiveTrade, context: string): Promise { if (trade.currentSize <= 0) { console.log(`⚠️ Skipping TP1 adjustments for ${trade.symbol} (${context}) because current size is $${trade.currentSize.toFixed(2)}`)