|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;
: z3 P$ c& l) r6 p" Efor p=datacount-1 downto 1 do begin
: n$ }/ \% J# N& z* O if fh[p]<fh[p+1] then
6 y Q* o: B' C: K fh[p]:=fh[p+1];
" v7 J# U4 Z, ~! r8 S# `' _ if fl[p]>fl[p+1] then
$ g$ ~8 \1 S+ \8 p1 L1 d6 c3 k, j fl[p]:=fl[p+1];- Q/ P5 c2 d- A4 N+ x
end;
) z/ p2 c7 d" G# \6 Nqk:=l>ref(h,1)OR H<ref(L,1);, N2 l) e8 k: x2 Z
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));' o* G- c Z- ~
D:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));5 T4 S8 f8 p4 z8 j' b7 l" {
S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
}$ O$ Z/ f% z6 Ktj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;5 p: f+ p0 ]9 a3 k
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
: t/ m+ t8 S' N UDD:=DATE;
& ?( O y9 F4 Q, X最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
; m$ M0 E, `( e% P9 L- T2 U: y6 kS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
' N- y6 K- L3 c+ s. s$ M uS2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));6 ?( A; _& Q- U2 l7 K2 C, D& w
A:=MAX(S1,S2);
S; X1 T/ i1 h' w! ZB:=MIN(S1,S2);- x3 q- |# R% O3 z5 V! u
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;
" x5 L7 E# M- y: x4 |: t$ r→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;4 f+ `! Z* [1 e! H
STICKLINE(w,S1,S2,15,0),COLORGRAY;: X6 i' U3 e$ S+ U9 S
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}
/ _" }: b |, r$ S! a/ c ihh:=h;LL:=L;DD:=DATE;
) j9 P/ a: c8 H, U0 n6 m1 Q5 ^# Dgb:=SYSPARAM(1);8 j0 g* \( K8 Q0 k0 j( e
上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
6 Q# M5 a: F0 Q. O$ Z: X) q; m- e下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;
4 w+ x& v, E9 X4 {! dXQS:=ubound(下突缺口),LINETHICK0;
0 H4 V2 a* I7 I6 as1:=SUMBARS(上突缺口,1);
( B0 x) p; q( J4 C$ es2:=SUMBARS(上突缺口,2);2 ] ^8 S( s. ?
x1:=SUMBARS(下突缺口,1);) E! V' m4 n2 a9 X, \* D
x2:=SUMBARS(下突缺口,2);8 D: I5 q, ~' g+ d$ p/ O
上突位置1:=gb-s1[gb]+1,LINETHICK0;, l6 r7 U q; I/ n$ Y. D \
下突位置1:=gb-x1[gb]+1,LINETHICK0;# s1 C+ d# c8 p" z1 f
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;# H) t# D! Q& O* |
DRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;* ~" t0 S2 |; R
DRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;, V- d) L1 a" i+ f' D, H. Y
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;( W& q4 Q% v" b; o. ~, \
XQ1:=LL[下突位置1-1];4 y; s7 X1 d& k0 }' U+ _' z$ b
XQD:=DD[下突位置1];+ W* H! R! B9 x" h
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
1 E6 Q& C% j3 y& SBXQ:=FILTER(BXQ,XQS-下突位置1);$ [- o; y3 ?5 @9 Z& s8 [# ^
SQ1:=HH[上突位置1-1];) L" x, {$ }) T
SQD:=DD[上突位置1];5 ]8 Z- e8 c+ J/ V; C( e) G
上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;
& P- w) @9 }- \4 T7 B- c; r下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;; o" r9 }: q' t$ v" m2 ~; |
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
: v* b+ g) @* x3 |DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;. {7 f D6 k% k d) M
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;' r( l- J+ _# Z
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
/ ]9 e0 S- O2 F) a" J" WDRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
9 @) t7 a# n- s T# K* @// |
评分
-
1
查看全部评分
-
|