在backtrader中,notify_timer的调用需要在Strategy类中实现next()方法。具体来说,在next()方法中添加以下代码即可调用notify_timer:
def next(self):
#获取当前时间
cur_datetime = self.datas[0].datetime.datetime(0)
#判断是否为每分钟的第一秒
if cur_datetime.second == 0:
#调用notify_timer方法
self.notify_timer(cur_datetime)
注意:在使用notify_timer前,需要为Strategy类添加以下代码:
def __init__(self):
#添加on_timer变量
self.add_timer = None
def notify_timer(self, timer, *args, **kwargs):
getattr(self, timer)(*args, **kwargs)
#定义on_timer方法
def on_timer(self):
#添加需要在定时器中执行的代码
pass
以上代码中的on_timer方法即为在定时器中需要执行的代码。可以根据实际情况修改该方法。同时,需要在程序的其他地方设置定时器并将on_timer方法绑定到定时器上。