|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;, V, Y5 l, G/ j. _7 g/ g
for p=datacount-1 downto 1 do begin" O; w3 ~( X, ?& z
if fh[p]<fh[p+1] then
/ t; q) V: c' Q7 \: W8 s fh[p]:=fh[p+1];) F% G4 ~+ C, E! c5 W
if fl[p]>fl[p+1] then
, h9 U5 n4 ~& H q fl[p]:=fl[p+1];# \% y) C N# Y- T
end;
+ `, i4 \" ]4 x. [4 Hqk:=l>ref(h,1)OR H<ref(L,1);8 D; N3 }' M3 y# ?" v0 b+ [; G0 F1 o
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
9 U, l/ J6 d) F. ]. h7 WD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
; f) `; R* R* v/ o4 F% l! QS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));9 T( H# O. E6 m+ H; W# T, u
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;
h: Q, t4 d! W4 C" v. F: Ww:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
6 p) S( D" W+ w( BDD:=DATE;
* ~) y+ c0 Z( u! r. N- B最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
+ f7 A6 {6 g/ }+ b3 aS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));% b( k& V% }" c0 K, L# q9 {
S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
! s, k7 t% f) c2 m' |A:=MAX(S1,S2);* g- x9 b, ]) q
B:=MIN(S1,S2);! X8 O; p" Y/ Y/ u+ T0 A- F' U/ S) u
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;
, g6 x. q' K) |! Y1 N/ I7 \/ H→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;
$ S; F! H4 ]1 N/ [! i' O5 y9 _STICKLINE(w,S1,S2,15,0),COLORGRAY;. O; I3 T, C3 C2 h3 S
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
0 I5 h! Q2 D+ [( h$ phh:=h;LL:=L;DD:=DATE;% ^3 W& E# Q: b0 v& d
gb:=SYSPARAM(1);
2 n* d* i: P6 {上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;5 X J0 A3 P$ a4 z3 z
下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;, b: t0 ]* t9 H2 G8 I/ d# \
XQS:=ubound(下突缺口),LINETHICK0;: @) N3 C3 a5 f0 L- N- b$ Y, O: G
s1:=SUMBARS(上突缺口,1);, P; v% J! [$ F# z
s2:=SUMBARS(上突缺口,2);
) N: K0 O9 R8 I! D- |9 nx1:=SUMBARS(下突缺口,1);! \# P. o& y& K( N( V
x2:=SUMBARS(下突缺口,2);
r+ A: O# |+ E" R$ {上突位置1:=gb-s1[gb]+1,LINETHICK0;
: ~6 U7 |! _& C, _下突位置1:=gb-x1[gb]+1,LINETHICK0;
( V5 k1 J1 ^5 `* {DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
7 g& g8 U0 `6 t) P6 zDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
- j2 Q, h5 B: e3 Z2 O( LDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;* N& p5 p# g2 I
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;5 \+ @; g B$ s' F
XQ1:=LL[下突位置1-1];
; x( e- t8 ~' A$ v% e7 kXQD:=DD[下突位置1];" z" n C# F H- \, C- n" y; f# A1 Z
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
3 b1 c/ d) g5 a ~3 d) r; xBXQ:=FILTER(BXQ,XQS-下突位置1);
6 f. q: C/ V0 q5 w+ `SQ1:=HH[上突位置1-1];
! Z5 f* _+ G; k/ DSQD:=DD[上突位置1]; T5 \3 S0 E) ^
上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;
/ }( d' S6 I$ `下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;6 a J1 K* |& a
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
3 t# Z3 d" H" Y" w8 {% s. VDRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;. Y0 T. P, T M7 o, I
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
* b! T* m& a+ `. zDRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
& y9 x0 d! ~0 ^4 V p S5 d0 @% w! pDRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
P: y% Q, S3 ^ W! m6 Y// |
评分
-
1
查看全部评分
-
|