import pandas as pd import matplotlib.pyplot as plt import pymysql import sys from mpl_finance import candlestick2_ochl from matplotlib.ticker import MultipleLocator # 计算ema def calEMA(df,term): for i in range(len(df)): if i==0: #第一天 df.loc[df.iloc[i].name,'EMA'] = df.loc[df.iloc[i].name,'close'] if i>0: df.loc[df.iloc[i].name,'EMA'] = (term-1)/(term+1) * df.loc[df.iloc[i-1].name,'EMA'] + 2/(term+1) * df.loc[df.iloc[i].name,'close'] EMAlist = list(df['EMA']) return EMAlist # 计算macd def calMACD(df,shortTerm=12,longTerm=26,DIFTerm=9): shortEMA = calEMA(df,shortTerm) longEMA = calEMA(df,longTerm) df['DIF'] = pd.Series(shortEMA) - pd.Series(longEMA) for i in range(l