ricequant / rqalpha

A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
http://rqalpha.io
Other
5.41k stars 1.62k forks source link

交易遇到停牌会触发哪一个Event? #662

Closed LawrentChen closed 3 years ago

LawrentChen commented 3 years ago

我参考了下 rqalpha-plus 文档里的最后一个示例策略 https://www.ricequant.com/doc/rqalpha-plus/tutorial.html#%E7%A4%BA%E4%BE%8B%E7%AD%96%E7%95%A5 (这里的最后一个)

subscribe_event(EVENT.ORDER_UNSOLICITED_UPDATE, my_handler) 可以正确处理涨跌停板的情况 subscribe_event(EVENT.ORDER_CREATION_REJECT, my_handler) 却不能处理停牌的情况

一个例子的输出如下,“订单创建失败”看起来也应该对应 ORDER_CREATION_REJECT 啊...? [2020-04-30 15:00:00.000000] WARN: user_system_log: 订单创建失败: 000792.XSHE 在 2020-04-30 时停牌

我暂时在用 is_suspended 来绕路处理这个问题,不知道交易停牌有没有对应的 Event?

Cuizi7 commented 3 years ago

订单创建失败通常是没有事件的,这种情况下下单 api 的返回值为 None,可以通过这一返回值判断是类似的情况。