|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;4 Q/ x+ X8 [7 b
for p=datacount-1 downto 1 do begin( T r3 W- ^& q4 X4 o
if fh[p]<fh[p+1] then& I! H$ R" @5 `- B3 B# S: _( l
fh[p]:=fh[p+1];# @- h1 N& t) \6 A) M, G3 f
if fl[p]>fl[p+1] then
4 ^; l; B2 F5 Y& D# U1 P' q+ m8 q fl[p]:=fl[p+1];& l7 e+ G$ v. r% Q, k4 c
end; H6 H& W V; w. C# \
qk:=l>ref(h,1)OR H<ref(L,1);
+ o) ~+ [- Q( l$ ~0 wG:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
- K- @, |8 ~) s( Z) F' R" A5 A3 QD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
, e E3 J/ B7 `S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));- D$ k4 ]4 r! i
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;
% H8 [0 b( O/ U" ^3 h( Z4 Dw:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
" X* O& O5 X6 s' vDD:=DATE;
4 w; ^1 K. k: N( F; b最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
x0 F5 T& q) i% xS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
7 k0 [7 N; V- b& S- Z/ S, ?3 kS2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0)); A( }$ V# e t' ^
A:=MAX(S1,S2); S' g! @! w. K+ e h: |
B:=MIN(S1,S2);
0 ]2 u* m) J7 X+ g2 d/ D7 S缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;: x/ t2 F& a! M5 @3 A" u4 q
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;0 N* ^! G+ _+ P% U2 ] N- H
STICKLINE(w,S1,S2,15,0),COLORGRAY;
1 |. t9 ^( c1 V2 DDRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}; \ d) B. h4 T8 K
hh:=h;LL:=L;DD:=DATE;
# `6 k# o" I/ B5 o) { ngb:=SYSPARAM(1);
% m9 Q# g0 l; u/ G上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
3 W8 ~$ Q% ?$ R) B2 \# M! n下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;+ A' o/ v3 K0 X' L4 }9 p
XQS:=ubound(下突缺口),LINETHICK0;
% \/ H( k( T6 m; W; l% xs1:=SUMBARS(上突缺口,1);
* W+ P5 N( V6 _" y6 Is2:=SUMBARS(上突缺口,2);
K4 r! i: |; O Q+ {% V, v% Gx1:=SUMBARS(下突缺口,1);. A& U+ b- s% k B: c! [
x2:=SUMBARS(下突缺口,2);& I* k6 H& A, q3 L+ r4 `: @
上突位置1:=gb-s1[gb]+1,LINETHICK0;$ q3 P4 e3 f3 G) `4 N$ ~
下突位置1:=gb-x1[gb]+1,LINETHICK0;) t7 {9 N+ P2 X5 j9 e* |* i
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
. V7 D) }' n j! v) r3 q" A3 z/ mDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
/ } w1 Y0 [6 P k2 HDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;5 P1 r0 Q( |" F
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;
$ l( H# [5 X0 y% ~+ AXQ1:=LL[下突位置1-1];
/ Q* h3 S3 c- j5 N3 J' SXQD:=DD[下突位置1];, V1 y' ]' w' R) h7 L
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;: \2 P9 z! L- `% j7 o' M3 T1 @2 X+ ~
BXQ:=FILTER(BXQ,XQS-下突位置1);( o+ R7 t7 G, S
SQ1:=HH[上突位置1-1];7 W2 P H& ]! A/ _7 a8 t# C/ o
SQD:=DD[上突位置1];
% k- f9 q5 n$ [1 m* @& k上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;
7 H+ M4 T1 t1 s8 f下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;
$ s) _; N% k R; CBSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);% J* {0 [; p' M- i ?+ T; |/ p
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;" ^: u& E# H4 ]- w+ V2 S
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;* ^; H, o6 c5 f9 I: v8 g
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
& k, H. ~8 s0 jDRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
9 M- I! I8 b: `9 u4 {8 ?// |
评分
-
1
查看全部评分
-
|