VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 27
声望: 0

此问题之前有人发过,但没有人给出解答。。

===================================================================
报错如下:

D:\quantOS\vnpy\vnpy-2.0.6\examples\vn_trader>python run.py
Exception in thread Thread-6:
Traceback (most recent call last):
File "D:\it_skills\vnstudio\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "D:\it_skills\vnstudio\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "d:\quantOS\vnpy\vnpy-2.0.6\vnpy\app\cta_backtester\engine.py", line 158,
in run_backtesting
engine.run_backtesting()
File "d:\quantOS\vnpy\vnpy-2.0.6\vnpy\app\cta_strategy\backtesting.py", line 2
82, in run_backtesting
self.callback(data)
TypeError: 'NoneType' object is not callable

=====================================================================
ui中输出日志如下:

11:31:12 初始化CTA回测引擎
11:31:12 策略文件加载完成
11:31:12 RQData数据接口初始化成功
11:31:29 ----------------------------------------
11:31:29 开始加载历史数据
11:31:29 加载进度:######### [97%]
11:31:29 加载进度:########## [100%]
11:31:29 历史数据加载完成,数据量:5040
11:32:09 已有任务在运行中,请等待完成

==========================================================================
查了下backtesting.py中是这样定义callback的: self.callback = None
但run_backtesting()函数为何要要按函数来调用callback呢?self.callback(data)

而且奇怪的是,这个错误时而复现、时而不出现(即回测正常完成,打印右边4个图标)。
求高手相助。。

Administrator
avatar
加入于:
帖子: 4502
声望: 321

在策略的on_init函数中,必须先调用load_bar或者load_tick函数加载历史数据,同时引擎会自动绑定对应的callback

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】