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

老师,好
我看了源代码,am.sma()函数是:

description

其中的self.close是:

description

这其中的self.close_array在:

description

这是不是意味着,am.sma()函数返回的是一个数组包含数组的数据格式,由100个数字组成的单个数组,这样单个数组有n个(n用户自定义),形成的大数组。
如果理解对的话,我在写策略的时候,比较收盘价bar.close_price和am.sma()单个数组的时候(array=False取大数组的最后一列数组),为什么会出现以下报错

any(bar.close_price < am.sma(self.N_window, array=False))

File "/Users/gupei/anaconda3/lib/python3.6/site-packages/vnpy/app/cta_strategy/backtesting.py", line 286, in run_backtesting
self.callback(data)
File "/Users/gupei/anaconda3/lib/python3.6/site-packages/vnpy/app/cta_strategy/strategies/selected_trading_signals_for_SMA.py", line 93, in on_bar
elif self.sig < 0 and any(bar.close_price < am.sma(self.Nwindow, array=False)):
TypeError: 'numpy.bool
' object is not iterable

Member
avatar
加入于:
帖子: 207
声望: 13

应该是any的问题吧,你可以把any去掉试试看

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

报错的地方加个[]试试

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