Administrator
2026-09-23 ae6fd1a1164859257004180c73b234d28af77923
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -1652,10 +1652,12 @@
        if (maxPerSide > 0) {
            int upperLimit = maxPerSide;
            if (respectCurrentPosition) {
                // 止损追单:单边总持仓不得超过 maxPerSide,追单量 = maxPerSide - 当前持仓
                // 止损追单:单边总持仓不得超过 maxPerSide,追单量 = maxPerSide - 当前持仓。
                // 止损单刚成交、WS 持仓推送尚未到达,必须用 REST 实时查询绕过 WS 缓存时序竞态,
                // 否则会取到滞后的旧持仓(如止损前仍为 10),把追单量错误扣减。
                int currentPos = isLong
                        ? Math.max(queryPositionSize(Position.ModeEnum.DUAL_LONG), longPositionSize.intValue())
                        : Math.max(queryPositionSize(Position.ModeEnum.DUAL_SHORT), shortPositionSize.intValue());
                        ? queryPositionSize(Position.ModeEnum.DUAL_LONG)
                        : queryPositionSize(Position.ModeEnum.DUAL_SHORT);
                upperLimit = maxPerSide - currentPos;
            }
            if (upperLimit <= 0) {