def __init__(self, cta_engine, strategy_name, vt_symbol, setting):
super().__init__(cta_engine, strategy_name, vt_symbol, setting)
# 创建5分钟K线合成器
self.bg5 = BarGenerator(
on_bar=self.on_bar,
window=5,
on_window_bar=self.on_5min_bar,
interval=Interval.MINUTE
)
self.am5 = ArrayManager(size=100) # 使用ArrayManager管理5分钟K线
tempam = self.am5
tempam.update_bar(self.bg5.bar)
self.write_log(f"br0={self.bg5.bar.close_price}.BAR1={tempam.close_array[-2]},BAR2={tempam.close_array[-3]}")
if self.am5 and self.bg5.bar:
self.am5=self.am5[:-1]
报错:
Traceback (most recent call last):
File ""D:\VeighNa_Studio\Lib\site-packages\vnpy_ctastrategy\engine.py"", line 613, in call_strategy_func
func(params)
~~^^^^^^^^
File ""D:\VeighNa_Studio\Lib\site-packages\vnpy_ctastrategy\strategies\my_strategy.py"", line 64, in on_tick
self.bg5.update_tick(tick)
~~~~^^^^^^
File ""D:\VeighNa_Studio\Lib\site-packages\vnpy\trader\utility.py"", line 230, in update_tick
self.on_bar(self.bar)
~~~^^^^^^^^^^
File ""D:\VeighNa_Studio\Lib\site-packages\vnpy_ctastrategy\strategies\my_strategy.py"", line 142, in on_bar
self.am5=self.am5[:-1]
~~^^^^^
TypeError: 'ArrayManager' object is not subscriptable