Administrator
2026-08-13 a37c520150f077649f7d8b314a517f09956ffae9
src/main/java/com/xcong/excoin/modules/gateApi/GateConfigPersistenceService.java
@@ -93,7 +93,7 @@
                .priceScale(GateWebSocketClientManager.DEFAULT_PRICE_SCALE)
                .contractMultiplier(new BigDecimal(GateWebSocketClientManager.DEFAULT_CONTRACT_MULTIPLIER))
                .unrealizedPnlPriceMode(GateConfig.PnLPriceMode.valueOf(GateWebSocketClientManager.DEFAULT_PNL_MODE))
                .isProduction(true)
                .isProduction(false)
                .reopenMaxRetries(GateWebSocketClientManager.DEFAULT_REOPEN_MAX_RETRIES)
                // 可调参数 — 从 DTO 读取
                .gridRate(nvl(dto.getGridRate(), new BigDecimal("0.005")))
@@ -103,6 +103,15 @@
                .quantity(nvl(dto.getQuantity(), "2"))
                .maxPositionSize(dto.getMaxPositionSize())
                .stopLossCount(dto.getStopLossCount())
                .takeProfitGridSpan(dto.getTakeProfitGridSpan())
                .priceDriveEnabled(nvl(dto.getPriceDriveEnabled(), true))
                .rounds(dto.getRounds())
                .stopLossCountMode(nvl(dto.getStopLossCountMode(), "dual"))
                .addPositionInterval(dto.getAddPositionInterval() >= 0 ? dto.getAddPositionInterval() : 3)
                .addPositionQuantity(dto.getAddPositionQuantity() > 0 ? dto.getAddPositionQuantity() : 1)
                .maxPositionPerSide(dto.getMaxPositionPerSide())
                .addPositionStartThreshold(dto.getAddPositionStartThreshold() >= 0 ? dto.getAddPositionStartThreshold() : 1)
                .placeExcessTakeProfit(dto.isPlaceExcessTakeProfit())
                .build();
    }