|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;/ k7 O, u" _! w8 s& o+ Z: b( F: i0 X, q9 N
for p=datacount-1 downto 1 do begin
@0 [+ n- ?( y9 q. Y; a3 Y if fh[p]<fh[p+1] then
2 O f2 P1 a$ M5 J" C- [ i fh[p]:=fh[p+1];4 y1 r( L+ q4 r3 O+ G% m
if fl[p]>fl[p+1] then( h- @/ N- @' ~ m5 f6 B- y
fl[p]:=fl[p+1];7 Q c% k; G& h! |
end;- d2 A% i7 w7 B4 L2 t7 S4 r
qk:=l>ref(h,1)OR H<ref(L,1);9 p l+ ?! _: L3 c6 R
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));* c% A7 Q5 O1 z: c
D:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
3 ~6 z; |9 p# |8 fS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
7 H- t$ l4 V. otj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;. B; G# |, K' S7 c. P% F
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
9 O2 t( h' q8 r, e5 V) J: pDD:=DATE;
' j7 R) G& F+ C. i' W# \最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;, ?! \3 P/ f) i6 w% z
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
' |6 q* E" o$ u+ R2 ]# MS2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
' a' i* f4 P( A* f8 \6 ]A:=MAX(S1,S2);& v9 t- C. x l3 u A: g0 N
B:=MIN(S1,S2);8 D3 ?- O, O7 p8 }
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2; {+ r, D. S5 `7 M4 w2 @5 B2 K
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;
, }& u/ ?8 F+ e, k! J% jSTICKLINE(w,S1,S2,15,0),COLORGRAY;
. V3 [/ g/ u" h/ a. z3 fDRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
& P) F- }2 ^3 G9 Ehh:=h;LL:=L;DD:=DATE;
1 |7 n* T4 B- ~+ M; c# o) Q3 }gb:=SYSPARAM(1);
% L) j+ k8 X& J4 }0 ^9 o上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;( H: \. R2 i$ c" H) E2 S& f1 l2 d
下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;1 j5 Z* l- o2 n$ E; I) E- M
XQS:=ubound(下突缺口),LINETHICK0;
2 V( _% v n) ^; x& S- z) s, ls1:=SUMBARS(上突缺口,1);1 O6 O# B6 m7 s& K* {7 E2 R
s2:=SUMBARS(上突缺口,2);; c/ P6 x( @7 I3 {
x1:=SUMBARS(下突缺口,1);
; G4 s5 M8 |+ m/ W6 \, Rx2:=SUMBARS(下突缺口,2);, u6 X+ k. d5 F
上突位置1:=gb-s1[gb]+1,LINETHICK0;
3 `9 S$ y: a8 _' @( p, @# ~# m下突位置1:=gb-x1[gb]+1,LINETHICK0;
* l0 p0 P& j5 e* x8 fDRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
+ S; e( K: v! x5 C$ f- ]$ mDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
9 B! p4 z& E; r) D- VDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;9 i# c9 `1 p2 U. l
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;9 j+ R9 R+ d$ ^" T* |
XQ1:=LL[下突位置1-1];
$ P! J& M0 r" W2 f, T/ ]' X' T8 zXQD:=DD[下突位置1];
7 r* M( l7 S' B+ G5 E6 B2 KBXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
" _8 b- Y% M+ B# ]* gBXQ:=FILTER(BXQ,XQS-下突位置1);
) E. d, q8 P7 X/ N0 F Z; N7 LSQ1:=HH[上突位置1-1];0 ^1 j+ n7 h4 _3 S9 f
SQD:=DD[上突位置1];
( }- Z$ {2 e: g: Z: n3 I( A( i上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;
7 m; e; I$ D" F4 B* m! X下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;: t0 D, U# p2 a# D1 ~
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
$ q/ [8 K( [0 W7 _& [3 q6 ]DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
6 H N; M( s* O( ADRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;" g5 |7 W& C$ x) d. x- J5 P6 t0 q7 j9 c
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;# ]2 V. c! V0 }% c) B% |
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
. X0 `6 t8 m6 R3 ~' y$ x3 v% \& ?' E: r// |
评分
-
1
查看全部评分
-
|