|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;' x- C6 U9 d0 s9 V: C
for p=datacount-1 downto 1 do begin: @$ U' G! s E; y2 n' s1 c
if fh[p]<fh[p+1] then6 H. l3 u' c9 \5 Y) d
fh[p]:=fh[p+1];6 C# _& S0 E! t8 i: x
if fl[p]>fl[p+1] then
1 F& P/ L5 N/ v% g fl[p]:=fl[p+1];3 A; n8 ]- h: Z, s* ^
end;
* K3 \" R; o7 n) \* e% q- Zqk:=l>ref(h,1)OR H<ref(L,1);
" W/ @; z* t3 p8 yG:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
8 C3 |6 r4 ?. L7 [" v- `7 tD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
" L/ x0 p) b3 p1 q, @! G- AS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
+ F8 `% H% V% E, f, q7 I6 T- s- Ptj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;, x0 _7 g% \) _, Y3 x9 v2 O9 b% y
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
N1 X. |. m0 k. L7 ]' MDD:=DATE;& m8 \; ? Q' U2 ~1 m( `+ z4 P
最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;$ ~; j: x. \6 {: d$ |
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
2 ?! K' X) T9 a" T2 R7 z7 x3 DS2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));( |* R# P. |( ] P" O- A
A:=MAX(S1,S2);( e: T- h) e& Q6 Q/ A( _
B:=MIN(S1,S2);
8 w) E+ O5 o8 ]6 N缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;1 A# o/ l$ O+ h, _/ r
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;8 z8 |- D' K& H3 P0 ?2 f+ M; b
STICKLINE(w,S1,S2,15,0),COLORGRAY;: {7 A7 T5 O5 D" ?; x# c; i5 `2 F
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
* C( L: k- T }8 y; @hh:=h;LL:=L;DD:=DATE;' O" K6 I. ~% h1 Z) I+ [3 v
gb:=SYSPARAM(1);
u3 u5 v4 M" a l: k2 b7 X上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
+ j1 S5 |6 E, ?4 f下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;2 z* N- l) \ R# g8 t
XQS:=ubound(下突缺口),LINETHICK0;3 j- a6 x! @# i/ F- A4 ]6 D p0 P
s1:=SUMBARS(上突缺口,1);
- \' d: D# h ^s2:=SUMBARS(上突缺口,2);" ^6 ?5 Y' ?8 u- @! o
x1:=SUMBARS(下突缺口,1);
, }0 U" s$ C4 v2 |x2:=SUMBARS(下突缺口,2);
" h# t; R1 ^% Z' F- q上突位置1:=gb-s1[gb]+1,LINETHICK0;! s2 u' @( U, _1 u
下突位置1:=gb-x1[gb]+1,LINETHICK0;
( x$ r; A) E$ v$ ~1 ^4 rDRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
2 H0 r- R6 E7 E3 s( k6 t7 uDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;2 O, [$ _. }- j- W
DRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;
+ d. U: K& A8 G3 }. ?0 yDRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;3 T t, d/ G8 V2 K0 K5 ^# E
XQ1:=LL[下突位置1-1];( Q+ u) @, v* m X( I5 M
XQD:=DD[下突位置1];
7 y& n7 h% b8 m N( EBXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;+ l. K: m6 r4 P8 P/ y% [
BXQ:=FILTER(BXQ,XQS-下突位置1);
5 J# ?/ x% u: M+ l4 E, v6 ESQ1:=HH[上突位置1-1];, r* n. R8 ?" E2 V0 _+ x
SQD:=DD[上突位置1];: ^7 T: g6 l3 ~1 p
上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;9 i3 v% M q8 ?
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;
: E( I7 O3 Q5 ~7 O- o8 F. |1 h, f' |BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);0 s& j$ b/ ^; L3 J) i* d
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;; w T1 ]' _/ ]/ q- j, S: M2 [
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
$ u: e+ F( ?9 A/ d5 rDRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
; \ m, }2 z( ~, M8 CDRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
! J2 P9 y0 |. z1 J0 |5 u// |
评分
-
1
查看全部评分
-
|