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

在策略中,都是用self.pos>0或self.pos<0或self.pos == 0来作为判断开仓的条件,但如果是在on_tick中开仓的话,会因on_tick推送太快,self.pos状态未能及时改变而导致重复下单的情况发生,请懂的朋友指点一下,如何解决这个问题,是否需要在on_order或on_trade中再加上判断条件,如何来做呢?

Member
avatar
加入于:
帖子: 337
声望: 27

可参考微信公众号(vnpy-community)里的进阶课程→CTA策略→第29节委托控制。

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

青青子荆 wrote:

可参考微信公众号(vnpy-community)里的进阶课程→CTA策略→第29节委托控制。

看了 好像并不能解决一楼的问题

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

不要用self.pos作为判断开仓的条件,可以设置一个open_flag,close_flag这样的标志变量,发单后把flag置为1

Member
avatar
加入于:
帖子: 419
声望: 170

要保证交易信号生成机制与交易执行机制的一致性:

  • 用5分钟K线收盘数据生成的信号,却用后面收到的tick去执行,当然会出现重复单。就算用其他的什么标志去做条件过滤也是防不胜防。
  • 用5分钟K线收盘数据生成的信号,用该K线的收盘价去执行,就不会出现重复单。如果仍然有重复单,就过滤你的交易信号,与执行无关。
© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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