input:n(13,1,99),m(1,0,60),p(3,1,300),p2(5,1,300),p3(36,1,300),p4(13,1,300),p5(65,1,300);
MA4: MA(CLOSE,20),POINTDOT,COLOR99FF66;
MA5: MA(CLOSE,60),CROSSDOT,COLORMAGENTA,LINETHICK1;
MA6: MA(CLOSE,120),CIRCLEDOT,COLORYELLOW;
MA7: MA(CLOSE,250),CIRCLEDOT,COLORRED;
A1:=REF(HIGH,3)=HHV(HIGH,2*3+1); B1:=FILTER(A1,3); C1:=BACKSET(B1,3+1); D1:=FILTER(C1,3);{高点}
A2:=REF(LOW,3)=LLV(LOW,2*3+1); B2:=FILTER(A2,3); C2:=BACKSET(B2,3+1); D2:=FILTER(C2,3);{低点}
E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2; E2:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍}
H1:=(D1 AND NOT(D2 AND E1>=E2)) OR barstatus=2 OR BARSCOUNT(CLOSE)=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,LOW,10000),X1));
G1:=F1>REF(F1,1); I1:=BACKSET(G1,2); LD:=I1>REF(I1,1);{过滤后低点}
L2:=LD OR barstatus=2 OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1; F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2));
G2:=F2>REF(F2,1); I2:=BACKSET(G2,2); HD:=I2>REF(I2,1);{过滤后高点}
DRAWLINE(LD,L,HD,H,0),COLORWHITE,LINETHICK3,POINTDOT;
DRAWLINE(HD,H,LD,L,0),COLORWHITE,LINETHICK3,POINTDOT;
J1:=BACKSET(barstatus=2 ,MIN(BARSLAST(HD),BARSLAST(LD))+1); J2:=J1>REF(J1,1);
DRAWLINE(J2,IF(HD,H,L),barstatus=2 ,IF(BARSLAST(HD)>BARSLAST(LD),H,L),0),COLORWHITE,LINETHICK1,POINTDOT;
{以下是两条趋势线原码}
UU:=BACKSET(barstatus=2 ,BARSLAST(LD)+1);
VV:=UU>REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
XX:=WW>REF(WW,1);
DRAWLINE(XX,L,VV,L,1),COLORMAGENTA,LINETHICK2;
UU2:=BACKSET(barstatus=2 ,BARSLAST(HD)+1);
VV2:=UU2>REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
XX2:=WW2>REF(WW2,1);
DRAWLINE(XX2,H,VV2,H,1),COLORMAGENTA,LINETHICK2;
前一低:REF(L,BARSLAST(VV)),COLOR99FF66,POINTDOT,LINETHICK1;
前二低:REF(L,BARSLAST(XX)),COLORFF66FF,POINTDOT,LINETHICK1;
前一高:REF(H,BARSLAST(VV2)),COLOR99FF66,POINTDOT,LINETHICK1;
前二高:REF(H,BARSLAST(XX2)),COLORFF66FF,POINTDOT,LINETHICK1;
DRAWTEXTREL(5,30,' 上升五浪,下跌三浪,趋势自画:'),linethick3,COLORMAGENTA;
DRAWTEXTREL(5,110,' 长短均线,阻力支撑,高低自明:'),linethick3,COLORMAGENTA;