不过删除order.price >= long_cross_price,影响收益计算的问题我解决了,所以目前就只是建议了
如果策略是上个bar的close和最新的open价作比较,符合条件就直接open开仓,最新bar的open价基本都能成交,除非当前open价成交量小并且马上跳开成了最低才有可能滑点成交,如果下一个bar再发出委托,如果已经有趋势了,走了一个bar的价格,就不是滑点能解决的了,下一bar的最低比上一个open高,就会大概率不成交被撤单
open不涉及未来函数,就是一个确定的限价,符合条件发起委托没必要限制,规避未来函数和信号闪烁应该在策略本身上考虑,不应该在系统机制上限制
发现删除order.price >= long_cross_price判断 会影响收益率计算,计算会不准 ,请问有修改委托可以当前bar成交,不影响收益计算的方式吗
是的,没成交将进入待处理,又没有cancel,就变成多笔了
委托成交,我找到方法了,把order.price >= long_cross_price删了就行了
回测我是用开盘价作为开仓价格,发出委托后,当前bar是马上可以成交的,但系统的成交是放到下一个bar来判断,下一bar的最低价如果高于委托的开盘价,系统会撤销委托,但实盘时这种情况是会成交的。如果我不写self.cancel_all(),系统又会连续开多笔同向仓,if self.pos == 0:的判断好像失效了。请问有什么办法解决吗,委托可以设置马上成交