|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;
, \8 |& [% E/ R* @! e3 s0 Efor p=datacount-1 downto 1 do begin
9 K/ n T R. _8 Q. D$ P3 k if fh[p]<fh[p+1] then
& \3 F1 ~1 F! J q1 g; n" Z fh[p]:=fh[p+1];2 G* b3 N' W) j/ z9 ?: Z8 }
if fl[p]>fl[p+1] then
9 J' H+ C* D9 O fl[p]:=fl[p+1];* K2 H* _) H2 {3 M: g* F) m- F
end;
3 p8 i3 B# B* ?4 z0 w, Pqk:=l>ref(h,1)OR H<ref(L,1);5 ?; f0 ]! v* C5 A
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));2 v* S- A% H2 T/ c6 t
D:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));/ Y9 z. g U7 x; L
S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));$ w& h, o# r0 D; T8 l/ k5 ?
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;& j% }' Y2 [) Y; |
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1; r/ K0 c' ?$ h4 w
DD:=DATE;( _' {" X* m* `5 [ X6 E
最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
5 Z& `: Q! ~$ l7 e0 ~: m( @% T" a2 jS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
1 u' ?& B. X. J' f( yS2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
7 }) V% ]0 V8 JA:=MAX(S1,S2);& o* p* V7 s, E: B9 v" ~6 T
B:=MIN(S1,S2);
2 E! a9 \9 l) z% x缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;% p B! c8 ~$ i: s0 o" W
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;
3 n" Q7 N0 m+ o( C/ gSTICKLINE(w,S1,S2,15,0),COLORGRAY;' J) `3 B* b, ~
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
; ~6 S, U! p' p5 R- t: lhh:=h;LL:=L;DD:=DATE;
9 b- `8 d7 u& `; P+ L6 |; agb:=SYSPARAM(1);
$ R9 a0 D9 A" |# X3 P$ e/ c上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;* N% `% y @4 ^/ A3 g
下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0; o4 D9 S! @4 |4 l$ y5 o; t% J8 b A
XQS:=ubound(下突缺口),LINETHICK0;
! M# u3 z" r3 l7 `* C+ M" Ps1:=SUMBARS(上突缺口,1);
6 d1 e$ ?3 X7 o& B+ d, is2:=SUMBARS(上突缺口,2);
% g* p4 G( V+ A8 W, U# zx1:=SUMBARS(下突缺口,1);9 h4 W( n- H$ {5 s
x2:=SUMBARS(下突缺口,2);+ J+ F a9 z/ R3 B W( d
上突位置1:=gb-s1[gb]+1,LINETHICK0;3 o$ Q" @% F/ Q% [6 q: Z
下突位置1:=gb-x1[gb]+1,LINETHICK0;" T$ j- T# G( t% K2 @5 Q4 \
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;; {0 E* G' K- \! a# Z
DRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
! L7 U1 q3 Y( ?& O3 X N& sDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;( @" |/ o V9 y- S) ^) ]- B( _
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;
* k# c1 b5 S. E7 QXQ1:=LL[下突位置1-1];+ a- l9 o u8 p, _, J
XQD:=DD[下突位置1];+ C$ t* |6 ?$ I S% Y) Y$ z
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
$ g. e/ v/ |3 `* T# I$ ?BXQ:=FILTER(BXQ,XQS-下突位置1);
" n. R( S; V2 JSQ1:=HH[上突位置1-1];
/ w# T# j* y0 \. _6 YSQD:=DD[上突位置1];
# W% \6 ?$ v3 g上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;9 ]0 n6 a5 Y+ c/ m) a. t9 y6 h
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933; h; x8 Z' @+ @: X. k% ]
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);9 m3 H+ _& R' S+ d& F
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
! n0 ? S0 b3 ?$ S( f" hDRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;$ `6 N' f5 o$ ?4 w% p6 z8 U h
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;# Z: m, M/ d7 J( n
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
! B9 J% b4 b+ J; Z// |
评分
-
1
查看全部评分
-
|