|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;
: `; i0 y L: b( qfor p=datacount-1 downto 1 do begin% r6 U# X0 _/ ~4 P8 q
if fh[p]<fh[p+1] then
. P. _4 w+ @* q; l2 X% v3 K' k0 [3 q fh[p]:=fh[p+1];
/ G p k: [, E" p, k if fl[p]>fl[p+1] then
+ H }6 T1 P$ h4 e) ? fl[p]:=fl[p+1];
4 V; {4 n1 \, ^4 k+ y2 i8 M$ V+ aend;% P- |1 t2 S% C$ J4 z: l0 v
qk:=l>ref(h,1)OR H<ref(L,1);
# c% G) u; X" q, [; Q, ZG:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));% ^5 }# \% n- r) q
D:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));
( r% t9 T; z$ Z( w" F- SS:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));' x. {, |( I# M
tj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;. G+ g7 H4 `* y W1 o$ `# _
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
6 g: t2 x! M* t h+ pDD:=DATE;* E6 z0 n/ c" B( N4 v
最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33; t6 ~& Q! ]0 O
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
3 d( ~9 a" H7 z1 m7 [. W1 @S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
# k2 j7 @% q" s) \: s5 M8 bA:=MAX(S1,S2);; _9 K+ m. f2 y) D
B:=MIN(S1,S2);7 _) N d0 H3 t# `* r# @1 c
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;
; B% H# r* A1 M→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;2 G. [- j; O! C
STICKLINE(w,S1,S2,15,0),COLORGRAY;
- E3 V7 s' i5 \" O) v! HDRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}4 y- `5 J/ @7 `* o
hh:=h;LL:=L;DD:=DATE;/ \- p0 I8 g$ F, H" S
gb:=SYSPARAM(1);
) P8 E) I, L! F# b上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;+ f/ N5 l# A( p" k5 ~, L# j
下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;& l- ]; X2 f0 r1 _$ j( |
XQS:=ubound(下突缺口),LINETHICK0;7 u3 {( o9 o& b3 Y: r
s1:=SUMBARS(上突缺口,1);
. g$ o$ `& s7 Z9 k0 N# Ms2:=SUMBARS(上突缺口,2);' \3 y+ v$ z8 o0 T
x1:=SUMBARS(下突缺口,1);, i% U1 h# ~) F. c( A0 ?: ~9 x, ]8 s
x2:=SUMBARS(下突缺口,2);
: A6 W* a) d0 ^ y上突位置1:=gb-s1[gb]+1,LINETHICK0;
+ b4 ?1 l. w$ J下突位置1:=gb-x1[gb]+1,LINETHICK0;+ D$ z8 w, d9 i) e% @
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
- w% l1 M* H/ pDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
# @8 X3 y6 p L ODRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;% D4 `9 F! k1 o5 V- Z
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;! g- U. i. |' D2 M2 N/ H% B7 m
XQ1:=LL[下突位置1-1];
% W2 B1 ^4 c. @; F& IXQD:=DD[下突位置1];8 k9 K3 ^! ]2 ]- ?
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;3 R. \+ d; `) i) b* o
BXQ:=FILTER(BXQ,XQS-下突位置1);
. c' _% P; q( h7 e- H1 ~SQ1:=HH[上突位置1-1];* [+ Z9 m' \" Y, {. ~: T: _% T% o
SQD:=DD[上突位置1];2 n% K K: l o' B2 Q+ e& [
上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;: q( l1 w+ s5 x( Y0 ^& ]) X- X
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;
8 D- y/ m8 F9 HBSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);$ N; u g' ^! q" O& {5 f1 i
DRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;+ R2 U0 m7 \7 x0 x8 r
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;
3 ]$ n$ m& t# p- O8 X" N1 LDRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;" f1 \. b& n& ?5 @% q
DRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;" D9 c/ P! h; b8 Q5 K
// |
评分
-
1
查看全部评分
-
|