|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;: x/ T5 N/ J/ ?# C4 G) x( \6 a
for p=datacount-1 downto 1 do begin0 N7 ~9 Q# Z+ v2 E- I
if fh[p]<fh[p+1] then
, _: C* @! H' ~! k fh[p]:=fh[p+1]; m0 ^0 a* a4 j) t# f8 T3 L; t( a
if fl[p]>fl[p+1] then% {7 P& b( R4 \9 y4 `
fl[p]:=fl[p+1];
; F3 W: G% b) Y1 ]+ Bend;, f% F8 Z" V2 c1 a; B
qk:=l>ref(h,1)OR H<ref(L,1);
. R' I; k7 n- t7 \G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
" }9 N9 n" U3 h& O; {" q9 rD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));8 X" x5 M. \: `1 i) j
S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
2 m5 E4 z! _( W6 Xtj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;
% Z. x* r) E- e3 N: A7 X' gw:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;0 B7 b6 Q$ X% T; M/ @8 f
DD:=DATE;
2 Q) O- P! t( |- |' l最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;
}- ^, {3 N% u+ ]+ SS1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));
, r/ M! t0 K( T6 D, x; A6 g( \S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));- G( ^2 O5 l: i) l: B
A:=MAX(S1,S2);0 O" o9 I# h1 ?( c" m
B:=MIN(S1,S2);( e# M, d. z; w% X) S
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;' a4 }# F! x; O) l$ M0 z
→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;: \' X% }, P+ c' f
STICKLINE(w,S1,S2,15,0),COLORGRAY;' v: Z7 G$ h) Z+ a! Z
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}) ^, P4 ^$ X# n) D, D
hh:=h;LL:=L;DD:=DATE;
, M3 f7 ]& y2 ?4 [+ F7 H2 bgb:=SYSPARAM(1);* q" ]! H. y8 f! p5 x# v
上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0; n. S z: d9 j% v) Z: ^+ S, m
下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;
* g" ~% @; H* a, P$ s8 |5 L" vXQS:=ubound(下突缺口),LINETHICK0;
& i# d+ P; d0 T( }. ^) q f Z$ ^$ X& fs1:=SUMBARS(上突缺口,1);
|7 z' D8 L2 [1 k) T. `9 p* Ds2:=SUMBARS(上突缺口,2);& L: Q. D3 j5 W* k9 |
x1:=SUMBARS(下突缺口,1);
/ b4 p% E3 i6 |( O2 q% r( |1 Kx2:=SUMBARS(下突缺口,2);
. H/ D) D8 x: Y" K6 |8 c: D' `上突位置1:=gb-s1[gb]+1,LINETHICK0;
+ J" Z3 j9 w$ i9 ^) m! f下突位置1:=gb-x1[gb]+1,LINETHICK0;' U) q# R# f2 `( ~+ P! n
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;
# H! f3 p) G* S+ Z& P% MDRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;8 e4 G2 Z" i2 d, c$ B& D# n
DRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;
: a; U: A9 f; ~! S* o& uDRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;/ L" k \) p/ U$ D, Y
XQ1:=LL[下突位置1-1];' u: k1 e: T7 y5 F2 O
XQD:=DD[下突位置1];7 s2 I5 A, |7 _( X0 I) u4 c$ O# g
BXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;
5 @7 _/ o* M8 Q% }; R% W0 VBXQ:=FILTER(BXQ,XQS-下突位置1);3 G; T# C# q6 c8 @5 T
SQ1:=HH[上突位置1-1];4 f: _5 n+ V# ?5 J' N h$ ]+ \
SQD:=DD[上突位置1];7 [& Q, Z: U; s+ I3 s& E6 C9 C
上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;) y; m8 ?1 g9 k; U7 K
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;+ E; R2 i. o2 |( s# @! S( |
BSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
) O, r K2 R& `! Z. rDRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;$ {7 c8 k" |/ H8 x/ j0 k2 Y
DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;+ @/ n& R4 \7 j" e
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
/ q7 s# M( l VDRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;; n/ K: p# x# c+ p( ^( d3 p9 L0 U
// |
评分
-
1
查看全部评分
-
|