VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 227
声望: 0

停止单被触发 ,但还没有反馈成交,导致通过self。pos重复发单 ,怎么解决这个问题 谢谢

Member
avatar
加入于:
帖子: 4618
声望: 284

如果是基于示例策略写的话,下一个on_bar的时候cancel_all会都撤掉再根据策略逻辑发单的

Member
avatar
加入于:
帖子: 227
声望: 0

xiaohe wrote:

如果是基于示例策略写的话,下一个on_bar的时候cancel_all会都撤掉再根据策略逻辑发单的
指令也许成交了 但还没有返回来 ,撤单也没有效果吧

Member
avatar
加入于:
帖子: 716
声望: 62

除非网络大波动,不然成交到返回并处理的时间很短,相比k线的interval可以忽略不计。万一发生了,在下一次委托时数量加倍就可以了。

Member
avatar
加入于:
帖子: 227
声望: 0

郭易燔 wrote:

除非网络大波动,不然成交到返回并处理的时间很短,相比k线的interval可以忽略不计。万一发生了,在下一次委托时数量加倍就可以了。
不是为成交 而是重复发单了

Member
avatar
加入于:
帖子: 227
声望: 0

例如 指令stop1被触发,然后修改移除self.buy_vt_orderids中的stop1,此时因为self.buy_vt_orderids为空后,且self.pos还没有变动,导致重新挂出指令stop2,而stop1和stop2重复 ,最终导致成交的数量翻倍

Member
avatar
加入于:
帖子: 716
声望: 62

stop2下单时就应该把stop1的委托给撤销掉

Member
avatar
加入于:
帖子: 227
声望: 0

郭易燔 wrote:

stop2下单时就应该把stop1的委托给撤销掉
stop1的状态为已处发

Member
avatar
加入于:
帖子: 4618
声望: 284

cancel_all应该会撤掉已触发的限价委托

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】