#-*- utf-8 -*-
__author__='chen shaowu'
importmatplotlib as mplimportmatplotlib.pyplot as pltimportnumpy as npimportos#全局变量:常量
X=14Y=20Z1=6Z2=3
#常量修改函数
def set_value(x=14,y=20,z1=6,z2=3):globalX,Y,Z1,Z2
X,Y,Z1,Z2=x,y,z1,z2#计算本数据段sigma
defcount_sigma(data1,index):globalX
allf=0#所有F之和
i=0#包含当天
while i<=X:
maxp=data1[index-i][3]
minp=data1[index-i][4]
cp=data1[index-i-1][1]#前一天的收盘价
f=max(abs(maxp-minp),abs(maxp-cp),abs(cp-minp))/cp
f=min(f,0.191)#if f>0.191:f=0.191
allf+=f
i+=1sigma=allf/Xreturnsigma#判断是不是大涨、跌
defjudge1(data1,index,greaterate,lendata1):globalY
i=1
while i<=Y:#涨幅=今日收盘相对当前图最后一日收盘的涨幅
if(index+i)==lendata1:return -3#当图后面的数据不足20个,不画这个图,直接over
yc=data1[index][1]#close price of the last day in the plot
tc=data1[index+i][1]#today close price
growrate=(tc-yc)/ycif growrate>0:if growrate>=greaterate:return 2
elif growrate<0:if abs(growrate)>=greaterate:return -2i+=1
return0#无大涨、跌时判断有无小涨、跌
defjudge2(data1,index,smallrate,lendata1):globalY
i=1
while i<=Y:if(index+i)==lendata1:return -3#当图后面的数据不足20个,不画这个图,直接over
yc=data1[index][1]#close price of the last day of the plot
tc=data1[index+i][1]#today close price
growrate=(tc-yc)/ycif growrate>0:if growrate&