高点:=10;
低点:=10;
高点选择:=1;
低点选择:=1;
波浪尺1:=0;
波浪尺2:=1;
PURC:=CONST(FINDHIGH(H,0,高点*10,高点选择));
PLZ:=CONST(BARSLAST(PURC=H))+1;
顶X:=CONST(IF(PLZ=1,H,REF(H,PLZ-1)));
QQT:=CONST(FINDLOW(L,0,低点*10,低点选择));
PLL:=CONST(BARSLAST(QQT=L))+1;
低X:=CONST(IF(PLL=1,L,REF(L,PLL-1)));
DRAWKLINE(H,O,L,C);
顶点:顶X,COLORRED;
底点:低X,COLORRED;
波动速率:=100*((顶X-低X)/(IF(PLL>PLZ,低X,顶X)))/(PLL-PLZ),NODRAW,COLORMAGENTA;
波动幅度:=((顶X-低X)/(IF(PLL>PLZ,低X,顶X)))*100;
波动价位:=(顶X-低X)*(IF(PLL>PLZ,1,-1));
BPURC:=CONST(FINDHIGH(H,0,(IF(波浪尺1>0,波浪尺1,IF(PLZ<PLL,高点,低点)))*5,波浪尺2));
BPLZ:=CONST(BARSLAST(BPURC=H))+1;
BQQT:=CONST(FINDLOW(L,0,(IF(波浪尺1>0,波浪尺1,IF(PLZ<PLL,高点,低点)))*5,波浪尺2));
BPLL:=CONST(BARSLAST(BQQT=L))+1;
BLC1:=CONST(FINDHIGH(H,0,(IF(波浪尺1>0,波浪尺1,IF(PLZ<PLL,高点,低点)))*5,波浪尺2));
BLC2:=CONST(BARSLAST(BPURC=H))+1;
BLC顶X:=CONST(IF(BPLZ=1,H,REF(H,BPLZ-1)));
BLC3:=CONST(FINDLOW(L,0,(IF(波浪尺1>0,波浪尺1,IF(PLZ<PLL,高点,低点)))*5,波浪尺2));
B6C4:=CONST(BARSLAST(BQQT=L))+1;
BLC低X:=CONST(IF(BPLL=1,L,REF(L,BPLL-1)));
BASE:=IF(波动速率<0,BLC顶X,BLC低X)COLORRED;
BLCX:=IF(波动速率<0,-1,1);
BLCZ:=(顶点-底点)*(IF(PLL>PLZ,1,-1));
B618:=BASE+(BLCZ*0.618)COLORRED,DOTLINE;
B382:=BASE+(BLCZ*0.382)COLORRED,DOTLINE;
B05:=BASE+(BLCZ*0.5)COLORRED,DOTLINE;
B809:=BASE+(BLCZ*0.809)COLORRED,DOTLINE;
B191:=BASE+(BLCZ*0.191)COLORRED,DOTLINE;
B100:=BASE+(BLCZ*1)COLORRED;
B200:=BASE+(BLCZ*2)COLORRED;
B11:=BASE+(BLCZ*1.191)COLORRED;
B12:=BASE+(BLCZ*1.382)COLORRED;
B13:=BASE+(BLCZ*1.5)COLORRED;
B14:=BASE+(BLCZ*1.618)COLORRED;
B15:=BASE+(BLCZ*1.809)COLORRED;
BZ1:=BASE+(BLCZ*0.236)COLORRED;
BZ2:=BASE+(BLCZ*1.236)COLORRED;
BZ3:=BASE+(BLCZ*2.236)COLORRED;
B11B:=BASE+(BLCZ*2.191)COLORRED;
B12B:=BASE+(BLCZ*2.382)COLORRED;
B13B:=BASE+(BLCZ*2.5)COLORRED;
B14B:=BASE+(BLCZ*2.618)COLORRED;
B15B:=BASE+(BLCZ*2.809)COLORRED;
B300:=BASE+(BLCZ*3)COLORRED;
XZDD:=IF(PLL>PLZ,BPLL,BPLZ);
STICKLINE(CURRBARSCOUNT=XZDD ,BASE,B300,0,0),COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B05,'---------0.500')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,BASE,'---------BASE')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B618,'---------0.618')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B809,'---------0.809')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B382,'---------0.382')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B191,'---------0.191')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B100,'---------1.000')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B11,'---------1.191')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B12,'---------1.382')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B13,'---------1.500')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B14,'---------1.618')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B15,'---------1.809')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B200,'---------2.000')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B11B,'---------2.191')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B12B,'---------2.382')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B13B,'---------2.500')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B14B,'---------2.618')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B15B,'---------2.809')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,B300,'---------3.000')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,BZ1,'---------0.236')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,BZ2,'---------1.236')COLORRED;
DRAWTEXT(CURRBARSCOUNT=XZDD,BZ3,'---------2.236')COLORRED;
QADQ:=IF(PLL>PLZ,PLL,PLZ);
QADH:=IF(PLL>PLZ,PLZ,PLL);
QHL1:=IF(PLL>PLZ,L,H);
QHL2:=IF(PLL>PLZ,H,L);
DRAWLINE(CURRBARSCOUNT=QADQ,QHL1,CURRBARSCOUNT=QADH,QHL2,0)COLORRED;
DRAWLINE(CURRBARSCOUNT=QADH,QHL2,CURRBARSCOUNT=XZDD,QHL1,0)COLORRED;