Administrator
yesterday d22108cd8800df3f8d4ab9f7b125ece79639faf3
src/main/java/com/xcong/excoin/modules/gateApi/GateTradeExecutor.java
@@ -150,12 +150,33 @@
                log.info("[TradeExec] 止盈单已创建, 触发价:{}, 类型:{}, size:{}, id:{}",
                        triggerPrice, orderType, size, response.getId());
            } catch (Exception e) {
                log.error("[TradeExec] 止盈单创建失败, 触发价:{}, size:{}", triggerPrice, size, e);
                log.error("[TradeExec] 止盈单创建失败, 触发价:{}, size:{}, 立即市价止盈", triggerPrice, size, e);
                marketClose(size);
            }
        });
    }
    /**
     * 市价止盈:在止盈条件单创建失败时立即市价平仓。
     * size 与止盈单保持一致(负=平多,正=平空)。
     */
    private void marketClose(String size) {
        try {
            FuturesOrder order = new FuturesOrder();
            order.setContract(contract);
            order.setSize(size);
            order.setPrice("0");
            order.setTif(FuturesOrder.TifEnum.IOC);
            order.setReduceOnly(true);
            order.setText("t-grid-mkt-close");
            FuturesOrder result = futuresApi.createFuturesOrder(SETTLE, order, null);
            log.info("[TradeExec] 市价止盈成功, 价格:{}, size:{}, id:{}", result.getFillPrice(), size, result.getId());
        } catch (Exception e) {
            log.error("[TradeExec] 市价止盈也失败, size:{}", size, e);
        }
    }
    /**
     * 异步清除指定合约的所有止盈止损条件单。
     */
    public void cancelAllPriceTriggeredOrders() {