From 62fb9919e0f19d413b06c62b70a407c14460a601 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 06 Aug 2026 15:59:20 +0800
Subject: [PATCH] chore(gateApi): 注释掉网格交易中的止盈逻辑代码

---
 src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java |  109 +++++++++++++++++++++++++++---------------------------
 1 files changed, 55 insertions(+), 54 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 bef35fb..e8df6af 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -676,7 +676,6 @@
                 log.info("[Gate] 空单成交 gridId:{}, 当前持仓:{}张", filledQty, posSize);
 
 
-                accumulatedShortLossCount++;
                 checkShortStopLongProfit(accumulatedShortLossCount, shortGridElement.getId() + 2);
 
             }
@@ -708,7 +707,6 @@
 //                placeExcessTakeProfit(posSize, true);
                 log.info("[Gate] 多单成交 gridId:{}, 当前持仓:{}张", filledQty, posSize);
 
-                accumulatedLongLossCount++;
                 checkLongStopShortProfit(accumulatedLongLossCount, longGridElement.getId() -2);
 
             }
@@ -1287,6 +1285,8 @@
         }
 
         lastLongStopLossGridId = gridId;
+
+        accumulatedLongLossCount++;
         log.info("[Gate] 多仓止损触发 gridId:{}, 止损次数:{}{}, 开始追单",
                 gridId, accumulatedLongLossCount, sameGrid ? "(同网格)" : "");
         int newEntryGridId = gridId + 1;
@@ -1379,7 +1379,7 @@
      */
     private void checkLongStopShortProfit(int times, int gridId) {
         int[] r = ruleOf(times);
-        int maxPos = config.getMaxPositionSize();
+        int maxPos = Integer.parseInt(config.getBaseQuantity());
         if (maxPos <= 0) {
             return;
         }
@@ -1402,31 +1402,31 @@
         }
 
         // ---------- 己方(多仓)盈止(≥6次) ----------
-        if (times >= 6 && thresholdPct > 0) {
-            int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_LONG), longPositionSize.intValue());
-            int excess = selfPos - thresholdPosNum;
-            if (excess > 0) {
-                int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
-                if (perOrderQty <= 0) {
-                    perOrderQty = 1;
-                }
-                int totalOrders = excess / perOrderQty;
-                if (totalOrders <= 0) {
-                    totalOrders = 1;
-                }
-                int entryGridId = 0; // 多仓建仓格
-                for (int i = 0; i < totalOrders; i++) {
-                    int tpGridId = entryGridId + 2 * (i + 1); // 朝盈利方向(向上)间隔2格
-                    GridElement tpElem = GridElement.findById(tpGridId);
-                    if (tpElem == null) {
-                        break;
-                    }
-                    placeTakeProfitAtGrid(tpElem, true, perOrderQty, times);
-                }
-                log.info("[Gate] 止损{}→己方多仓止盈, excess:{}, 挂{}单, 每单{}张",
-                        times, excess, totalOrders, perOrderQty);
-            }
-        }
+//        if (times >= 6 && thresholdPct > 0) {
+//            int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_LONG), longPositionSize.intValue());
+//            int excess = selfPos - thresholdPosNum;
+//            if (excess > 0) {
+//                int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
+//                if (perOrderQty <= 0) {
+//                    perOrderQty = 1;
+//                }
+//                int totalOrders = excess / perOrderQty;
+//                if (totalOrders <= 0) {
+//                    totalOrders = 1;
+//                }
+//                int entryGridId = 0; // 多仓建仓格
+//                for (int i = 0; i < totalOrders; i++) {
+//                    int tpGridId = entryGridId + 2 * (i + 1); // 朝盈利方向(向上)间隔2格
+//                    GridElement tpElem = GridElement.findById(tpGridId);
+//                    if (tpElem == null) {
+//                        break;
+//                    }
+//                    placeTakeProfitAtGrid(tpElem, true, perOrderQty, times);
+//                }
+//                log.info("[Gate] 止损{}→己方多仓止盈, excess:{}, 挂{}单, 每单{}张",
+//                        times, excess, totalOrders, perOrderQty);
+//            }
+//        }
 
     }
 
@@ -1435,7 +1435,7 @@
      */
     private void checkShortStopLongProfit(int times, int gridId) {
         int[] r = ruleOf(times);
-        int maxPos = config.getMaxPositionSize();
+        int maxPos = Integer.parseInt(config.getBaseQuantity());
         if (maxPos <= 0) {
             return;
         }
@@ -1458,31 +1458,31 @@
         }
 
         // ---------- 己方(空仓)盈止(≥6次) ----------
-        if (times >= 6 && thresholdPct > 0) {
-            int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_SHORT), shortPositionSize.intValue());
-            int excess = selfPos - thresholdPosNum;
-            if (excess > 0) {
-                int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
-                if (perOrderQty <= 0) {
-                    perOrderQty = 1;
-                }
-                int totalOrders = excess / perOrderQty;
-                if (totalOrders <= 0) {
-                    totalOrders = 1;
-                }
-                int entryGridId = 0; // 空仓建仓格
-                for (int i = 0; i < totalOrders; i++) {
-                    int tpGridId = entryGridId - 2 * (i + 1); // 朝盈利方向(向下)间隔2格
-                    GridElement tpElem = GridElement.findById(tpGridId);
-                    if (tpElem == null) {
-                        break;
-                    }
-                    placeTakeProfitAtGrid(tpElem, false, perOrderQty, times);
-                }
-                log.info("[Gate] 止损{}→己方空仓止盈, excess:{}, 挂{}单, 每单{}张",
-                        times, excess, totalOrders, perOrderQty);
-            }
-        }
+//        if (times >= 6 && thresholdPct > 0) {
+//            int selfPos = Math.max(queryPositionSize(Position.ModeEnum.DUAL_SHORT), shortPositionSize.intValue());
+//            int excess = selfPos - thresholdPosNum;
+//            if (excess > 0) {
+//                int perOrderQty = maxPos * DEFAULT_STOP_LOSS_PERCENT / 100;
+//                if (perOrderQty <= 0) {
+//                    perOrderQty = 1;
+//                }
+//                int totalOrders = excess / perOrderQty;
+//                if (totalOrders <= 0) {
+//                    totalOrders = 1;
+//                }
+//                int entryGridId = 0; // 空仓建仓格
+//                for (int i = 0; i < totalOrders; i++) {
+//                    int tpGridId = entryGridId - 2 * (i + 1); // 朝盈利方向(向下)间隔2格
+//                    GridElement tpElem = GridElement.findById(tpGridId);
+//                    if (tpElem == null) {
+//                        break;
+//                    }
+//                    placeTakeProfitAtGrid(tpElem, false, perOrderQty, times);
+//                }
+//                log.info("[Gate] 止损{}→己方空仓止盈, excess:{}, 挂{}单, 每单{}张",
+//                        times, excess, totalOrders, perOrderQty);
+//            }
+//        }
 
     }
 
@@ -1496,6 +1496,7 @@
             return;
         }
         lastShortStopLossGridId = gridId;
+        accumulatedShortLossCount++;
         log.info("[Gate] 空仓止损触发 gridId:{}, 止损次数:{}{}, 开始追单",
                 gridId, accumulatedShortLossCount, sameGrid ? "(同网格)" : "");
         int newEntryGridId = gridId - 1;

--
Gitblit v1.9.1