策略采用示例中的双均线策略,相关合成数据代码如下:
def init(self, cta_engine, strategy_name, vt_symbol, setting):
""""""
super().init(cta_engine, strategy_name, vt_symbol, setting)
# 5分钟周期
self.bg = BarGenerator(self.on_bar,5,self.on_bar_5m)
self.am = ArrayManager()
def on_bar(self, bar: BarData):
"""
Callback of new bar data update.
"""
# am = self.am
# am.update_bar(bar)
# if not am.inited:
# return
self.bg.update_bar(bar)
def on_bar_5m(self, bar: BarData):
am = self.am
am.update_bar(bar)
if not am.inited:
return
print(f"{bar.datetime} >> open:{bar.open_price} close:{bar.close_price})"
数据来源为通达信导出的1分钟数据,转换格式后导入到vnpy数据库中。
错误描述如下:
VNPY合成14:55~15:00的bar数据,使用的是14:55~14:59的分钟数据合成的,而文华财经和通达信均用的是14:56-15:00的分钟数据合成的。
而更离谱的是15:00这根最后一分钟的数据居然在5分钟周期上合并了第二天的数据。简单来说,vnpy在用1分钟bar合成5分钟bar的时候,均提前了1分钟。
请问怎么修改才能使vnpy合成的bar数据与文华财经一致?