vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 5
声望: 0

背景:策略逻辑写在on_order里面,每次开仓成交后,会以 “订单价格+预计涨幅”为价格,发出平仓单(同一个时刻,会发出多个不同信号,例如会同一个时刻,有两次send_order的操作)
问题:会出现开仓单都成交了,但是有时候只触发一个平仓单,有时候会触发两个平仓单,有时候不触发

Member
avatar
加入于:
帖子: 2646
声望: 157

不清楚你的具体逻辑,只能自己结合策略逻辑,指标计算结果和当时行情来排查了

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

我是想排除这样两种情况:

  1. 发单方式是否错误,连续写两次self.buy(或者self.sell,都使用bar.close_price)是错误的写法吗?
  2. 使用on_order中order的status==alltraded和offset=open等信息,触发反向平仓是否可以这样做?
  3. simnow的模拟环境,如果出现网络问题(例如短时间内的网络中断),是否会导致,发不出订单(图形界面无订单信息,提交中也没有)
Member
avatar
加入于:
帖子: 2646
声望: 157

应该可以吧,两次buy应该生成了不同的vt_orderid。simnow是偶尔会抽风,但是策略发单情况建议还是排查一下策略逻辑和行情本身,如果想知道到底有没有发单出去,可以在接口send_order函数打印看看

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

沪公网安备 31011502017034号