Administrator
2026-06-01 f4bbd0d2392c3b25abb8d693fe2aaad80519b4d9
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -427,8 +427,8 @@
                    tryGenerateQueues();
                }else {
                    longPositionSize = size;
                    checkShortEntryOrderToCancel();
                    checkLongEntryOrderToCancel();
//                    checkShortEntryOrderToCancel();
//                    checkLongEntryOrderToCancel();
                }
            } else {
                if (longActive && state == StrategyState.ACTIVE) {
@@ -450,8 +450,8 @@
                    tryGenerateQueues();
                }else {
                    shortPositionSize = size.abs();
                    checkShortEntryOrderToCancel();
                    checkLongEntryOrderToCancel();
//                    checkShortEntryOrderToCancel();
//                    checkLongEntryOrderToCancel();
                }
            } else {
                if (shortActive && state == StrategyState.ACTIVE) {
@@ -734,34 +734,34 @@
            return;
        }
        GridElement byShortTakeProfitOrderId = GridElement.findByShortTakeProfitOrderId(orderId);
        if (byShortTakeProfitOrderId != null){
            shortTakeProfitTraderIdParam(
                    byShortTakeProfitOrderId,
                    null,
                    false
            );
            shortEntryTraderIdParam(
                    byShortTakeProfitOrderId,
                    null,
                    false
            );
            TPonUserTradeShortEntry(byShortTakeProfitOrderId);
        }
        GridElement byLongTakeProfitOrderId = GridElement.findByLongTakeProfitOrderId(orderId);
        if (byLongTakeProfitOrderId != null){
            longTakeProfitTraderIdParam(
                    byLongTakeProfitOrderId,
                    null,
                    false
            );
            longEntryTraderIdParam(
                    byLongTakeProfitOrderId,
                    null,
                    false
            );
            TPonUserTradeLongEntry(byLongTakeProfitOrderId);
        }
//        GridElement byShortTakeProfitOrderId = GridElement.findByShortTakeProfitOrderId(orderId);
//        if (byShortTakeProfitOrderId != null){
//            shortTakeProfitTraderIdParam(
//                    byShortTakeProfitOrderId,
//                    null,
//                    false
//            );
//            shortEntryTraderIdParam(
//                    byShortTakeProfitOrderId,
//                    null,
//                    false
//            );
//            TPonUserTradeShortEntry(byShortTakeProfitOrderId);
//        }
//        GridElement byLongTakeProfitOrderId = GridElement.findByLongTakeProfitOrderId(orderId);
//        if (byLongTakeProfitOrderId != null){
//            longTakeProfitTraderIdParam(
//                    byLongTakeProfitOrderId,
//                    null,
//                    false
//            );
//            longEntryTraderIdParam(
//                    byLongTakeProfitOrderId,
//                    null,
//                    false
//            );
//            TPonUserTradeLongEntry(byLongTakeProfitOrderId);
//        }
        GridElement shortGridElement = GridElement.findByShortOrderId(orderId);
        if (shortGridElement != null) {
@@ -1382,7 +1382,7 @@
        log.info("[Gate] 多仓止损触发 gridId:{}, 在gridId:{}挂{}张多单", gridId, newEntryGridId, entryQty);
        newEntryGrid.getLongTraderParam().setQuantity(size);
        placeEntryOrderWithPreFlag(newEntryGrid, true, triggerPrice,
                FuturesPriceTrigger.RuleEnum.NUMBER_2, size);
                FuturesPriceTrigger.RuleEnum.NUMBER_1, size);
    }
    private void handleShortStopLossTriggered(GridElement gridElement) {
@@ -1417,7 +1417,7 @@
        log.info("[Gate] 空仓止损触发 gridId:{}, 在gridId:{}挂{}张空单", gridId, newEntryGridId, entryQty);
        newEntryGrid.getShortTraderParam().setQuantity(size);
        placeEntryOrderWithPreFlag(newEntryGrid, false, triggerPrice,
                FuturesPriceTrigger.RuleEnum.NUMBER_1, negate(size));
                FuturesPriceTrigger.RuleEnum.NUMBER_2, negate(size));
    }
    private void extendLongStopLoss(int filledQty) {