self.bg_5min = BarGenerator(self.on_bar, 5, self.on_5min_bar, Interval.MINUTE)
self.am_5min = ArrayManager(10)
def on_init(self):
"""
Callback when strategy is inited.
"""
self.write_log("策略初始化")
self.load_bar(10)
def on_start(self):
"""
Callback when strategy is started.
"""
self.write_log("策略启动")
self.put_event()
def on_stop(self):
"""
Callback when strategy is stopped.
"""
self.write_log("策略停止")
self.put_event()
def on_tick(self, tick: TickData):
"""
Callback of new tick data update.
"""
self.bg_5min.update_tick(tick)
def on_bar(self, bar: BarData):
"""1 分钟 K 线回调"""
self.bg_5min.update_bar(bar)
if not self.bg_5min == None:
self.write_log(f"收盘价:{self.bg_5min.bar.close_price},时间:{self.bg_5min.bar.datetime}")
else:
return
self.am_5min.update_bar(bar)
if not self.am_5min.inited:
self.write_log("AM NOT INIT...")
return
#current_bar = self.bg_5min.bar
#if current_bar is None:
# return
self.hh = self.am_5min.high_array[-3]
if self.hh is not None:
self.write_log(f"HH价:{self.hh}")
else:
self.write_log(f"hh is None")
self.hh=0.0
self.ll = self.am_5min.sma(self.am_5min.low_array,3)
if self.ll is not None:
self.write_log(f"LL价:{self.ll}")
#sma(self.am_5min.low_array,3)
if self.bg_5min.close_price -self.hh>6.0 :
self.buy(bar.close_price, 1)
if self.hh - self.bg_5min.close_price >6.0 :
self.short(bar.close_price, 1)
self.put_event()
def on_5min_bar(self, bar: BarData):
"""5 分钟 K 线回调"""
self.write_log(f"5min finish 时间:{self.bg_5min.bar.datetime}")
++++++++++++++++
以上源代码有问题吗?