Administrator
2026-08-06 b385e9ea59523db5c70584292bc464166f1e7274
chore(gateApi): 注释掉网格交易中的止盈逻辑代码

- 注释掉己方多仓止盈相关的条件判断和执行逻辑
- 注释掉己方空仓止盈相关的条件判断和执行逻辑
- 保留原有的注释说明和代码结构以便后续恢复使用
1 files modified
100 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java 100 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -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);
//            }
//        }
    }
@@ -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);
//            }
//        }
    }