From ce170b319efe52c0cb3d88d9eee57f7b43172fdd Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Tue, 29 Jul 2025 19:36:52 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=20CRITICAL=20FIX:=20Stop=20cleanup?= =?UTF-8?q?=20from=20canceling=20SL/TP=20orders?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixed cleanup-orders logic to NEVER cancel reduce-only orders (SL/TP) - Updated position monitor to be more conservative with cleanup - This was causing SL/TP orders to be canceled after position creation - Positions were left unprotected due to aggressive cleanup logic --- app/api/automation/position-monitor/route.js | 10 +++++++--- app/api/drift/cleanup-orders/route.js | 11 ++++++++--- prisma/prisma/dev.db | Bin 16318464 -> 16527360 bytes 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/api/automation/position-monitor/route.js b/app/api/automation/position-monitor/route.js index a91c2ed..dad09af 100644 --- a/app/api/automation/position-monitor/route.js +++ b/app/api/automation/position-monitor/route.js @@ -98,9 +98,13 @@ export async function GET() { if (activeOrders.length > 0) { console.log('📋 No active positions detected - checking for truly orphaned orders...'); - // Filter for truly orphaned orders (non-reduce-only orders without positions) - // Do NOT clean up reduce-only orders as these could be legitimate SL/TP from recently closed positions - const trulyOrphanedOrders = activeOrders.filter(order => !order.reduceOnly); + // Filter for truly orphaned orders (ONLY non-reduce-only orders without positions) + // 🛡️ CRITICAL: NEVER clean up reduce-only orders as these are SL/TP protecting positions + const trulyOrphanedOrders = activeOrders.filter(order => { + // Only consider non-reduce-only orders for cleanup + // Reduce-only orders (SL/TP) should NEVER be automatically canceled + return !order.reduceOnly + }); if (trulyOrphanedOrders.length > 0) { console.log(`🎯 Found ${trulyOrphanedOrders.length} truly orphaned orders (non-reduce-only) - triggering cleanup...`); diff --git a/app/api/drift/cleanup-orders/route.js b/app/api/drift/cleanup-orders/route.js index 524aa9c..8dbc736 100644 --- a/app/api/drift/cleanup-orders/route.js +++ b/app/api/drift/cleanup-orders/route.js @@ -99,9 +99,14 @@ export async function POST() { // Check if this order is for a market where we have no position const hasPosition = positionMarkets.has(order.marketIndex) - // CORRECTED LOGIC: Cancel ALL orders when no position exists - // If we have no position, then ALL orders (including SL/TP) are orphaned - return !hasPosition + // 🛡️ CRITICAL FIX: Only cancel non-reduce-only orders when no position exists + // NEVER cancel reduce-only orders (SL/TP) as they protect existing positions + if (!hasPosition) { + // Only cancel orders that are NOT reduce-only (market makers, limit orders) + return !order.reduceOnly + } + + return false // Don't cancel any orders when position exists }) // Additionally, find lingering SL/TP orders when position has changed significantly diff --git a/prisma/prisma/dev.db b/prisma/prisma/dev.db index 8eb23711f6098221aa4a5fb8bb603ccecac5c3d2..fbdd063a7d00af028058a12bc464670b09e07718 100644 GIT binary patch delta 44392 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�`;W@ubwU=2JO0$;l}?IsN= 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