环境:vnpy-2.1.9/pyhton=3.7.9/rq数据
从报错中看应该是bar没有数据,导致获取不到bar的相关属性。
不知道这应该如何处理?
环境:vnpy-2.1.9/pyhton=3.7.9/rq数据
从报错中看应该是bar没有数据,导致获取不到bar的相关属性。
不知道这应该如何处理?
对比一下你的策略和示例策略吧,重点比较一下on_bar函数
Chiang wrote:
环境:vnpy-2.1.9/pyhton=3.7.9/rq数据
从报错中看应该是bar没有数据,导致获取不到bar的相关属性。
不知道这应该如何处理?
请在调用bg.update_bar之前,判断下bar对象是否为None,不是再推送给bg
用Python的交易员 wrote:
Chiang wrote:
环境:vnpy-2.1.9/pyhton=3.7.9/rq数据
从报错中看应该是bar没有数据,导致获取不到bar的相关属性。
不知道这应该如何处理?请在调用bg.update_bar之前,判断下bar对象是否为None,不是再推送给bg
我是用官方的demo 也出现这样的问题
: 触发异常已停止
Traceback (most recent call last):
File "C:\vnpy\vnpy\app\portfolio_strategy\engine.py", line 325, in call_strategy_func
func(params)
File "C:\vnpy\vnpy\app\portfolio_strategy\strategies\demo_strategy.py", line 211, in on_tick
self.on_bars(bars)
File "C:\vnpy\vnpy\app\portfolio_strategy\strategies\demo_strategy.py", line 222, in on_bars
bg.update_bar(bar)
File "C:\vnpy\vnpy\trader\utility.py", line 264, in update_bar
self.update_bar_minute_window(bar)
File "C:\vnpy\vnpy\trader\utility.py", line 272, in update_bar_minute_window
dt = bar.datetime.replace(second=0, microsecond=0)
AttributeError: 'NoneType' object has no attribute 'datetime'
用Python的交易员 wrote:
Chiang wrote:
环境:vnpy-2.1.9/pyhton=3.7.9/rq数据
从报错中看应该是bar没有数据,导致获取不到bar的相关属性。
不知道这应该如何处理?请在调用bg.update_bar之前,判断下bar对象是否为None,不是再推送给bg
请确认一下你的on_bar函数有没有多传入self参数,如果有的话把self参数去掉即可
我用的就是官方的示例模板,你看下是不是不小心修改了这里
Chiang wrote:
用Python的交易员 wrote:
Chiang wrote:
环境:vnpy-2.1.9/pyhton=3.7.9/rq数据
从报错中看应该是bar没有数据,导致获取不到bar的相关属性。
不知道这应该如何处理?请在调用bg.update_bar之前,判断下bar对象是否为None,不是再推送给bg
我是用官方的demo 也出现这样的问题
: 触发异常已停止
Traceback (most recent call last):
File "C:\vnpy\vnpy\app\portfolio_strategy\engine.py", line 325, in call_strategy_func
func(params)
File "C:\vnpy\vnpy\app\portfolio_strategy\strategies\demo_strategy.py", line 211, in on_tick
self.on_bars(bars)
File "C:\vnpy\vnpy\app\portfolio_strategy\strategies\demo_strategy.py", line 222, in on_bars
bg.update_bar(bar)
File "C:\vnpy\vnpy\trader\utility.py", line 264, in update_bar
self.update_bar_minute_window(bar)
File "C:\vnpy\vnpy\trader\utility.py", line 272, in update_bar_minute_window
dt = bar.datetime.replace(second=0, microsecond=0)
AttributeError: 'NoneType' object has no attribute 'datetime'
官方DEMO中的逻辑需要你有完整无缺失的数据才行,上述情况出现大概率是你加载历史数据的不连续有缺失,所以需要通过判断bar是否为None进行筛选