| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * 订单频道处理器(futures.orders)。 |
| | | * |
| | | * <h3>数据用途</h3> |
| | | * 订阅订单更新推送。当订单状态变为 finished 且成交方式为 filled 时, |
| | | * 通过订单 ID 匹配 {@code currentShortOrderIds} 中存储的止盈价格,自动挂止盈单。 |
| | | * |
| | | * <h3>关键推送字段</h3> |
| | | * <ul> |
| | | * <li>id:订单 ID</li> |
| | | * <li>contract:合约名称</li> |
| | | * <li>status:订单状态(open / finished)</li> |
| | | * <li>finish_as:订单结束方式(filled / cancelled / ioc 等)</li> |
| | | * <li>price:订单价格</li> |
| | | * <li>size:订单大小</li> |
| | | * </ul> |
| | | * |
| | | * <h3>回调数据(传给 GateGridTradeService)</h3> |
| | | * orderId (String), status (String), finishAs (String) |
| | | * 订单频道处理器(futures.orders),接收订单更新推送并回调 {@link GateGridTradeService#onOrderUpdate}。 |
| | | * 回调内部通过 {@code GridElement.findByLongOrderId / findByShortOrderId} 匹配网格订单。 |
| | | * |
| | | * @author Administrator |
| | | */ |
| | |
| | | String status = order.getString("status"); |
| | | String finishAs = order.getString("finish_as"); |
| | | String updateId = order.getString("update_id"); |
| | | log.info("[{}] 订单更新, id:{}, status:{}, finish_as:{}, price:{}, size:{},update_id:{}", |
| | | CHANNEL_NAME, orderId, status, finishAs, |
| | | order.get("price"), order.get("size"),updateId); |
| | | // log.info("[{}] 订单更新, id:{}, status:{}, finish_as:{}, price:{}, size:{},update_id:{}", |
| | | // CHANNEL_NAME, orderId, status, finishAs, |
| | | // order.get("price"), order.get("size"),updateId); |
| | | // if (getGridTradeService() != null) { |
| | | // getGridTradeService().onOrderUpdate(orderId, status, finishAs); |
| | | // } |