From c46df80551dc93910a863e43ba04f3e7ff365c8c Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 15 Jul 2026 15:09:47 +0800
Subject: [PATCH] fix(gateApi): 修复网格交易止盈逻辑计算问题
---
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java | 10 ++++++----
1 files changed, 6 insertions(+), 4 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 f6a67e6..4da7371 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -666,9 +666,10 @@
// }
// );
- // 空仓止盈:每1张持仓对应1个止盈位,从entry网格向下逐个挂
+ // 空仓止盈:超额部分挂止盈,从entry网格向下逐个挂
+ int shortBaseQty = Integer.parseInt(config.getBaseQuantity());
int shortGridQty = Integer.parseInt(config.getQuantity());
- int shortTpCount = posSize / shortGridQty;
+ int shortTpCount = posSize > shortBaseQty ? (posSize - shortBaseQty) / shortGridQty : 0;
for (int i = 0; i < shortTpCount; i++) {
int tpGridId = shortGridElement.getId() - 2 * (i + 1);
@@ -731,9 +732,10 @@
// }
// );
- // 多仓止盈:每1张持仓对应1个止盈位,从entry网格向上逐个挂
+ // 多仓止盈:超额部分挂止盈,从entry网格向上逐个挂
+ int longBaseQty = Integer.parseInt(config.getBaseQuantity());
int longGridQty = Integer.parseInt(config.getQuantity());
- int longTpCount = posSize / longGridQty;
+ int longTpCount = posSize > longBaseQty ? (posSize - longBaseQty) / longGridQty : 0;
for (int i = 0; i < longTpCount; i++) {
int tpGridId = longGridElement.getId() + 2 * (i + 1);
--
Gitblit v1.9.1