此问题之前有人发过,但没有人给出解答。。
===================================================================
报错如下:
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个图标)。
求高手相助。。