|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;# a8 I$ Q1 I5 G, S8 a' @0 \
for p=datacount-1 downto 1 do begin
' i9 }; y( ?% S0 G3 `: v/ T( R! B2 W if fh[p]<fh[p+1] then" }5 o% f4 ]1 r9 n9 Y
fh[p]:=fh[p+1];: j0 d D4 P5 O9 n6 c2 m
if fl[p]>fl[p+1] then+ I2 H# k5 V/ @& v" K
fl[p]:=fl[p+1];
& ]3 J9 G7 Q) G; H! }+ N. b+ U+ k# Yend;$ q! N1 H9 a, ?7 W1 S' t
qk:=l>ref(h,1)OR H<ref(L,1);
: v4 \3 T* @2 L. QG:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
5 ], V/ n$ K( P7 aD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));; n2 O. _4 `! Q
S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));; ~: t" H9 j2 b4 Z! o2 |
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;
5 @) P: v8 @ N$ s% Y" W0 C9 `w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;9 \3 D% s7 s: w. [% s1 n5 \1 m3 y) F) H
DD:=DATE;
# e5 j. P6 a7 {1 H最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;7 ^8 v, N% Z$ u
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
% p9 a' t3 C* _S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));( L4 r* O" } [
A:=MAX(S1,S2);. W1 U' x" J: y0 E! `) Z' X
B:=MIN(S1,S2);
8 K, `- ~# h; _$ N- C9 y( T缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;& K% G; ^( B) x. M: @( Y1 M
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;( _3 V& F7 m) o! u
STICKLINE(w,S1,S2,15,0),COLORGRAY;" k1 S3 [* ?/ b( ^* V
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}3 K/ A/ f4 ]5 e& W; h
hh:=h;LL:=L;DD:=DATE;' j0 g. f# \. O* i" w
gb:=SYSPARAM(1);% I3 r# ]; l8 O: @# k2 a
上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
1 C$ c5 }4 R( k( b+ X4 `下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;' R! Z3 v, @# o+ F l! R
XQS:=ubound(下突缺口),LINETHICK0;2 t# d$ @$ m! {& d* G! m5 ~: n
s1:=SUMBARS(上突缺口,1);
" r* Q* V' Q+ C0 A7 n; N. r& o' Vs2:=SUMBARS(上突缺口,2);
* l8 b3 r! D: H4 R, D+ Yx1:=SUMBARS(下突缺口,1);
# k, A: `7 k" V' Q1 A t5 F5 Nx2:=SUMBARS(下突缺口,2);+ K$ q$ U- @9 S7 B
上突位置1:=gb-s1[gb]+1,LINETHICK0;
( ]; f3 q- M& q下突位置1:=gb-x1[gb]+1,LINETHICK0;
p) `, i: {/ b$ C& ]; A* UDRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
) I8 ?6 m3 R( w. [- X" t, W8 KDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
) ?4 N6 y+ ~7 t* K0 fDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;1 S1 x3 Z ]3 @* R$ ^* |
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;+ l5 x8 [0 B7 J' j
XQ1:=LL[下突位置1-1];% N( A1 l- g3 @$ D1 S
XQD:=DD[下突位置1];
0 R W% T4 Y; U* r$ V3 ]7 kBXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
* y" ]3 B) H1 q& W9 JBXQ:=FILTER(BXQ,XQS-下突位置1);
2 I- ]6 }/ g7 s3 K2 x* kSQ1:=HH[上突位置1-1];6 Q& e: A" T _9 \& \$ ]
SQD:=DD[上突位置1];8 ?" ~! C& a) i6 Z. F8 |
上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;
7 \( n( H. K" i- |1 ?* [; X5 h下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;# A+ L: j% @' N5 _3 T
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);0 O* f7 R4 ?; G
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
+ b; w) Y9 d* m' jDRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
" j8 `2 }! y" B8 _DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;$ A* { V* D/ v' G9 l. d
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
8 y% d6 Y; m0 e; {; q// |
评分
-
1
查看全部评分
-
|