目前我这样写,不行
def on_init(self):
if self.is_backtesting:
self.load_bar(10)
self.load_tick(10)
else:
self.load_bar(10)
我的直觉是,当回测选择tick的时候,那个load_bar就会失效,选择1m的时候,那个load_tick就会失效。
但是实际情况是:
如果选择tick回测,那个load_bar会把tick数据传到on_bar方法里面,造成错误
同理
选择1m回测,那个load_tick会把bar类型的数据传到on_tick方法里面,也造成错误
代码层面没办法判断回测输入的回测数据类型吗?
我现在只能根据测试反复注释这两句来切换,有点麻烦。
至于为什么会同时支持两种回测,
策略实际交易是根据tick数据来下单的,但是回测下载tick数据太慢,所以做了一个兼容1m k线回测的方案,但有时候也需要比较精确的tick回测。
所以就会遇到回测的时候两种周期