A10304:=REF(HIGH,3)=HHV(HIGH,2*3+1); B10304:=FILTER(A10304,3); C10304:=BACKSET(B10304,3+1); D10304:=FILTER(C10304,3);{高点}
A20304:=REF(LOW,3)=LLV(LOW,2*3+1); B20304:=FILTER(A20304,3); C20304:=BACKSET(B20304,3+1); D20304:=FILTER(C20304,3);{低点}
E10304:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2; E20304:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍}
H10304:=(D10304 AND NOT(D20304 AND E10304 =E20304)) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
H20304:=D10304 AND NOT(D20304 AND E10304 =E20304);
L10304:=D20304 AND NOT(D10304 AND E10304=E20304);
X10304:=REF(BARSLAST(H10304),1)+1; F10304:=BACKSET(H10304 AND COUNT(L10304,X10304) 0,LLVBARS(IF(L10304,LOW,10000),X10304));
G10304:=F10304 REF(F10304,1); I10304:=BACKSET(G10304,2); LD0304:=I10304 REF(I10304,1);{过滤后低点}
L20304:=LD0304 OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X20304:=REF(BARSLAST(L20304),1)+1; F2:=BACKSET(L20304 AND COUNT(H20304,X20304) 0,HHVBARS(IF(H20304,HIGH,0),X20304));
G20304:=F2 REF(F2,1); I2:=BACKSET(G20304,2); HD0304:=I2 REF(I2,1);{过滤后高点}
DRAWLINE(LD0304,L,HD0304,H,0),COLORWHITE,LINETHICK1,DOTLINE;
DRAWLINE(HD0304,H,LD0304,L,0),COLORWHITE,LINETHICK1,DOTLINE;
J1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HD0304),BARSLAST(LD0304))+1); J2:=J1 REF(J1,1);
DRAWLINE(J2,IF(HD0304,H,L),ISLASTBAR,IF(BARSLAST(HD0304) BARSLAST(LD0304),H,L),0),COLORWHITE,LINETHICK1;
A3:=H; B3:=REF(H,REF(BARSLAST(HD0304),1)+1) REF(H,REF(BARSLAST(HD0304),1)+2+REF(BARSLAST(HD0304),REF(BARSLAST(HD0304),1)+2));
D3:=A3 AND B3 AND HD0304; E3:=BACKSET(D3,REF(BARSLAST(HD0304),1)+2); HH:=E3 REF(E3,1);{找出全部长期高点}
A4:=L REF(L,REF(BARSLAST(LD0304),1)+1);
B4:=REF(L,REF(BARSLAST(LD0304),1)+1); D4:=A4 AND B4 AND LD0304; E4:=BACKSET(D4,REF(BARSLAST(LD0304),1)+2); LL:=E4 REF(E4,1);{找出全部长期低点}
DRAWICON(HH,H,2); DRAWICON(LL,L,1);
H3:=HH OR ISLASTBAR OR BARSCOUNT(C)=1; {后面进行过滤,方法同前。只是不用考虑高低点出现在同一K线}
X3:=REF(BARSLAST(H3),1)+1; F3:=BACKSET(H3 AND COUNT(LL,X3) 0,LLVBARS(IF(LL,L,POW(10,20)),X3));
G3:=F3 REF(F3,1); I3:=BACKSET(G3,2); LZ:=I3 REF(I3,1); {长期低点,也可供引用}
L4:=LZ OR ISLASTBAR OR BARSCOUNT(C)=1;
X4:=REF(BARSLAST(L4),1)+1; F4:=BACKSET(L4 AND COUNT(HH,X4) 0,HHVBARS(IF(HH,H,-POW(10,20)),X4));
G4:=F4 REF(F4,1); I4:=BACKSET(G4,2); HZ:=I4 REF(I4,1);{长期高点,也可供引用}
DRAWLINE(HZ,H,LZ,L,0),COLORGREEN,LINETHICK1;
DRAWLINE(LZ,L,HZ,H,0),COLORGREEN,LINETHICK1;{长期连线}
K1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); K2:=K1 REF(K1,1);
DRAWLINE(K2,IF(HZ,H,L),ISLASTBAR,C,0),COLORGREEN,LINETHICK1; {最后的长期连线,连在收盘价上}
UU:=BACKSET(ISLASTBAR,BARSLAST(LD0304)+1);VV:=UU REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD0304),1)+2);
XX:=WW REF(WW,1);
DRAWLINE(XX,L,VV,L,1),COLORMAGENTA,LINETHICK1;
UU2:=BACKSET(ISLASTBAR,BARSLAST(HD0304)+1);VV2:=UU2 REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD0304),1)+2);
XX20304:=WW2 REF(WW2,1);
DRAWLINE(XX20304,H,VV2,H,1),COLORMAGENTA,LINETHICK2;
前一低:REF(L,BARSLAST(VV)),COLOR99FF66,LINETHICK2;
前二低:REF(L,BARSLAST(XX)),COLORFF66FF,LINETHICK2;
前一高:REF(H,BARSLAST(VV2)),COLOR99FF66,LINETHICK2;
前二高:REF(H,BARSLAST(XX20304)),COLORFF66FF,LINETHICK2;
短高:=REF(H,BARSLAST(VV2));短低:=REF(L,BARSLAST(VV));
短比: (C-短低)/(短高-短低),NODRAW;{以下语句为三角形部分}
底:REF(L,BARSLAST(VV)),COLORRED,LINETHICK2;
頂:REF(H,BARSLAST(VV2)),COLORGREEN,LINETHICK2;
{下迭三角形:藍色三角形畫完介入}
STICKLINE(VV,頂,底,0,0),COLORFF6633,LINETHICK3;{}
DRAWLINE(VV2,H,VV,L,0),COLORFF6633,LINETHICK3;{斜}
DRAWLINE(VV2,H,VV,頂,0),COLORFF6633,LINETHICK3;{?}
{DRAWLINE(C 0,H,VV,L,0),COLORCYAN,LINETHICK2;}{斜}
{DRAWLINE(C 1,H,VV,頂,0),COLORCYAN,LINETHICK2;}{?}
{上涨三角形:糡色三角形畫完出局}
STICKLINE(VV2 ,頂,底,0,0),COLORRED,LINETHICK3;{}
DRAWLINE(VV,L,VV2,H,0),COLORRED,LINETHICK3;{斜}
DRAWLINE(VV,L,VV2,底,0),COLORRED,LINETHICK3;
{箱体}
TY309:=C;
HD309:=FILTER(BACKSET(FILTER(REF(TY309,10)=HHV(TY309,2*10+1),10),10+1),10);
LD309:=FILTER(BACKSET(FILTER(REF(TY309,10)=LLV(TY309,2*10+1),10),10+1),10);
A309:=REF(C,BARSLAST(HD309));
B309:=REF(C,BARSLAST(LD309));
T1309:=BARSLAST(HD309) BARSLAST(LD309) AND NOT(HD309) ;
T2309:=BARSLAST(HD309) BARSLAST(LD309) AND NOT(LD309);
波浪顶:IF(T1309,A309,A309),COLORCYAN,POINTDOT,LINETHICK2;
波浪底:IF(T2309,B309,B309),COLORMAGENTA,POINTDOT,LINETHICK2;
A:=HHV(MA((L+H+C)/3,3),3);
B:=LLV(MA((L+H+C)/3,3),10);
STICKLINE(ISLASTBAR,A,A,20,0),COLORYELLOW,LINETHICK1;{小箱体--上沿}
DRAWTEXT(ISLASTBAR ,A,VAR2STR(A,2)),COLORYELLOW;
STICKLINE(ISLASTBAR,B,B,20,0),COLORWHITE,LINETHICK1;{小箱体--下沿}
DRAWTEXT(ISLASTBAR,B,VAR2STR(B,2)),COLORWHITE;
N:=5;
A1:=REF(H,N)=HHV(H,2*N+1);
B1:=FILTER(A1,N);
C1:=BACKSET(B1,N+1);
D1:=FILTER(C1,N);{高点}
A2:=REF(L,N)=LLV(L,2*N+1);
B2:=FILTER(A2,N);
C2:=BACKSET(B2,N+1);
D2:=FILTER(C2,N);{低点}
E1:=(REF(LLV(L,2*N),1)+REF(HHV(H,2*N),1))/2; E2:=(H+L)/2;{高低点出现在同一K线上时可作取舍}
H1:=(D1 AND NOT(D2 AND E1 =E2)) OR ISLASTBAR OR BARSCOUNT(C)=1;
L1:=(D2 AND NOT(D1 AND E1 E2)); H2:=D1 AND NOT(D2 AND E1 =E2);
X1:=REF(BARSLAST(H1),1)+1; F1:=BACKSET(H1 AND COUNT(L1,X1) 0,LLVBARS
(IF(L1,L,10000),X1));
G1:=F1 REF(F1,1); I1:=BACKSET(G1,2); LD:=I1 REF(I1,1);{过滤后低点}
L2:=LD OR ISLASTBAR OR BARSCOUNT(C)=1;
X2:=REF(BARSLAST(L2),1)+1; F25:=BACKSET(L2 AND COUNT(H2,X2) 0,HHVBARS
(IF(H2,H,0),X2));
G25:=F25 REF(F25,1); I25:=BACKSET(G25,2); HD:=I25 REF(I25,1);{过滤后高点}
R15:=BACKSET(ISLASTBAR,BARSLAST(HD)+1); S15:=R15 REF(R15,1); {前一高}
T15:=BACKSET(ISLASTBAR,BARSLAST(LD)+1); U15:=T15 REF(T15,1); {前一低}
R25:=BACKSET(S15,REF(BARSLAST(HD),1)+2); S25:=R25 REF(R25,1); {前二高}
T25:=BACKSET(U15,REF(BARSLAST(LD),1)+2); U25:=T25 REF(T25,1); {前二低}
T32:=BACKSET(U25,REF(BARSLAST(LD),1)+2); U32:=T32 REF(T32,1); {前三低}
T42:=BACKSET(U32,REF(BARSLAST(LD),1)+2); U42:=T42 REF(T42,1); {前四低}
R32:=BACKSET(S25,REF(BARSLAST(HD),1)+2); S32:=R32 REF(R32,1); {前三高}
R42:=BACKSET(S32,REF(BARSLAST(HD),1)+2); S42:=R42 REF(R42,1); {前四高}
短期压力:DRAWLINE(S25,H,S15,H,1),COLORRED;
短期支撑:DRAWLINE(U25,L,U15,L,1),COLORGREEN;
中期压力:DRAWLINE(S32,H,S25,H,1),COLORYELLOW;
中期支撑:DRAWLINE(U32,L,U25,L,0),COLORGREEN;
长期压力:DRAWLINE(S42,H,S32,H,1),COLORFF00FF;
长期支撑:DRAWLINE(U42,L,U32,L,0),COLORGREEN;