策略是基于30分钟K线执行,每当30分钟K线走完,执行缓存一次数据
可是有个问题,比如说在15:00会触发一个执行价格(等待中),15:00后停止策略后,会变成已撤销
然后到夜盘到时候,初始化策略,启动策略之后,这个执行价格会消失(失效)
直到过半个小时,21:30后才会重新触发一个执行价格(等待中)。但是这样一来,如果在21:00到21:30这半个小时之间价格到达了原本的触发价,则策略不会执行,请问这问题该如何解决?
策略是基于30分钟K线执行,每当30分钟K线走完,执行缓存一次数据
可是有个问题,比如说在15:00会触发一个执行价格(等待中),15:00后停止策略后,会变成已撤销
然后到夜盘到时候,初始化策略,启动策略之后,这个执行价格会消失(失效)
直到过半个小时,21:30后才会重新触发一个执行价格(等待中)。但是这样一来,如果在21:00到21:30这半个小时之间价格到达了原本的触发价,则策略不会执行,请问这问题该如何解决?
谢谢大佬,请问是在策略中加载历史数据吗?
策略中已经有self.load_bar(20)了
不好意思,我刚才讲的有点问题。
你15:00的order时间显示的是14:30。而你显示21:00时刻的bar要到21:30才能推送,所以你的需求是在21:00根据14:30这根bar下单。
在执行self.load_bar(20)时,系统会执行on_bar函数,但是因为是历史数据,所以不会下单。但是所有的结果都是计算好的。
也就是说在执行完self.load_bar(20)函数后,所有的变量都是你15:00那个时刻的变量。
你在self.load_bar(20)函数之后把下单逻辑再写一遍就可以了。有些变量需要使用全局变量存放。
谢谢大佬!折腾了2天,终于调试ok了。