请教一下原因是什么?
相关代码如下:
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就没有这个问题。