自动画线集锦
1,画到最后一根K线
源码 A1:=REF(HIGH,3)=HHV(HIGH,2*3+1); B1:=FILTER(A1,N); C1:=BACKSET(B1,N+1); D1:=FILTER(C1,N);{高点} A2:=REF(LOW,3)=LLV(LOW,2*3+1); B2:=FILTER(A2,N); C2:=BACKSET(B2,N+1); D2:=FILTER(C2,N);{低点} 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,POINTDOT,LINETHICK3; {以下是两条趋势线原码} 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); 前一低:=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}; 求四看空:h*前一低/if(前一高=h,前二高,前一高); 求四看多:l*前一高/if(前一低=l,前二低,前一低),COLOR99FF66; 2,自动画通道线 源码
A1:=REF(HIGH,N)=HHV(HIGH,2*N+1); B1:=FILTER(A1,N); C1:=BACKSET(B1,N+1); D1:=FILTER(C1,N);{高点} A2:=REF(LOW,N)=LLV(LOW,2*N+1); B2:=FILTER(A2,N); C2:=BACKSET(B2,N+1); D2:=FILTER(C2,N);{低点} E1:=(REF(LLV(LOW,2*N),1)+REF(HHV(HIGH,2*N),1))/2; E2:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍} H1:=(D1 AND NOT(D2 AND E1>=E2)) OR BARSTATUS=2 OR BARSCOUNT(CLOSE)=1; H2:=D1 AND NOT(D2 AND E1>=E2); L1:=D2 AND NOT(D1 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(HD,H,HD,H,0),Color00ff00,LINETHICK1,POINTDOT; DRAWLINE(REF( HD,1 ),REF(H ,1 ),HD,H,0),Color00ff00,LINETHICK1,POINTDOT; DRAWLINE(LD,L,LD,L,0),Color000fff,LINETHICK1,POINTDOT; DRAWLINE(REF(LD ,1 ),REF(L ,1 ),LD,L,0.1),Color000fff,LINETHICK1,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; A3:=H; B3:=REF(H,REF(BARSLAST(HD),1)+1)>REF(H,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2)); D3:=A3 AND B3 AND HD; E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2); HH:=E3>REF(E3,1);{找出全部长期高点} A4:=L>REF(L,REF(BARSLAST(LD),1)+1); B4:=REF(L,REF(BARSLAST(LD),1)+1); D4:=A4 AND B4 AND LD; E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2); LL:=E4>REF(E4,1);{找出全部长期低点} DRAWICON(HH,H,5),ALIGN1; DRAWICON(LL,L,4),ALIGN1; H3:=HH OR BARSTATUS=2 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 BARSTATUS=2 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(BARSTATUS=2,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); K2:=K1>REF(K1,1); DRAWLINE(K2,IF(HZ,H,L),BARSTATUS=2,C,0),COLORGREEN,LINETHICK1; {最后的长期连线,连在收盘价上} 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,LINETHICK1; 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,LINETHICK1; 前一低:REF(L,BARSLAST(VV)),COLOR99FF66,POINTDOT,LINETHICK3; 前二低:REF(L,BARSLAST(XX)),COLORFF66FF,POINTDOT,LINETHICK3; 前一高:REF(H,BARSLAST(VV2)),COLOR99FF66,POINTDOT,LINETHICK3; 前二高:REF(H,BARSLAST(XX2)),COLORFF66FF,POINTDOT,LINETHICK3; 短高:=REF(H,BARSLAST(VV2)); 短低:=REF(L,BARSLAST(VV)); 短比: (C-短低)/(短高-短低),LINETHICK0; {以下语句为三角形部分} 底: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};{?}; 3.双趋势线
源码
DRAWGBKLAST(C>0,STRIP(RGB(90,90,90),RGB(0,0,0),0)); 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; H2:=D1 AND NOT(D2 AND E1>=E2); L1:=D2 AND NOT(D1 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,LINETHICK1,POINTDOT; DRAWLINE(HD,H,LD,L,0),COLORWHITE,LINETHICK1,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; A3:=H; B3:=REF(H,REF(BARSLAST(HD),1)+1)>REF(H,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2)); D3:=A3 AND B3 AND HD; E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2); HH:=E3>REF(E3,1);{找出全部长期高点} A4:=L>REF(L,REF(BARSLAST(LD),1)+1); B4:=REF(L,REF(BARSLAST(LD),1)+1); D4:=A4 AND B4 AND LD; E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2); LL:=E4>REF(E4,1);{找出全部长期低点} DRAWICON(HH,H,5),ALIGN1; DRAWICON(LL,L,4),ALIGN1; H3:=HH OR BARSTATUS=2 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 BARSTATUS=2 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(BARSTATUS=2,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); K2:=K1>REF(K1,1); DRAWLINE(K2,IF(HZ,H,L),BARSTATUS=2,C,0),COLORGREEN,LINETHICK1; {最后的长期连线,连在收盘价上} 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,LINETHICK1; 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,LINETHICK1; 前一低:REF(L,BARSLAST(VV)),COLOR99FF66,POINTDOT,LINETHICK3; 前二低:REF(L,BARSLAST(XX)),COLORFF66FF,POINTDOT,LINETHICK3; 前一高:REF(H,BARSLAST(VV2)),COLOR99FF66,POINTDOT,LINETHICK3; 前二高:REF(H,BARSLAST(XX2)),COLORFF66FF,POINTDOT,LINETHICK3; 短高:=REF(H,BARSLAST(VV2)); 短低:=REF(L,BARSLAST(VV)); 短比: (C-短低)/(短高-短低),LINETHICK0; {以下语句为三角形部分} 底: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};{?}; 4,画高点线
源码
DRAWGBKLAST(C>0,STRIP(RGB(90,90,90),RGB(0,0,0),0)); STICKLINE(C<=O,C,O,8,0),COLORCYAN; STICKLINE(C<=O,H,L,0.1,0),COLORCYAN; STICKLINE(C>=O,C,O,8,1),COLORRED; STICKLINE(C>=O,C,H,0.1,0),COLORRED; STICKLINE(C>=O,L,O,0.1,0),COLORRED; MA5:MA(C,5),COLORWHITE; MA10:MA(C,10),COLORGREEN; MA30:MA(C,30),COLORCYAN; MA60:MA(C,60),COLORYELLOW; MA90:MA(C,90),COLORRED; A1:=REF(C,10)=HHV(C,2*10+1); B1:=FILTER(A1,10); C1:=BACKSET(B1,10+1); HD:=FILTER(C1,10); A2:=REF(C,10)=LLV(C,2*10+1); B2:=FILTER(A2,10); C2:=BACKSET(B2,10+1); LD:=FILTER(C2,10); A:=REF(C,BARSLAST(HD)); T1:=BARSLAST(HD)<BARSLAST(LD) AND NOT(HD) ; 波峰:IF(T1,A,A),COLORFF00FF,CIRCLEDOT, LINETHICK2; STICKLINE(T1,A,A,9,0),COLORFF00FF;; 6,江恩角度自动画线 源码
DRAWGBKLAST(C>0,STRIP(RGB(90,90,90),RGB(0,0,0),0)); {主图:江恩角度自动画线 参数: 下降角度=xj:17 1 200 1 上升角度=ss:17 1 200 1 振幅=zf: 17 1 200 1 n 30 3 500 1} s:=llv(c,500); p1:=(c-ref(c,1))/ref(c,1)*1000; p2:=sum(abs(p1),0); p3:=count(c>0,0); k1:=p2/p3; a1:=ZIG(3 , zf); aa1:=a1>ref(a1,1); a2:=ZIG(2,zf); aa2:=a2<ref(a2,1); K2:=K1*0.8; b1:=HHVBARS(a1,n); b2:=LLVBARS(a2,n); DRAWLINE(c=A1 and aa1>0,c,B1=10 ,REF(c,B1)-s*K1/(100*xj),1),COLOR33FFCC; DRAWLINE(c=A1 and aa1>0,c,B1=10 ,REF(c,B1)-s*2*K1/(100*xj),1),COLOR6666FF,LINETHICK2; DRAWLINE(c=A1 and aa1>0,c,B1=10 ,REF(c,B1)-s*4*K1/(100*xj),1),COLORFFFFCC; DRAWLINE(c=A1 and aa1>0,c,B1=10 ,REF(c,B1)-s*8*K1/(100*xj),1),COLOR00CCFF; DRAWLINE(c=A1 and aa1>0,c,B1=10 ,REF(c,B1)-s*0.4*K1/(100*xj),1),COLOR00FF00; DRAWLINE(l=A2 and aa2>0,L,B2=10 ,REF(l,B2)+s*8*K1/(100*ss)*2,1),COLOR33FFCC; DRAWLINE(l=A2 and aa2>0,L,B2=10 ,REF(l,B2)+s*K1/(100*ss)*2,1),COLOR00CCFF; DRAWLINE(l=A2 and aa2>0,L,B2=10 ,REF(l,B2)+s*2*K1/(100*ss)*2,1),COLOR6666FF,LINETHICK2; DRAWLINE(l=A2 and aa2>0,l,B2=10 ,REF(l,b2)+s*4*K1/(100*ss)*2,1),COLORFFFFCC; DRAWLINE(l=A2 and aa2>0,l,B2=10 ,REF(l,b2)+s*0.5*K1/(100*ss)*2,1),COLORFF00FF; 7,近期画线 源码 input: N(15,1,500); DRAWGBKLAST(CLOSE>0,STRIP(RGB(95,95,95),RGB(0,0,0),0)); 主筹估算:=EMA(WINNER(c)*70,3); 散筹估算:=EMA((WINNER((c)*1.1)-WINNER((c)*0.9))*70,3); 筹码锁定:=散筹估算-主筹估算 ; 动态底部:=EMA(IF(L<= LLV(l,60),SMA(ABS(L-REF(L,1)),60,1)/SMA(MAX(L-REF(l,1),0),99,1),0)*5,3); 涨:=CROSS(主筹估算,筹码锁定); 强:=CROSS(主筹估算,散筹估算); STICKLINE(涨,O,C,8,0),COLORYELLOW; STICKLINE(涨,O,H,0,0),COLORYELLOW; STICKLINE(涨,L,C,0,0),COLORYELLOW; STICKLINE(强, O,C,8,0),colormagenta; STICKLINE(强,O,H,0,0),colormagenta; STICKLINE(强,L,C,0,0),colormagenta; STICKLINE(筹码锁定<-50,O,C,8,0),COLORred; STICKLINE(筹码锁定<-50,O,H,0,0),COLORred; STICKLINE(筹码锁定<-50,L,C,0,0),COLORred; 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 barstatus=2 OR barscount(c)=1; L1:=D2 AND not(D1 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 barstatus=2 OR barscount(c)=1; X2:=ref(barslast(L2),1)+1; F2:=backset(L2 AND count(H1,X2)>0,hhvbars(if(H1,h,0),X2)); G2:=F2>ref(F2,1); I2:=backset(G2,2); HD:=I2>ref(I2,1);{过滤后高点} R1:=backset(barstatus=2,barslast(HD)+1); S1:=R1>ref(R1,1); {前一高} T1:=backset(barstatus=2,barslast(LD)+1); U1:=T1>ref(T1,1); {前一低} R2:=backset(S1,ref(barslast(HD),1)+2); S2:=R2>ref(R2,1); {前二高} T2:=backset(U1,ref(barslast(LD),1)+2); U2:=T2>ref(T2,1); {前二低} T3:=backset(U2,ref(barslast(LD),1)+2); U3:=T3>ref(T3,1); {前三低} T4:=backset(U3,ref(barslast(LD),1)+2); U4:=T4>ref(T4,1); {前四低} R3:=backset(S2,ref(barslast(HD),1)+2); S3:=R3>ref(R3,1); {前三高} R4:=backset(S3,ref(barslast(HD),1)+2); S4:=R4>ref(R4,1); {前四高} 短期压力:drawline(S2,h,S1,h,1),Colorred,linethick2; 短期支撑:drawline(U2,l,U1,l,1),Colorgreen,linethick2; 中期压力:drawline(S3,h,S2,h,1),Coloryellow,linethick2; 中期支撑:drawline(U3,l,U2,l,0),Colorgreen,linethick2; 长期压力:drawline(S4,h,S3,h,1),COLORwhite,linethick2; 长期支撑:drawline(U4,l,U3,l,0),Colorgreen,linethick2; 用未来函数画线,清晰准确,但是,不能用于选股.测试.预警...... 将均线上下位移,组成趋势通通,更加实用 8,均线通道 源码
input: N(50,3,300),N1(50,20,250; r:=MA(l , 2); j:=MA(h , 2); a:=MA(c ,n ); a1:a*(1+n1/1000),Color000fff,linethick2;{红} b1:a*(1-n1/1000),Color00ff00,linethick2;{绿} |
|