From 526dc9bd7e7e71e5e18c4dd966d3996e628ae6fa Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 21 May 2026 10:14:33 +0800
Subject: [PATCH] fix(gateApi): 更新网格交易盈亏计算逻辑

---
 src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
index b3354d1..4fd0216 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -517,13 +517,17 @@
             return;
         }
         cumulativePnl = cumulativePnl.add(pnl);
-        log.info("[Gate] 盈亏累加:{}, 方向:{}, 累计:{}", pnl, side, cumulativePnl);
+        BigDecimal totalPnl = cumulativePnl.add(unrealizedPnl);
+        log.info("[Gate] 盈亏累加:{}, 方向:{}, 已实现:{}, 未实现:{}, 合计:{}",
+                pnl, side, cumulativePnl, unrealizedPnl, totalPnl);
 
-        if (cumulativePnl.compareTo(config.getOverallTp()) >= 0) {
-            log.info("[Gate] 已达止盈目标 {}→已停止", cumulativePnl);
+        if (totalPnl.compareTo(config.getOverallTp()) >= 0) {
+            log.info("[Gate] 已达止盈目标(合计{})→已停止, 已实现:{}, 未实现:{}",
+                    totalPnl, cumulativePnl, unrealizedPnl);
             state = StrategyState.STOPPED;
-        } else if (cumulativePnl.compareTo(config.getMaxLoss().negate()) <= 0) {
-            log.info("[Gate] 已达亏损上限 {}→已停止", cumulativePnl);
+        } else if (totalPnl.compareTo(config.getMaxLoss().negate()) <= 0) {
+            log.info("[Gate] 已达亏损上限(合计{})→已停止, 已实现:{}, 未实现:{}",
+                    totalPnl, cumulativePnl, unrealizedPnl);
             state = StrategyState.STOPPED;
         }
     }

--
Gitblit v1.9.1