85 浏览
0

self.api.cancel_order(order)
如上取消委托后,在之后的判断中,仍有可以查到order委托status是ALIVE状态。

如何让取消委托,立即生效

janreyho 未选择答案 2天 前
0

检查一下后面有没有跟着wait_update,报单和撤单指令都需要通过这个函数发送的

janreyho 编辑评论 2天 前

有其他问题欢迎加入官方Q群748265037一起交流

_order_obj = self.get_order(symbol, direction)
if not _order_obj:
return
for order_id, order in _order_obj.items():
self.api.cancel_order(order)
self.logger.info(“取消委托%s %s”, symbol, direction)
self.api.wait_update()

有带有 self.api.wait_update() 如上

2025-12-12 21:47:35,176 [INFO] grid_trader:187 {
“order_id”: “PYSDK_insert_a492fd53eaf4a2dee3282cac093daaa9”,
“exchange_order_id”: “PYSDK_insert_a492fd53eaf4a2dee3282cac093daaa9”,
“exchange_id”: “SHFE”,
“instrument_id”: “ag2606”,
“direction”: “BUY”,
“offset”: “OPEN”,
“volume_orign”: 1,
“volume_left”: 1,
“limit_price”: 15084.0,
“price_type”: “LIMIT”,
“volume_condition”: “ANY”,
“time_condition”: “GFD”,
“insert_date_time”: 1765547254862381737,
“last_msg”: “”,
“status”: “ALIVE”,
“is_dead”: false,
“is_online”: true,
“is_error”: false,
“trade_price”: NaN,
“seqno”: 25,
“user_id”: “7972eb40-122d-4748-9d60-f7d56b1dfa65”,
“frozen_margin”: 13296.6,
“frozen_premium”: 0.0,
“frozen_commission”: 11.0805
}
2025-12-12 21:47:35,176 [INFO] grid_trader:188 取消委托SHFE.ag2606 BUY
2025-12-12 21:47:35,178 [INFO] grid_trader:109 {
“order_id”: “PYSDK_insert_a492fd53eaf4a2dee3282cac093daaa9”,
“exchange_order_id”: “PYSDK_insert_a492fd53eaf4a2dee3282cac093daaa9”,
“exchange_id”: “SHFE”,
“instrument_id”: “ag2606”,
“direction”: “BUY”,
“offset”: “OPEN”,
“volume_orign”: 1,
“volume_left”: 1,
“limit_price”: 15084.0,
“price_type”: “LIMIT”,
“volume_condition”: “ANY”,
“time_condition”: “GFD”,
“insert_date_time”: 1765547254862381737,
“last_msg”: “”,
“status”: “ALIVE”,
“is_dead”: false,
“is_online”: true,
“is_error”: false,
“trade_price”: NaN,
“seqno”: 25,
“user_id”: “7972eb40-122d-4748-9d60-f7d56b1dfa65”,
“frozen_margin”: 13296.6,
“frozen_premium”: 0.0,
“frozen_commission”: 11.0805
}
2025-12-12 21:47:35,178 [INFO] grid_trader:135 ___check_symbol_order symbol=SHFE.ag2606, direction=BUY,offset=OPEN
2025-12-12 21:47:35 – INFO – 通知 xxxxx: 撤单成功

看这个日志,order信息,在取消前,和取消后(下单查询时)各字段值完全一样。

我需要的操作是:
步骤1 某种条件满足时。
步骤2 取消合约A的买开委托(低价一直没有执行)
步骤3 然后立即发起合约A买开委托(在原低价+一个小的上涨幅度)

备注: 为了防止步骤3重复委托,需要有步骤2.5,判断原委托是否被取消或者失效。

问题是:步骤2.5 一直无法获得正确的结果。

您正在查看1个答案中的1个,单击此处查看所有答案。