Administrator
2026-06-15 cbcf779da2e10df907350debf8ae648e93824c56
fix(gateApi): 修复网格交易止损数量计算逻辑

- 修改多仓止损数量计算方式,将固定值1改为配置的数量值
- 修改空仓止损数量计算方式,将固定值1改为配置的数量值
- 调整比较条件从大于等于0为大于0
- 统一止损触发时的基础张数计算逻辑
1 files modified
13 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java 13 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -1116,9 +1116,9 @@
        BigDecimal baseQuantity = new BigDecimal(config.getBaseQuantity());
        BigDecimal subtract = baseQuantity.subtract(longPositionSize);
        String size = new BigDecimal(config.getQuantity()).add(new BigDecimal("1")).toString();
        if (subtract.compareTo(BigDecimal.ZERO) >=0){
            size = subtract.add(new BigDecimal("1")).toString();
        String size = new BigDecimal(config.getQuantity()).add(new BigDecimal(config.getQuantity())).toString();
        if (subtract.compareTo(BigDecimal.ZERO) > 0){
            size = subtract.add(new BigDecimal(config.getQuantity())).toString();
        }
        log.info("[Gate] 多仓止损触发 gridId:{}, 在gridId:{}挂{}基础张多单",
                gridId, newEntryGridId, size);
@@ -1174,9 +1174,10 @@
        BigDecimal baseQuantity = new BigDecimal(config.getBaseQuantity());
        BigDecimal subtract = baseQuantity.subtract(shortPositionSize);
        String size = new BigDecimal(config.getQuantity()).add(new BigDecimal("1")).toString();
        if (subtract.compareTo(BigDecimal.ZERO) >=0){
            size = subtract.add(new BigDecimal("1")).toString();
        String size = new BigDecimal(config.getQuantity()).add(new BigDecimal(config.getQuantity())).toString();
        if (subtract.compareTo(BigDecimal.ZERO) > 0){
            size = subtract.add(new BigDecimal(config.getQuantity())).toString();
        }
        log.info("[Gate] 空仓止损触发 gridId:{}, 在gridId:{}挂{}基础张空单",
                gridId, newEntryGridId, size);