|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;# b, k1 }. O3 m
for p=datacount-1 downto 1 do begin
* g5 K% h0 s9 l if fh[p]<fh[p+1] then
: _6 N) c( z$ y fh[p]:=fh[p+1];1 h1 ?6 B( f) X0 E" t- l I1 s$ I
if fl[p]>fl[p+1] then" `$ _$ }+ K) C. w( N- K
fl[p]:=fl[p+1];
; G- j( C9 q; x ]! A# [) Uend;
8 k" Y- _3 Z/ ?: J9 y3 n1 nqk:=l>ref(h,1)OR H<ref(L,1);
( g$ |2 v5 f% j0 p+ U# y* aG:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
# i) Q- V6 a6 g/ _( m" ?" tD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));+ m" s i" U9 p9 D# t5 u: j0 K0 H- k" S4 a
S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
' d# j; O! }1 c- c( Z# f& ~tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ; G% F( [( e! l+ X5 |; v Q
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
) z6 R- C" j7 xDD:=DATE;
W/ }# F5 F$ y9 Z8 O8 d1 m最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;0 D0 u' I) y- J0 T' f e
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));5 I8 Q2 V5 v( _. [
S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
O- N* P( G2 P6 s3 L$ \) ]A:=MAX(S1,S2);
+ l4 z2 ^0 h# J/ M, G7 {/ o* YB:=MIN(S1,S2);/ q( r( D8 t. l5 k) Z4 \* w- l6 u
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;
8 k) L, V3 H: K) _5 ^) E→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;0 _- K) }0 ]. w! A% Y& f3 J( `1 [
STICKLINE(w,S1,S2,15,0),COLORGRAY;
H7 P \- H+ c$ _! FDRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
- w. h" h& S0 O5 n: hhh:=h;LL:=L;DD:=DATE;
6 B" @ u8 u0 M- g3 ngb:=SYSPARAM(1);
2 J. _9 \* c/ \8 R上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
( I& D$ O0 o( g* Y下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;
$ s* |7 M( W( N* t9 xXQS:=ubound(下突缺口),LINETHICK0;
. b, }5 j2 A4 z7 I- Cs1:=SUMBARS(上突缺口,1);
. L& }7 s7 U: r. f5 {% es2:=SUMBARS(上突缺口,2);
$ m' \! Z6 r zx1:=SUMBARS(下突缺口,1);
& f0 _/ I6 n; q: ex2:=SUMBARS(下突缺口,2);
* ?% h1 e# [" C" ~1 D/ R上突位置1:=gb-s1[gb]+1,LINETHICK0;1 z& ], O! D/ R0 x/ e; ^9 y
下突位置1:=gb-x1[gb]+1,LINETHICK0;; @# ]7 Q5 }3 _0 Z# {
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
9 T; }; g" i6 p& e4 NDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;1 H" [. N- O* V g
DRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;
! t# M; c- i! Z, ~) e+ rDRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;& }+ W. M+ T( A7 @
XQ1:=LL[下突位置1-1];
+ ~$ Q: b8 i% w; ?( u, VXQD:=DD[下突位置1];7 t6 g$ b1 \8 I2 S
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
! r1 t5 S# a/ g7 ]; ZBXQ:=FILTER(BXQ,XQS-下突位置1);2 p+ Y/ p! o, [* D5 r! Z4 T! {
SQ1:=HH[上突位置1-1];
- Q4 X I7 }" {SQD:=DD[上突位置1];
: _" E0 u5 T8 e. V, V上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;$ D% k r" Y* z/ r
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;7 E) u% r- e; w/ l' k
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1); v- U0 Q1 G/ x3 J; W
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
7 ~# y' z! Z( o' H. ~2 y8 k( ZDRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
. K" e V7 S* p. ]1 L6 U2 l1 qDRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;2 g$ O) D" y/ [- c8 Y" O( H
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;9 Q: B4 T9 y' o
// |
评分
-
1
查看全部评分
-
|