Administrator
7 days ago 6f2e031ee0d0e49b09770541aa379bae2fa722d1
fix(gateApi): 修复网格交易价格队列初始化和方向标识错误

- 在服务重启时清空总长短价格队列
- 在生成短单队列时清空总长短价格队列
- 修正网格元素中的方向ID设置逻辑,确保正确的上下方向映射
1 files modified
8 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java 8 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -309,6 +309,8 @@
        accumulatedShortLossCount = 0;
        shortPriceQueue.clear();
        longPriceQueue.clear();
        totalShortPriceQueue.clear();
        totalLongPriceQueue.clear();
        currentLongOrderIds.clear();
        currentShortOrderIds.clear();
        // 每次重启重新获取当前本金
@@ -878,6 +880,8 @@
     */
    private void generateShortQueue() {
        shortPriceQueue.clear();
        totalShortPriceQueue.clear();
        totalLongPriceQueue.clear();
        int prec = config.getPriceScale();
        BigDecimal step = shortBaseEntryPrice.multiply(config.getGridRate()).setScale(prec, RoundingMode.HALF_UP);
        config.setStep(step);
@@ -990,8 +994,8 @@
            elements.add(GridElement.builder()
                    .id(0)
                    .gridPrice(price)
                    .upId(shortSize > 0 ? 1 : null)
                    .downId(longSize > 0 ? -1 : null)
                    .upId(longSize > 0 ? 1 : null)
                    .downId(shortSize > 0 ? -1 : null)
                    .longTraderParam(longParam)
                    .shortTraderParam(shortParam)
                    .build());