return10策略中on_tick函数生成1分钟bar后调用on_bar函数,on_bar函数接受的是1分钟k线吗?
def on_tick(self, tick: TickData):
"""
Callback of new tick data update.
"""
if (
self.last_tick_time
and self.last_tick_time.minute != tick.datetime.minute
):
bars = {}
for vt_symbol, bg in self.bgs.items():
bars[vt_symbol] = bg.generate()
self.on_bars(bars)
bg: BarGenerator = self.bgs[tick.vt_symbol]
bg.update_tick(tick)
self.last_tick_time = tick.datetime
def on_bars(self, bars: Dict[str, BarData]):
""""""
# 1) 全撤
self.cancel_all()
# 2.3)初始化am &计算时间序列
for vt_symbol, bar in bars.items():
self.today = bar.datetime.date()
am: ArrayManager = self.ams[vt_symbol]
am.update_bar(bar)
# 信号 过去10天的收益率
return10 = am.rocp(self.return_period)