vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 8
声望: 0

description
代码中定义了:
variables = [
"fast_ma0",
"fast_ma1",
"slow_ma0",
"slow_ma1",
]

提示出错是这一段:

判断均线交叉

    cross_over = (self.fast_ma0 >= self.slow_ma0 and
                    self.fast_ma1 < self.slow_ma1)
    cross_below = (self.fast_ma0 <= self.slow_ma0 and
                    self,fast_ma1 > self.slow_ma1)


提示如下:
16:44:11 Traceback (most recent call last):
File "c:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 288, in run_backtesting
self.callback(data)
File "C:\Users\linxizhiri\strategies\demo_strategy.py", line 87, in on_bar
self,fast_ma1 > self.slow_ma1)
NameError: name 'fast_ma1' is not defined
q
16:44:11 开始计算逐日盯市盈亏
16:44:11 成交记录为空,无法计算
16:44:11 开始计算策略统计指标
16:44:11 策略统计指标计算完成
NameError: name 'fast_ma1' is not defined
q
16:44:11 开始计算逐日盯市盈亏
16:44:11 成交记录为空,无法计算
16:44:11 开始计算策略统计指标
16:44:11 策略统计指标计算完成

Member
avatar
加入于:
帖子: 38
声望: 5

cross_below = (self.fast_ma0 <= self.slow_ma0 and self,fast_ma1 > self.slow_ma1)
是self.fast_ma1而你的代码是self,fast_ma1,逗号错了。

Member
avatar
加入于:
帖子: 8
声望: 0

chwei2ch wrote:

cross_below = (self.fast_ma0 <= self.slow_ma0 and self,fast_ma1 > self.slow_ma1)
是self.fast_ma1而你的代码是self,fast_ma1,逗号错了。

谢谢指导!问题已解决。
对于我这种没基础的,这种小错误还是比较多,希望通过积累经验后少放。

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