除了1m、1h、1d这些周期外,能15分钟或其他周期回测吗?如果能,如何操作?
除了1m、1h、1d这些周期外,能15分钟或其他周期回测吗?如果能,如何操作?
可以,通过BarGenerator合成不同结构的K线即可
策略里是这样:
def init(self, cta_engine, strategy_name, vt_symbol, setting):
super().init(cta_engine, strategy_name, vt_symbol, setting)
self.bg = BarGenerator(self.on_bar, 15, self.on_15min_bar, interval = Interval.MINUTE)
self.am = ArrayManager()
def on_bar(self, bar: BarData):
self.bg.update_bar(bar)
def on_15min_bar(self, bar: BarData):
# self.cancel_all() # 撤销所有委托
am = self.am
am.update_bar(bar)
if not am.inited:
return
用backtesting_demo.ipynb不能回测15分钟,要改C:\vnstudio\Lib\site-packages\vnpy\trader\utility.py里的源码吗?
你的是用的15分钟的数据还是1分钟数据合成的15分钟线呢?
1分钟数据合成的15分钟线,
在on_15min_bar里写下单逻辑,然后backtesting_demo.ipynb里使用1m数据就可以了