|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;8 u& B. n9 u0 T; i7 L6 E: n
for p=datacount-1 downto 1 do begin' v" X8 F" b1 a! T6 D/ R+ ^
if fh[p]<fh[p+1] then
/ b! k/ y7 R$ z fh[p]:=fh[p+1];7 K. p$ o) z V" d4 e; }! H
if fl[p]>fl[p+1] then4 H" K7 S/ j4 ?) ^6 _! Y3 F0 E) X) S
fl[p]:=fl[p+1];
" x) S& ~4 h! h1 r4 e! @( M! uend;
/ G9 f, A( r8 I8 z/ `+ N0 {qk:=l>ref(h,1)OR H<ref(L,1);
) _! Y$ x |2 T, F3 p% eG:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
! r: z* K9 X7 f3 ]" ?- E0 k' \D:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
( i& D* W9 `/ GS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));2 ^* F8 V o) t0 ^
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;
+ i4 v( h7 c; [8 Ow:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;, {+ @2 N! W9 t$ j) u* K
DD:=DATE;
, C( |" d, F' m& y3 G7 L最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
% }- B9 I5 N& l; {$ ]: qS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));3 X f4 ^5 _( d6 Y% ?- v( ]- G1 s
S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));2 I! u4 f8 @& P, \, d/ x* I
A:=MAX(S1,S2);6 {0 T& L8 B) p& U& K: A
B:=MIN(S1,S2);2 `1 s5 r6 B' M
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;( A7 x2 f' u/ ?+ i4 p$ q8 t* y
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;
+ q) I/ ^' A! l) A4 e0 h/ C: _STICKLINE(w,S1,S2,15,0),COLORGRAY;: w( R3 w4 \# V. @2 q ?7 [
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}, I# U; M6 f7 Z9 _4 Q
hh:=h;LL:=L;DD:=DATE;
% Y* }/ `. y3 x9 o, Ygb:=SYSPARAM(1); O3 ^4 O- a: r2 |- v
上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;; I/ a" f; K6 i) Q. h: p4 G
下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;
0 c0 y) I7 r' x8 ^: p+ y. }XQS:=ubound(下突缺口),LINETHICK0;' Y% q! T- o# w& R& y% Z
s1:=SUMBARS(上突缺口,1);
; ^3 P8 h6 J4 O0 rs2:=SUMBARS(上突缺口,2);) ^4 l8 X1 L" E4 b1 Z4 N
x1:=SUMBARS(下突缺口,1);
+ d: ? U# b; Q: I# N7 }x2:=SUMBARS(下突缺口,2);7 a8 i) a' B) t. a1 v; Y, g
上突位置1:=gb-s1[gb]+1,LINETHICK0;
) E$ @ S" k$ L; M/ g下突位置1:=gb-x1[gb]+1,LINETHICK0;( O& L- q6 Q" i" H. N
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
4 \+ u$ _6 e! x* T* i+ _2 nDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;9 W n6 y5 c: D3 K r! Y9 [: x
DRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;
' H9 t1 `! }; W: C$ v. w7 iDRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;
% E3 m4 v; m% ?. c( R" U0 ?( XXQ1:=LL[下突位置1-1];4 G5 [( o5 K" L! ^4 F
XQD:=DD[下突位置1];1 F" g2 z3 \5 ~) C I# G6 X$ ]& P
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
2 l! s3 k5 h x8 l) x& ?BXQ:=FILTER(BXQ,XQS-下突位置1);9 _* \4 e) z& j+ m
SQ1:=HH[上突位置1-1];
. a; a* `* k( l' lSQD:=DD[上突位置1];
2 v/ x9 c& O/ G3 `) k6 E0 r上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;
6 e- \- K2 l- s8 q' p0 ]7 p下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;
6 @! u; ~. X% g% d; xBSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
& Y( _( O0 a x( g6 c$ Y$ cDRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
, x! P! T" u4 R2 oDRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
& T! t" L4 K) _4 }( [DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
6 i1 q8 H+ S1 C! m) l! Y- ^DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
5 h0 ^# Q, X f- B( w* X// |
评分
-
1
查看全部评分
-
|