如开仓信号是30分钟,平仓信号在4小时,该如何创建K线呢?
BarGenerator在Interval是MINUTE的情况下最多只能创建60分钟K线,如果用minute创建30分钟,再用hour创建4小时,会冲突的吧?
而且初始化的时候interval该怎么选择呢?
如开仓信号是30分钟,平仓信号在4小时,该如何创建K线呢?
BarGenerator在Interval是MINUTE的情况下最多只能创建60分钟K线,如果用minute创建30分钟,再用hour创建4小时,会冲突的吧?
而且初始化的时候interval该怎么选择呢?
都是基于1分钟K线数据合成的半小时和四小时,选分钟就好了。
多周期策略编写可参考示例策略multi_timeframe_strategy
xiaohe wrote:
都是基于1分钟K线数据合成的半小时和四小时,选分钟就好了。
多周期策略编写可参考示例策略multi_timeframe_strategy
60分钟内的多周期是没问题的,都试了。
但如果这样创建4小时线: self.bg_240m = BarGenerator(self.on_bar, 240, self.on_240min_bar, interval=Interval.MINUTE)
在self.on_240min_bar里print出不来当前bar的信息,是不是意味这样的创建方式不对?
请您指点指点
超过60分钟bg的Interval就不能选minute了。bg默认的Interval是Interval.MINUTE
合成四小时首先应该在策略文件最上面加一句:
from vnpy.trader.constant import Interval
然后合成四小时K线:
self.bg_4h = BarGenerator(self.on_bar, 4, self.on_4hour_bar, Interval.HOUR)
xiaohe wrote:
超过60分钟bg的Interval就不能选minute了。bg默认的Interval是Interval.MINUTE
合成四小时首先应该在策略文件最上面加一句:
from vnpy.trader.constant import Interval
然后合成四小时K线:
self.bg_4h = BarGenerator(self.on_bar, 4, self.on_4hour_bar, Interval.HOUR)
在策略类的init函数里这样写,对么?
self.bg_30m = BarGenerator(self.on_bar, window=30, on_window_bar=self.on_30m_bar, interval=Interval.MINUTE)
self.bg_4h = BarGenerator(self.on_bar, window=4, on_window_bar=self.on_4h_bar, interval=Interval.HOUR)
那在回测时,set_parameters里面,interval选MINUTE还是HOUR?
是的。
minute,因为都是由一分钟K线合成的,bg初始化里填的Interval只是告诉bargenerator要合成的K线的频率,感兴趣可以自己去vnpy.trader.utility下看一下BarGenerator的代码
xiaohe wrote:
是的。
minute,因为都是由一分钟K线合成的,bg初始化里填的Interval只是告诉bargenerator要合成的K线的频率,感兴趣可以自己去vnpy.trader.utility下看一下BarGenerator的代码
谢谢您的耐心解答!
请问如果要合成90min bar该怎么办呢?可以用1.5 hour么?
可参考【进阶课程】-【CTA策略】的课时08-K线的自定义合成吧