|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;! \# W; H h' Y% c( ]6 V
for p=datacount-1 downto 1 do begin* F: N; [$ k2 G/ o9 g
if fh[p]<fh[p+1] then% K1 V3 q7 \7 j s1 v- j/ H! [8 y2 f
fh[p]:=fh[p+1];* A$ @! x0 G' J/ u# d
if fl[p]>fl[p+1] then
/ V+ ?5 E2 |" W fl[p]:=fl[p+1];4 H7 [# U1 G& o: y1 {" l
end;
( q P, b! I5 g( h dqk:=l>ref(h,1)OR H<ref(L,1);3 X2 ]7 h8 z f. s& ^- N
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));" z8 H I$ ~1 I
D:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
* t+ ~# f9 U1 h& RS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
' d/ J% S" }0 a' r' ^% `tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;
& d9 _1 X0 R4 z0 `, P0 hw:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;+ Z6 M6 r& k; p. D
DD:=DATE;0 W8 x) j! V, m$ `& l; Y, j
最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
1 s8 m. ]4 \- ]' h& qS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));5 n z0 e3 r$ v) O* }& d
S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
+ u1 e. n: i) _1 |: c8 I- f% U1 \A:=MAX(S1,S2);$ n: J; d6 ?1 p" Q4 M0 J( [
B:=MIN(S1,S2);+ ?% e0 O$ {% m; u/ I
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;4 w3 d1 t( b; k$ C, H( w
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;
6 Q) y( ~: k& C) USTICKLINE(w,S1,S2,15,0),COLORGRAY;
* G! b% y# ~2 o, G- ]1 G+ PDRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
1 K* U# X- l; p& U2 k/ B- ^% O( ehh:=h;LL:=L;DD:=DATE;
% E J( w$ ~* p8 _: l# L5 Egb:=SYSPARAM(1);9 P3 i1 M" r1 ?$ S- G: T8 m
上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
* k0 D- [" T0 `! \下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;. j( q7 I. W9 \: U. o& }
XQS:=ubound(下突缺口),LINETHICK0;+ |+ [; j: r/ E( @
s1:=SUMBARS(上突缺口,1);
9 C* W# }/ v) qs2:=SUMBARS(上突缺口,2);3 \9 I) `! ?! D
x1:=SUMBARS(下突缺口,1);
2 W0 k6 Y5 V2 b( w3 px2:=SUMBARS(下突缺口,2);, y$ S" c4 h w2 B
上突位置1:=gb-s1[gb]+1,LINETHICK0;
1 r7 ^% G3 l2 ~/ v1 [; Z6 F下突位置1:=gb-x1[gb]+1,LINETHICK0;( ^- ]/ z4 o! e; j4 w+ H2 I; L. z% k$ P
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
1 @; v0 @8 e0 T; D8 MDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;& d/ B' N2 @2 t2 J! B% \9 q
DRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;' }, a4 a0 a, w/ ~) i# m& V# d
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;! w3 j! j6 N1 h |: l+ R
XQ1:=LL[下突位置1-1];/ E, v/ D2 m: ?0 G) {. N4 u2 J
XQD:=DD[下突位置1];. j; \6 } Z$ H; h$ |7 z$ b
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
4 N8 r! h+ z- D7 f8 t7 jBXQ:=FILTER(BXQ,XQS-下突位置1);+ c: W' A- v+ d+ _) T7 I
SQ1:=HH[上突位置1-1];; s9 S3 P* o8 ]- ]
SQD:=DD[上突位置1];6 U3 W; ~6 S% B/ M* Y/ g4 Q
上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;2 o- E( ?- W, C, U! }9 H
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;
6 h% w* |* e2 f0 A, O6 n& \4 \( CBSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);6 M# y5 [; k/ _ ^; H8 P3 _3 m& k
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
) F0 N' V- D' r- g& JDRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;$ `; t( `/ H0 R# Y: u+ e
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;- `+ A9 ], M; s
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
9 E9 Q9 g" N/ |9 D t// |
评分
-
1
查看全部评分
-
|