请教您,为什么把您的语句用来出错了?

import talib as ta
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import talib

df=ts.get_k_data('300580',start='2017-01-12',end='2017-05-26')
ma5=talib.SMA(closed,timeperiod=5)
ma10=talib.SMA(closed,timeperiod=10)
ma20=talib.SMA(closed,timeperiod=20)
#通过plog函数可以很方便的绘制出每一条均线
plt.plot(closed)
plt.plot(ma5)
plt.plot(ma10)
plt.plot(ma20)
#添加网格,可有可无,只是让图像好看点
plt.grid()
#记得加这一句,不然不会显示图像
plt.show()


xx.png


不知那里错了,请您指点一下,感谢,
已邀请:

李魔佛 - 公众号:可转债量化分析 【论坛注册:公众号后台留言邮箱】

赞同来自:

df=ts.get_k_data('300580',start='2017-01-12',end='2017-05-26')
ma5=talib.SMA(closed,timeperiod=5)
 
你这里的closed没有定义。
你漏了一句 
closed=df['close'].values

苦竹居士

赞同来自:

谢谢您及时的答复,我已成功从一份EXCEL的XLSX文件里导入数据,画出均线,
但是从需要的一份CSV文件里,却出错了,,哎,,,求教哈
import talib as ta
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import talib


#df=pd.read_csv("d:\RB.CSV")
df=pd.read_excel("d:\demo.xlsx")
df=df[["date", "high", "low", "close","change"]]
closed=df['close'].values
ma5=talib.SMA(closed,timeperiod=5)
ma10=talib.SMA(closed,timeperiod=10)
ma20=talib.SMA(closed,timeperiod=20)

plt.plot(closed)
plt.plot(ma5)
plt.plot(ma10)
plt.plot(ma20)
plt.grid()  
plt.show()

xx.png

 
顺利画出了均线,
 
但是从CSV文件就出错了,





Exception: real is not double
晕,这里还不许传CSV文件,,,,您有木有QQ邮箱啥的?谢谢您,
 

要回复问题请先登录注册