网友求助:
指标是大智慧自带的,美中不足是没有显示支撑、压力的具体数值,敬请行家里手优化一下,谢谢。
input: N(5,1,100);
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)); 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 barstatus=2 OR barscount(c)=1;
X2:=ref(barslast(L2),1)+1; F2:=backset(L2 AND count(H2,X2)>0,hhvbars
(if(H2,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); {前二低}
短期压力:drawline(S2,h,S1,h,1),Colorred;
短期支撑:drawline(U2,l,U1,l,1),Colorgreen;
解答如下:
input: N(5,1,100);
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)); 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 barstatus=2 OR barscount(c)=1;
X2:=ref(barslast(L2),1)+1; F2:=backset(L2 AND count(H2,X2)>0,hhvbars
(if(H2,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); {前二低}
短期压力:drawline(S2,h,S1,h,1),Colorred;
短期支撑:drawline(U2,l,U1,l,1),Colorgreen;
DRAWTEXT(S2,h*1.01,NUMTOSTRN(h,2)),COLOR00FF00,LINETHICK3;
DRAWTEXT(S1,h*1.01,NUMTOSTRN(h,2)),COLOR00FF00,LINETHICK3;
DRAWTEXT(U1,l,NUMTOSTRN(l,2)),COLORFFAAFF;
DRAWTEXT(U2,l,NUMTOSTRN(l,2)),COLORFFAAFF;