请教一下原因是什么?
相关代码如下:
def on_5min_bar(self, bar: BarData):
self.cancel_all()
self.am_5min.update_bar(bar)
# 其余代码...
if not self.am_5min.inited:
print('5_bar initialization Failed')
print(f"5分钟K线数量: {self.am_5min.count}")
return
前期初始化没有问题,代码如下:
def on_init(self):
"""策略初始化"""
self.bg_5min = BarGenerator(
self.on_bar, 5, self.on_5min_bar, interval=Interval.MINUTE)
self.am_5min = ArrayManager(size=60)
self.load_bar(
days=10,
interval=Interval.MINUTE,
use_database=True
)
self.write_log('Initialized')
输出如下
DEBUG:peewee:('SELECT t1.id, t1.symbol, t1.exchange, t1.datetime, t1.interval, t1.volume, t1.turnover, t1.open_interest, t1.open_price, t1.high_price, t1.low_price, t1.close_price FROM dbbardata AS t1 WHERE (((((t1.symbol = %s) AND (t1.exchange = %s)) AND (t1.interval = %s)) AND (t1.datetime >= %s)) AND (t1.datetime <= %s)) ORDER BY t1.datetime', ['ru2509', 'SHFE', '1m', datetime.datetime(2025, 6, 10, 21, 6, 57, 155907, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), datetime.datetime(2025, 6, 20, 21, 6, 57, 155907, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai'))])

另一个策略合成的15min_bar就没有这个问题。
