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

比如onbar函数里面条件满足的,以close价格(假如为10块)买入一首合约;
但是下一根K线开始的开盘价是12块,收盘价是13块,那么这个买入动作就会失败。这个时候怎么处理?

因为下一根K线也就只有open,close,high,low四个价格,如果之前onbar里面买入的时候使用的close价格没有在这四个价格之间,那回测也是买入失败,仓位不会增加。
而且未来也不能保证买入成功。

这对于开仓还好说,大不了不开仓了。但是对于平仓来讲,如果下单不成功,那这个回测似乎没啥意义了?

请各位老司机指点。

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

也就是说self.short(bar.close_price, 1)执行之后, 不会导致仓位变化

Member
avatar
加入于:
帖子: 470
声望: 24

交易不成功的话self.pos就不会变,下次满足条件的时候会继续发单,直到成交为止self.pos才会变化。
所以交易不成功不会影响开平仓,因为开平仓都是根据self.pos来判断的,可以参考示例策略。

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

回测的时候(不会真正的发单),平台如何决定交易是否成功呢?

Member
avatar
加入于:
帖子: 470
声望: 24

jameslai wrote:

回测的时候(不会真正的发单),平台如何决定交易是否成功呢?
请去看backtesting.py文件下看一下对应订单的撮合逻辑。

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

了解了,多谢!

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

沪公网安备 31011502017034号