| | |
| | | * |
| | | * @param orderId 订单 ID,为 null 时跳过 |
| | | */ |
| | | public void cancelOrder(String orderId) { |
| | | public void cancelOrder(String orderId,Consumer<String> onSuccess) { |
| | | if (orderId == null) { |
| | | return; |
| | | } |
| | |
| | | try { |
| | | FuturesOrder cancelled = futuresApi.cancelFuturesOrder(SETTLE, orderId, null); |
| | | log.info("[TradeExec] 订单已取消, id:{}, status:{}", orderId, cancelled.getStatus()); |
| | | if (onSuccess != null) { |
| | | onSuccess.accept(orderId); |
| | | } |
| | | } catch (Exception e) { |
| | | log.warn("[TradeExec] 取消订单失败(可能已成交), id:{}", orderId); |
| | | } |
| | |
| | | * |
| | | * @param orderId 条件单 ID,为 null 时跳过 |
| | | */ |
| | | public void cancelConditionalOrder(String orderId) { |
| | | public void cancelConditionalOrder(String orderId,Consumer<String> onSuccess) { |
| | | if (orderId == null) { |
| | | return; |
| | | } |
| | |
| | | try { |
| | | futuresApi.cancelPriceTriggeredOrder(SETTLE, Long.parseLong(orderId)); |
| | | log.info("[TradeExec] 条件单已取消, id:{}", orderId); |
| | | if (onSuccess != null) { |
| | | onSuccess.accept(orderId); |
| | | } |
| | | } catch (Exception e) { |
| | | log.warn("[TradeExec] 取消条件单失败(可能已触发), id:{}", orderId); |
| | | } |