|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;( R. o1 x! L, q K/ F: `. u
for p=datacount-1 downto 1 do begin
0 T6 ]* G [3 B- c7 ~ if fh[p]<fh[p+1] then
2 Q s, Q- w x( P3 E- g$ U fh[p]:=fh[p+1];1 L9 Z6 h3 J. \. Q+ q
if fl[p]>fl[p+1] then
% I2 V) v5 F2 D4 D+ v2 R fl[p]:=fl[p+1];
' [+ k# ?1 J* d* Kend;! y; c. C. n* c+ Z& B% W" ?# K
qk:=l>ref(h,1)OR H<ref(L,1);. C* ]( J. m' i* N9 i
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));7 r, y1 W; X/ G! @
D:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
3 k$ x4 ?9 Q" |4 IS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));7 v$ A! i4 |: o& G
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;9 o% k4 G, |& X4 B( u1 q" x
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
7 W8 d, L U& [DD:=DATE;
. Q H7 v& c- ]& Z1 {最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;' n( ]% L+ E( e+ B1 B, H4 g4 Z& M
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));7 D7 d/ s0 _2 l6 d5 h x& P
S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
- f( U/ r( d- f) XA:=MAX(S1,S2);
1 I' h9 \0 d! u, D& m, PB:=MIN(S1,S2);' @+ t: @ M- @; _1 r8 |+ r
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;# _3 V' V1 ^+ A7 S5 R3 [
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;' ?6 \& L8 @. H% b* w0 C. U
STICKLINE(w,S1,S2,15,0),COLORGRAY;
8 Q# s4 k6 j- K, N. I6 ^* |DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}3 t" N$ S# k. j* d1 i8 m. Z
hh:=h;LL:=L;DD:=DATE;
! [. R" U* K5 O: R( Q0 _gb:=SYSPARAM(1);
- E& l8 [- S" T7 u上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
0 b" k, K6 r+ Z: A- C下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;
% p* J2 o5 L5 [7 H0 KXQS:=ubound(下突缺口),LINETHICK0;* C( J, D, Q% Z2 t6 @. H# p
s1:=SUMBARS(上突缺口,1);% {" b1 i' |+ w/ s* V
s2:=SUMBARS(上突缺口,2);9 M. O" r4 m' W7 I% }- o
x1:=SUMBARS(下突缺口,1);/ \% q4 D$ _2 C# ?- k
x2:=SUMBARS(下突缺口,2);( b* _2 d8 @8 h* C: X. H( [
上突位置1:=gb-s1[gb]+1,LINETHICK0;
8 O( z m1 B0 t! \/ Q% }2 o下突位置1:=gb-x1[gb]+1,LINETHICK0;5 w* p9 u& W+ s: @. l, G2 m2 @
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;% `, s( D3 u; f6 i
DRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
, ]' l p8 _5 p) d7 [% q5 WDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;& q5 D) T8 a9 [0 u$ P5 E0 p
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;
( a% ?; i# y, j- {$ b* HXQ1:=LL[下突位置1-1];/ l& f+ i0 ]$ I4 P: I7 A
XQD:=DD[下突位置1];
! b- d7 b4 i2 UBXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;7 T3 Z0 Z. ~# N, H/ y/ ?$ h
BXQ:=FILTER(BXQ,XQS-下突位置1);9 n+ L' L# q! I- _6 `0 W% h4 V
SQ1:=HH[上突位置1-1];: |& q" t) d* t$ d- z
SQD:=DD[上突位置1];
! }+ h* y' S- Z+ y7 S/ P+ E上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;2 W9 ~; j& b& F- Z* u8 `0 K/ Q
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;& D! |3 [/ r& L
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
* G3 s) n: Y6 i8 O, ^DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;8 S& T5 v) B2 X/ p% q, |) r
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
, c8 y" w4 z' ]1 ]0 K6 d! ZDRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
& L: q/ T, p9 g, t5 Z7 KDRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
/ o7 B- w/ A: s& D* O3 u// |
评分
-
1
查看全部评分
-
|