vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 3
声望: 1

操作系统,Windows 10
Python环境,Anaconda 5.2.0-2.7-32位
vn.py框架,v1.9.2

使用问题:
我预想在策略初始化完成(早上8点45)点击启动策略之后,在开盘9点开始就开始运行策略,如果有价格达到开仓的上下轨则发单成交。但是实际上,策略要在9点15分收到第一个15分bar才会执行后续的逻辑,比如监控价格、委托下单、成交等。

请问要在开盘之后立即监控、运行策略逻辑,该如何处理?示例策略strategyBollChannel在回测的时候在开盘之后15分钟会发单成交吗?

Administrator
avatar
加入于:
帖子: 1468
声望: 69

回测中,是会发单成交的,因为数据回放是连续的。

实盘之所以不成交,因为当天之前的数据都是在onInit调用时加载进来回放的数据,此时trading状态为False,因此所有的买卖委托都会被忽略。

直到初始化完成后,onStart被调用,trading为True,此时发单才会真实进入到底层接口。

所以一个变通方案,是在onTick里做个收到当天开盘第一个Tick时的特殊检查处理(立即发停止单),或者写在onBar里也行(第一个分钟线走完时触发)。

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