码:
def macd(prices):
print "Running MACD"
prices = np.asarray(prices)
print prices
macd, macdsignal, macdhist = MACD(prices, fastperiod=12, slowperiod=26, signalperiod=9)
print "MACD "+macd
说明:
我正在尝试对包含收盘价的Python列表进行一些分析。
我知道在将列表交给TA-Lib之前,我必须先对其进行转换,因为我已经看到了所有示例在做的事情。
但是,这是由
only length-1 arrays can be converted to Python scalars
满足的 最佳答案
我正在像这样导入talib模块,就像在TA-Libs website中一样:
from talib.abstract import MACD
但是,这在社区中是不满意的,今天我发现了原因。一个模块名称空间破坏了其他模块名称空间,从而导致错误。这很好放置here。
所以我只是干净地导入了talib:
import talib
起作用的最终代码是:
def macd(prices):
print "Running MACD"
prices = np.array(prices, dtype=float)
print prices
macd, macdsignal, macdhist = talib.MACD(prices, fastperiod=12, slowperiod=26, signalperiod=9)
print "MACD "+macd