|
|
【飞狐】缺口跟踪
fh:=h;fl:=l; Z6 D4 ^+ @' W! n! I& L3 r
for p=datacount-1 downto 1 do begin: u S4 e2 N% E! I/ v, s! k$ [4 J
if fh[p]<fh[p+1] then
$ P. |4 L+ W& M fh[p]:=fh[p+1];$ [& ]& Q! i0 z" h7 p' w
if fl[p]>fl[p+1] then
4 f: n+ w! [+ R, Z# Z fl[p]:=fl[p+1];
" J0 @# s% ?* o' {3 k; h5 N6 w/ xend;
, Q0 z" }, q: k( O x" _& kqk:=l>ref(h,1)OR H<ref(L,1);/ W/ {! S0 p( |" C
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
: A2 y! h5 X! C" H! DD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));; Y3 F, F! u8 o6 @" a% `
S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
: A% e' u' ]+ f I3 } qtj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;4 L* Y- ?3 X# W+ j3 u
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
% l8 d( Z( U& F' g2 E) z P, Y- eDD:=DATE;
+ `& {/ j G3 d9 ?3 B最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
* z6 r' \3 N! yS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
0 {) s8 ^- u( t9 Y( \" O4 yS2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));/ [& m& S4 f! d1 U
A:=MAX(S1,S2);6 }8 T7 b8 n4 H% ?
B:=MIN(S1,S2);* K/ r3 Q) z4 Y. H8 V$ Q# |/ J
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;! ?6 g% b& G1 p, @& S
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;5 r$ z h% ^, N, ?
STICKLINE(w,S1,S2,15,0),COLORGRAY;( f/ e* Q: M7 d
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}& F7 u( R N i! j+ `8 W. H
hh:=h;LL:=L;DD:=DATE;* y) A; ?9 T* u/ \" ~ l
gb:=SYSPARAM(1);
( |# E! t }4 |4 K) d1 J" \上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
- I' R" k' W6 s- c7 }* ]" u下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;" D8 w6 h; V! W# Z! x
XQS:=ubound(下突缺口),LINETHICK0;: z9 v: q# ?8 c9 t
s1:=SUMBARS(上突缺口,1);6 g; F; |+ B' B, b% @
s2:=SUMBARS(上突缺口,2);8 E: L& i- q) C! k9 G
x1:=SUMBARS(下突缺口,1);4 D$ u3 T1 ?5 y9 o' L: P+ [
x2:=SUMBARS(下突缺口,2);
6 h3 d5 _3 S+ E/ c9 X5 s上突位置1:=gb-s1[gb]+1,LINETHICK0;& J. ~: s) G& V( s* F7 D9 M
下突位置1:=gb-x1[gb]+1,LINETHICK0;
" Z# }; C3 h3 n. j7 b* oDRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;1 a/ j" o; W( |% m& x
DRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;( \ W( H1 O9 f6 E0 Q! e& a' d
DRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;4 f: F7 u6 M) ~ x5 x( v, @ d! D
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;* ]- E, V: l/ s8 r4 K
XQ1:=LL[下突位置1-1];$ a: X" _% w$ O
XQD:=DD[下突位置1];: v) h" a1 E6 M! ]8 m- Z
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
* Z5 c) X% n, N: n* I. q; ~ s/ @BXQ:=FILTER(BXQ,XQS-下突位置1);9 X, S4 a I5 ?: g' ^& d
SQ1:=HH[上突位置1-1];2 J9 s9 y5 E% v& d ]- o
SQD:=DD[上突位置1];
' `7 i6 M {; W" x4 L, ~上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;
5 J7 c, j) u9 y* F下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;
# u! A0 d2 {; vBSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
. o+ y4 D2 W+ w8 f" G2 aDRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF; Y2 \# s3 X+ `* G m0 J& Z
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
. o1 r7 T; J. j$ E1 ?: ^4 `: B, lDRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;2 Y6 R4 u) Z, z9 }5 Q3 l2 K' S
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
' L5 o! T/ A# e+ P/ K3 I' Q// |
评分
-
1
查看全部评分
-
|