|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;
& ~% r2 U* G* jfor p=datacount-1 downto 1 do begin# j- g$ y2 d+ y0 f! r& r
if fh[p]<fh[p+1] then$ E% H( o& \% t4 ?. q6 H" h
fh[p]:=fh[p+1];
, _" a1 ~/ f- Q1 V if fl[p]>fl[p+1] then: A- P1 o8 ?9 a0 s
fl[p]:=fl[p+1];
' G! I( v8 P3 a0 V1 j) R+ ]% ~) d$ i9 C2 pend;, N. p9 D1 f7 ]' Y a
qk:=l>ref(h,1)OR H<ref(L,1);2 c* G3 V6 ^5 Q' A# V4 i
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
, E1 j/ ~& B/ g, p5 gD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
9 `0 ~6 s- }5 s" u5 X$ [$ ZS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));5 p0 q3 F, }- c" D7 B7 k5 k) {8 f
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;
9 v4 \0 `( n# V) I' Vw:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
: D8 v8 u- |8 J7 s+ A& JDD:=DATE;
) `' b* R+ S: N# ]最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;! p5 l& ?% t& _9 I; j- |
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
5 m* g2 M8 ?: Z" z$ s9 Q% lS2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));/ v& ~, F* {" X. h
A:=MAX(S1,S2);
/ n9 d0 l8 E: p f( a! i9 h* XB:=MIN(S1,S2);
& D4 A! I0 q; `+ g) e E( x5 Y3 B6 u缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;
8 x: K4 L# m7 w2 v7 {& r( L+ A. X→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;
% }; [. V( {' ^: G+ jSTICKLINE(w,S1,S2,15,0),COLORGRAY;8 N0 t6 [% U& n) F; j- e
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
. s) h* b- ^9 k* H& Z- ohh:=h;LL:=L;DD:=DATE;1 ^; }/ x+ O7 G, E8 q2 t9 L. o
gb:=SYSPARAM(1);- C G8 ]; }% |4 a! l
上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;9 f: a- U( h5 j" `) ^6 m+ T
下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;
# U& {) N! `0 X- eXQS:=ubound(下突缺口),LINETHICK0;
( S/ [; h9 v2 V* P5 m: |s1:=SUMBARS(上突缺口,1);0 \4 V" J! ~& p }9 }
s2:=SUMBARS(上突缺口,2);( ~2 g1 u2 W) {* x$ S' e" x
x1:=SUMBARS(下突缺口,1);
0 k. @" B6 T7 Z& Bx2:=SUMBARS(下突缺口,2);
6 H; [5 {; v3 U, Z0 B) S/ m上突位置1:=gb-s1[gb]+1,LINETHICK0;. w0 o# V3 u3 O' D/ j, {+ K; L
下突位置1:=gb-x1[gb]+1,LINETHICK0;
- L; Y6 e& B' e5 B9 ?' lDRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;& `0 ?( q, u' }
DRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
$ p, p5 Q1 m. |! n& v/ Q9 ^7 KDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;
1 J8 T9 D# i; T+ L7 i0 ^DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;
8 J8 S! f' [: I5 x7 q: ^3 \XQ1:=LL[下突位置1-1];2 l' u% E& H" @1 |" v% Q6 p o
XQD:=DD[下突位置1];2 q; g3 @0 w2 p4 {
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;# z; Y* @$ }0 i* _1 \* G
BXQ:=FILTER(BXQ,XQS-下突位置1);
8 z; C' Y/ b: w, ]: ^9 ]- y: RSQ1:=HH[上突位置1-1];
8 ?4 \( v% x' c- u) G8 d' HSQD:=DD[上突位置1];
- o( B5 }. J5 X( K3 v上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;% K* h, t. T8 A2 K2 G/ }7 B# r/ q2 {
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;+ R7 r; h, o @% _, c- ?
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);7 k. o+ h2 r- n1 |1 n: b, S
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
. O/ P& R+ g8 W# L- }, c i" g9 DDRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;6 g8 Y2 t5 S* q; N
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;- W- K# l: C$ B7 [
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;1 e# N# c+ b2 l4 _
// |
评分
-
1
查看全部评分
-
|