|
|
【飞狐】缺口跟踪
fh:=h;fl:=l;/ T' K( Q/ H8 q6 K5 Q2 h
for p=datacount-1 downto 1 do begin3 @6 j8 c {( Z' P9 e( E* g/ ?# R
if fh[p]<fh[p+1] then. D2 Y e& z( h9 E6 ?' y: i# H* C- c
fh[p]:=fh[p+1];5 _0 b8 w G3 P* k: `
if fl[p]>fl[p+1] then: p0 k7 K9 e8 K& P2 P! _ g
fl[p]:=fl[p+1];
4 z% H. e' S x9 Gend;+ {3 C( N. p3 G; x; W& c$ p6 P
qk:=l>ref(h,1)OR H<ref(L,1);0 v3 ?& D: Z4 A( @0 S9 `$ V- [' D
G:=IF(l>ref(h,1),L,IF(H<ref(L,1),ref(L,1),0));
i2 V0 a- a9 S! _6 Q5 h3 w! I8 PD:=IF(l>ref(h,1),ref(H,1),IF(H<ref(L,1),H,0));; a" |1 b6 M+ {5 x& E& y/ j
S:=IF(l>ref(h,1),2,IF(H<ref(L,1),1,0));
" N. Z6 c/ w6 j4 Dtj:=s=2 and fL<=G AND fL>=D OR s=1 and fH<G AND fH>=D ;; c' T4 w6 h0 f. n
w:=BARSSINCE(BACKSET(BARSTATUS=2,BARSLAST(TJ*BARPOS=BARPOS)+1))+1;
" Z% q2 r: d# w7 x2 h: T* Q+ ADD:=DATE;
2 V: h0 Z3 y' T4 X最近缺口日:REF(DD,W-1)+19000000,LINETHICK0,COLORAAFF33;* N! K4 D* T, ^. y0 G/ t
S1:=IF(ref(S,W-1)=2,ref(fL,w-1),IF(ref(S,W-1)=1,ref(fH,w-1),0));" r9 x8 a! b# |9 S, k+ F
S2:=IF(ref(S,W-1)=2,ref(D,w-1),IF(ref(S,W-1)=1,ref(G,w-1),0));
: e6 \/ n! B/ L+ Z8 p6 {: kA:=MAX(S1,S2);" Y9 X7 ^/ u- F3 S6 _% U
B:=MIN(S1,S2);! f8 P1 b, N. H
缺口:B[datacount],COLORWHITE,LINETHICK,,PRECISION2;
" A& _1 b. ~8 Q. e( c→:A[datacount],COLORWHITE,LINETHICK,PRECISION2;: x, R. R6 }% I5 G6 D' o
STICKLINE(w,S1,S2,15,0),COLORGRAY;. O N, J( E0 x7 }. L9 P' q
DRAWTEXT(BARSTATUS=2,A,NUMTOSTR(B,2)+'-'+NUMTOSTR(A,2)),COLOR0099CC,ALIGN2;{显示缺口数字 可删除}: A- Q8 ~$ ^9 A9 b2 h* a; F
hh:=h;LL:=L;DD:=DATE;
& z; R( @$ _( jgb:=SYSPARAM(1);
% x3 h* K& _1 |0 U# X上突缺口:=LOW>REF(HIGH,1),COLOR00EEFF,LINETHICK0;
" [/ q' B1 H) r4 d6 ]下突缺口:=HIGH<REF(LOW,1),COLOREE9933,LINETHICK0;
1 J3 [4 v' U, C; n8 mXQS:=ubound(下突缺口),LINETHICK0;) f9 M. p. d3 ?1 @2 i! J
s1:=SUMBARS(上突缺口,1);4 P! C, q: M& T. ~0 ^5 z
s2:=SUMBARS(上突缺口,2);
, O2 @+ U @/ T& }0 Px1:=SUMBARS(下突缺口,1);- \: h& P7 a6 j$ h5 x. O
x2:=SUMBARS(下突缺口,2);
# ~0 z2 t! ?+ X% R上突位置1:=gb-s1[gb]+1,LINETHICK0;, q& a s* L# m3 [+ s
下突位置1:=gb-x1[gb]+1,LINETHICK0; _; H$ N6 S! a- i5 c$ I/ E! y
DRAWTEXT(下突缺口,h,'△'),COLOREE9933,PXUP15,ALIGN0;4 C$ D6 R2 u% h: H6 g6 c0 X! B
DRAWTEXT(下突缺口,ref(l,1),'▽'),COLOREE9933,ALIGN0;
: ]" A( |; I1 m6 j. Q# gDRAWTEXT(上突缺口,l,'▽'),COLOR00EEFF,ALIGN0;/ X$ I$ `8 v- B# Q7 J( f; c' A
DRAWTEXT(上突缺口,ref(h,1),'△'),COLOR00EEFF,PXUP15,ALIGN0;
( H9 X- ]: c0 Z0 j# E& vXQ1:=LL[下突位置1-1];* ]/ n4 j! [7 g* R+ |
XQD:=DD[下突位置1];
7 d$ M, ?7 ?% k0 h" V% G [2 \0 [$ aBXQ:=COUNT(RANGE(BARPOS,下突位置1,XQS) AND HH>XQ1,XQS-下突位置1)=1;4 z8 g0 H* x+ U4 h1 Q/ d5 Y, ]
BXQ:=FILTER(BXQ,XQS-下突位置1);* K# P/ f2 L. t: y( i
SQ1:=HH[上突位置1-1];
8 k& X- a' \) ` t% r, M2 B5 c9 wSQD:=DD[上突位置1];
- y+ [5 X2 s/ _) e( Q. g上缺日:IF(XQD<SQD,SQD+19000000,0),LINETHICK0,COLOR00EEFF;+ l9 n! ^7 s' H0 z/ T
下缺日:IF(SQD<XQD,XQD+19000000,0),LINETHICK0,COLOREE9933;
" O+ A0 L* H8 |1 l! p) z$ z7 fBSQ:=COUNT(RANGE(BARPOS,上突位置1,XQS) AND LL<SQ1,XQS-上突位置1)=1;BSQ:=FILTER(BSQ,XQS-上突位置1);
% `$ J# _, `2 X$ NDRAWTEXT(BSQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(SQD,0),6)+'\n 上突缺口\n '+numtostr(SQ1,2)),COLORFF99FF;
$ Z; _& d% V- O; }DRAWTEXT(BSQ,SQ1,'←'),ALIGN0,COLOR00EEEE;* e0 P+ n* d( r7 U
DRAWTEXT(BXQ,(o+c)/2,' \n 补'+STRRIGHT(NUMTOSTR(XQD,0),6)+'\n 下突缺口\n '+numtostr(XQ1,2)),COLOREEEE66;
2 v7 q) {) y' D& j7 ^7 d6 `, r9 CDRAWTEXT(BXQ,XQ1,'←'),ALIGN0,COLOR00EEEE;
4 H" {+ ?+ T' H$ `0 t5 m// |
评分
-
1
查看全部评分
-
|