Administrator
2026-05-21 db026d855da7b0be0c3f5bad5cfbc5a5c84c2009
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -342,6 +342,16 @@
        lastKlinePrice = closePrice;
        updateUnrealizedPnl();
        if (state == StrategyState.STOPPED) {
            try {
                futuresApi.cancelPriceTriggeredOrderList(SETTLE, config.getContract());
            } catch (ApiException e) {
                e.printStackTrace();
            }
            closeExistingPositions();
            BigDecimal totalPnl = cumulativePnl.add(unrealizedPnl);
            log.info("[Gate] 已实现:{}, 未实现:{}, 合计:{}",
                    cumulativePnl, unrealizedPnl, totalPnl);
            return;
        }
@@ -518,8 +528,8 @@
        }
        cumulativePnl = cumulativePnl.add(pnl);
        BigDecimal totalPnl = cumulativePnl.add(unrealizedPnl);
        log.info("[Gate] 盈亏累加:{}, 方向:{}, 已实现:{}, 未实现:{}, 合计:{}",
                pnl, side, cumulativePnl, unrealizedPnl, totalPnl);
        log.info("[Gate] 已实现:{}, 未实现:{}, 合计:{}",
                cumulativePnl, unrealizedPnl, totalPnl);
        if (totalPnl.compareTo(config.getOverallTp()) >= 0) {
            log.info("[Gate] 已达止盈目标(合计{})→已停止, 已实现:{}, 未实现:{}",
@@ -680,11 +690,11 @@
                    null,
                    false
            );
            longEntryTraderIdParam(
                    byLongTakeProfitOrderId,
                    null,
                    false
            );
//            longEntryTraderIdParam(
//                    byLongTakeProfitOrderId,
//                    null,
//                    false
//            );
        }
        GridElement byShortTakeProfitOrderId = GridElement.findByShortTakeProfitOrderId(orderId);
        if (byShortTakeProfitOrderId != null){
@@ -693,11 +703,11 @@
                    null,
                    false
            );
            shortEntryTraderIdParam(
                    byShortTakeProfitOrderId,
                    null,
                    false
            );
//            shortEntryTraderIdParam(
//                    byShortTakeProfitOrderId,
//                    null,
//                    false
//            );
        }
        /**