发个股票箱画线!
drawgbk(1,colorrgb(44,22,108),colorrgb(33,0,0),0),color10000;
fh:=high;
fl:=low;
sell:=0*fh;
buy:=sell;
signal:=sell;
boxh:sell,linethick0;
boxl:sell,linethick0;
variable:hc=0,lc=0,bt=fh[1],bb=fh[1];
for i=1 to datacount do begin
if hc>1 then begin
if lc>2 and bt<=fh[i] then begin
buy[i]:=1;
for j=i-1 downto i-hc do begin
boxh[j]:=fh[i-hc];
boxl[j]:=fl[i-lc];
end;
hc:=0;lc:=0;
end;
if bt>fh[i] then begin
if lc>2 then begin
if bb>=fl[i] then begin
sell[i]:=1;
for j=i-1 downto i-hc do begin
boxh[j]:=fh[i-hc];
boxl[j]:=fl[i-lc];
end;
hc:=-1;lc:=0;
end else begin
boxh[i]:=fh[i-hc];
boxl[i]:=fl[i-lc];
end;
end;
hc:=hc+1;
if lc>1 then begin
if bb<fl[i] then begin
lc:=lc+1;
if lc=3 then begin
signal[i-hc+1]:=1;
for j=i downto i-hc+1 do begin
boxh[j]:=fh[i-hc+1];
boxl[j]:=fl[i-lc+1];
end;
end;
end else lc:=0;
end else
if lc=1 then begin
if bb<fl[i] then begin
lc:=lc+1;
end else lc:=0;
end;
if lc=0 and hc>1 then begin
bb:=fl[i];
lc:=lc+1;
end;
end else begin hc:=0; lc:=0; end;
end else
if hc=1 then begin
if bt>fh[i] then
hc:=hc+1
else begin hc:=0;lc:=0; end;
end;
if hc=0 then begin
bt:=fh[i];
hc:=hc+1;
end;
end;
partline(boxh and boxh=ref(boxh,1),boxh),coloryellow,pointdot;
partline(boxl and boxl=ref(boxl,1),boxl),coloryellow,pointdot;
partline(boxl and boxl=ref(boxl,1),(boxl+boxh)/2),coloryellow,pointdot;
stickline((signal||refx(buy||sell,1))&&boxh,boxh,boxl,0.1,0),pointdot,coloryellow;
drawicon(buy,low*0.99,4);
drawicon(sell,high*1.01,5);
{--------------------------------------------------------------------------------------------------}
{--------------------------------------------------------------------------------------------------}
boxhl:=(boxl+boxh)/2;
hac:=c;
{ha:=1;}
variable:ha=1;
for i=2 to datacount do
begin
if boxh[i-1]=0 and boxh[i] >0 and (boxh[i] <>boxh[i-1] or boxl[i] <>boxl[i-1]) then hac[i]:=0;
if boxh[i-1]>0 and boxh[i] >0 and (boxh[i] <>boxh[i-1] or boxl[i] <>boxl[i-1]) then hac[i]:=0;
if boxh[i-1]>0 and boxh[i] >0 and boxh[i] =boxh[i-1] and boxl[i] <>boxl[i-1] then hac[i]:=0;
if boxh[i-1]>0 and boxh[i] >0 and boxh[i] =boxh[i-1] and boxl[i] =boxl[i-1] then hac[i]:=ha;
if boxh[i-1]>0 and boxh[i] >0 and boxh[i] =boxh[i-1] and boxl[i] <>boxl[i-1] then hac[i]:=ha;
if boxh[i-1]>0 and boxh[i] >0 and boxh[i] =boxh[i-1] and boxh[i-2]=boxh[i-1] then hac[i]:=hac[i-1]+ha;
if boxh[i-1]>0 and boxh[i]=0 then hac[i]:=0;
if boxh[i-1]=0 and boxh[i]=0 then hac[i]:=0;
end;
nv:=hac;
nvh:=hac;
nvhi:=hac;
nvl:=hac;
nvli:=hac;
kk:=hac[1];
ll:=hac[1];
llt:=hac[1];
mm:=hac[1];
mmt:=hac[1];
mmu:=hac[1];
for i=2 to datacount do
begin
nvh[i]:=0;
nvhi[i]:=0;
nvl[i]:=0;
nvli[i]:=0;
end;
for i=2 to datacount do
begin
if hac[i-1] =0 and hac[i]>0 then kk:=i-1;
if hac[i-1] >0 and hac[i]>0 then llt:=i-1;
if hac[i-1] >0 and hac[i]>0 then for j=kk to llt do nv[j]:=hac[i]+1;
if hac[i-1] =0 and hac[i]>0 then nvhi[i]:=i;
if hac[i-1] =0 and hac[i]>0 then nvh[i]:=boxh[i];
if hac[i-1] =0 and hac[i]>0 then nvl[i]:=boxl[i];
if hac[i-1] >0 and hac[i]=0 then ll:=i-1;
if hac[i-1] >0 and hac[i]=0 then for j=kk to ll do nv[j]:=hac[i-1]+1;
if hac[i-1] >0 and hac[i]=0 then nvli[i-1]:=i-1;
end;
{--------------------------------------------------------------------------------------------------}
{xx:=nv,linethick3;}
{nvhi/500;}
{nvli/400;}
{hh1:=boxh,linethick2;}
{ll1:=boxl;}
{ha:=nvhi; }
{hb:=nvli;}
{fc:=c;}
{--------------------------------------------------------------------------------------------------}
hac[1]:=0;
ahd:=nv;
ahdh:=nvh;
ahdl:=nvl;
ahdnv:=nv;
att1:=hac[1];
att2:=hac[1];
att3:=hac[1];
att4:=hac[1];
atta:=hac[1];
bhd:=nv;
bhdh:=nvh;
bhdl:=nvl;
bhdnv:=nv;
btt1:=hac[1];
btt2:=hac[1];
btt3:=hac[1];
btt4:=hac[1];
btta:=hac[1];
chd:=nv;
chdh:=nvh;
chdl:=nvl;
chdnv:=nv;
ctt1:=hac[1];
ctt2:=hac[1];
ctt3:=hac[1];
ctt4:=hac[1];
ctta:=hac[1];
dhd:=nv;
dhdh:=nvh;
dhdl:=nvl;
dhdnv:=nv;
dtt1:=hac[1];
dtt2:=hac[1];
dtt3:=hac[1];
dtt4:=hac[1];
dtta:=hac[1];
ehd:=nv;
ehdh:=nvh;
ehdl:=nvl;
ehdnv:=nv;
ett1:=hac[1];
ett2:=hac[1];
ett3:=hac[1];
ett4:=hac[1];
etta:=hac[1];
{var1:c;n1:=setlbound(var1,10);}
for i=datacount downto datacount-100 do
begin
if nvhi[i]>0 then atta:=atta+1;
if nvh[i]>0 and atta=1 then att1:=nvh[i];
if nvh[i]>0 and atta=1 then att2:=nvl[i];
if nvh[i]>0 and atta=1 then att3:=nv[i];
if nvh[i]>0 and atta=1 then att4:=i-2;
if nvh[i]>0 and atta=1 then for j=i-1 to datacount do ahdh[j]:=att1;
if nvh[i]>0 and atta=1 then for j=i-1 to datacount do ahdl[j]:=att2;
if nv[i]>0 and atta=1 then for j=i to datacount do ahdnv[j]:=att3;
if nvh[i]>0 and atta=1 then ahd[i-1]:=0;
if nvh[i]>0 and atta=1 then for j=i to datacount do ahd[j]:=ahd[j-1]+1;
end;
// y1xbb45:= y1xbb455 ,linethick4,colorwhite;
// att4a:=att4;
// <%
// vy=ffl.vardata("y1xbb45")
// vatt=ffl.vardata("att4")
// ffl.varstartindex("y1xbb45")=vatt
// %>
// y1xbb45,linethick6;
y1xbb45:=if(ahdh>0, ((ahdh-ahdl)/(ahdnv-1))* ahd * tan( 45 * ( 3.14159 ) / 180 ) +ahdl,l) ,linethick4,colorwhite;
y1xbb23:=if(ahdh>0, ((ahdh-ahdl)/(ahdnv-1))* ahd * tan( 26.5659 * ( 3.14159 ) / 180 ) +ahdl ,l) ,linethick4,colorwhite;
y1bb45:= if(ahdh>0, ((ahdh-ahdl)/(ahdnv-1))* ahd * tan( -45 * ( 3.14159 ) / 180 )+ ahdh,l) ,linethick4,colorwhite;
y1bb23:=if(ahdh>0, ((ahdh-ahdl)/(ahdnv-1))* ahd * tan( -26.5659 * ( 3.14159 ) / 180 )+ahdh ,l) ,linethick4,colorwhite;
<%
vyx45=ffl.vardata("y1xbb45")
vyx23=ffl.vardata("y1xbb23")
vy45=ffl.vardata("y1bb45")
vy23=ffl.vardata("y1bb23")
vatt=ffl.vardata("att4")
ffl.varstartindex("y1xbb45")=vatt
ffl.varstartindex("y1xbb23")=vatt
ffl.varstartindex("y1bb45")=vatt
ffl.varstartindex("y1bb23")=vatt
%>
partline(ahd>0 and ref(ahdh,1)>0 and y1xbb45>ahdl,y1xbb45),linethick1,colorgreen,pointdot;
partline(ahd>0 and ref(ahdh,1)>0 and y1xbb23>ahdl,y1xbb23),linethick1,colorgreen,pointdot;
partline(ahd>0 and ref(ahdh,1)>0 and y1bb45<ahdh,y1bb45),linethick1,colormagenta,pointdot;
partline(ahd>0 and ref(ahdh,1)>0 and y1bb23<ahdh,y1bb23),linethick1,colormagenta,pointdot;
drawnumber(islastbar,y1xbb45,y1xbb45,2),colorgreen,shift1;
stickline(islastbar,y1xbb45,y1xbb45+y1xbb45*0.0001,60,0),colorred,shift3;
y1xbb45x:=y1xbb45[datacount]+y1xbb45[datacount]-y1xbb45[datacount-1];
drawnumber(islastbar,y1xbb45x,y1xbb45x,2),colorwhite,shift3;
drawline(c>1,refx(y1xbb45,1),islastbar,y1xbb45x,0),shift1,colorwhite,linethick1;
drawnumber(islastbar,y1xbb23,y1xbb23,2),colorgreen,shift1;
stickline(islastbar,y1xbb23,y1xbb23+y1xbb23*0.0001,60,0),colorred,shift3;
y1xbb23x:=y1xbb23[datacount]+y1xbb23[datacount]-y1xbb23[datacount-1];
drawnumber(islastbar,y1xbb23x,y1xbb23x,2),colorwhite,shift3;
drawline(c>1,refx(y1xbb23,1),islastbar,y1xbb23x,0),shift1,colorwhite,linethick1;
drawnumber(islastbar,y1bb23,y1bb23,2),colormagenta,shift1;
stickline(islastbar,y1bb23,y1bb23+y1bb23*0.0001,60,0),colorcyan,shift3;
y1bb23x:=y1bb23[datacount]+y1bb23[datacount]-y1bb23[datacount-1];
drawnumber(islastbar,y1bb23x,y1bb23x,2),coloryellow,shift3;
drawline(c>1,refx(y1bb23,1),islastbar,y1bb23x,0),shift1,coloryellow,linethick1;
drawnumber(islastbar,y1bb45,y1bb45,2),colormagenta,shift1;
stickline(islastbar,y1bb45,y1bb45+y1bb45*0.0001,60,0),colorcyan,shift3;
y1bb45x:=y1bb45[datacount]+y1bb45[datacount]-y1bb45[datacount-1];
drawnumber(islastbar,y1bb45x,y1bb45x,2),coloryellow,shift3;
drawline(c>1,refx(y1bb45,1),islastbar,y1bb45x,0),shift1,coloryellow,linethick1;
for i=datacount downto datacount-100 do
begin
if nvhi[i]>0 then btta:=btta+1;
if nvh[i]>0 and btta=2 then btt1:=nvh[i];
if nvh[i]>0 and btta=2 then btt2:=nvl[i];
if nvh[i]>0 and btta=2 then btt3:=nv[i];
if nvh[i]>0 and btta=2 then btt4:=i-2;
if nvh[i]>0 and btta=2 then for j=i-1 to datacount do bhdh[j]:=btt1;
if nvh[i]>0 and btta=2 then for j=i-1 to datacount do bhdl[j]:=btt2;
if nv[i]>0 and btta=2 then for j=i to datacount do bhdnv[j]:=btt3;
if nvh[i]>0 and btta=2 then bhd[i-1]:=0;
if nvh[i]>0 and btta=2 then for j=i to datacount do bhd[j]:=bhd[j-1]+1;
end;
y2xbb45:=if(bhdh>0, ((bhdh-bhdl)/(bhdnv-1))* bhd * tan( 45 * ( 3.14159 ) / 180 ) +bhdl ,l) ,linethick4,colorwhite;
y2xbb23:= if(bhdh>0,((bhdh-bhdl)/(bhdnv-1))* bhd * tan( 26.5659 * ( 3.14159 ) / 180 ) +bhdl ,l) ,linethick4,colorwhite;
y2bb45:=if(bhdh>0, ((bhdh-bhdl)/(bhdnv-1))* bhd * tan( -45 * ( 3.14159 ) / 180 )+ bhdh,l) ,linethick4,colorwhite;
y2bb23:=if(bhdh>0, ((bhdh-bhdl)/(bhdnv-1))* bhd * tan( -26.5659 * ( 3.14159 ) / 180 )+bhdh,l) ,linethick4,colorwhite;
<%
vyx45=ffl.vardata("y2xbb45")
vyx23=ffl.vardata("y2xbb23")
vy45=ffl.vardata("y2bb45")
vy23=ffl.vardata("y2bb23")
vatt=ffl.vardata("btt4")
ffl.varstartindex("y2xbb45")=vatt
ffl.varstartindex("y2xbb23")=vatt
ffl.varstartindex("y2bb45")=vatt
ffl.varstartindex("y2bb23")=vatt
%>
partline(bhd>0 and ref(bhdh,1)>0 and y2xbb45>bhdl,y2xbb45),linethick1,color008800;
partline(bhd>0 and ref(bhdh,1)>0 and y2xbb23>bhdl,y2xbb23),linethick1,color008800;
partline(bhd>0 and ref(bhdh,1)>0 and y2bb45<bhdh,y2bb45),linethick1,colorff66cc;
partline(bhd>0 and ref(bhdh,1)>0 and y2bb23<bhdh,y2bb23),linethick1,colorff66cc;
drawnumber(islastbar,y2xbb45,y2xbb45,2),color008800,shift6;
stickline(islastbar,y2xbb45,y2xbb45+y2xbb45*0.0001,60,0),colorred,shift3;
y2xbb45x:=y2xbb45[datacount]+y2xbb45[datacount]-y2xbb45[datacount-1];
drawnumber(islastbar,y2xbb45x,y2xbb45x,2),colorwhite,shift9;
drawline(c>1,refx(y2xbb45,1),islastbar,y2xbb45x,0),shift1,colorwhite,linethick1;
drawnumber(islastbar,y2xbb23,y2xbb23,2),color008800,shift6;
stickline(islastbar,y2xbb23,y2xbb23+y2xbb23*0.0001,60,0),colorred,shift3;
y2xbb23x:=y2xbb23[datacount]+y2xbb23[datacount]-y2xbb23[datacount-1];
drawnumber(islastbar,y2xbb23x,y2xbb23x,2),colorwhite,shift9;
drawline(c>1,refx(y2xbb23,1),islastbar,y2xbb23x,0),shift1,colorwhite,linethick1;
drawnumber(islastbar,y2bb23,y2bb23,2),colorff66cc,shift6;
stickline(islastbar,y2bb23,y2bb23+y2bb23*0.0001,60,0),colorcyan,shift3;
y2bb23x:=y2bb23[datacount]+y2bb23[datacount]-y2bb23[datacount-1];
drawnumber(islastbar,y2bb23x,y2bb23x,2),coloryellow,shift9;
drawline(c>1,refx(y2bb23,1),islastbar,y2bb23x,0),shift1,coloryellow,linethick1;
drawnumber(islastbar,y2bb45,y2bb45,2),colorff66cc,shift6;
stickline(islastbar,y2bb45,y2bb45+y2bb45*0.0001,60,0),colorcyan,shift3;
y2bb45x:=y2bb45[datacount]+y2bb45[datacount]-y2bb45[datacount-1];
drawnumber(islastbar,y2bb45x,y2bb45x,2),coloryellow,shift9;
drawline(c>1,refx(y2bb45,1),islastbar,y2bb45x,0),shift1,coloryellow,linethick1;
{--------------------------------------------------------------------------------------------------}
for i=datacount downto datacount-100 do
begin
if nvh[i]>0 then ctta:=ctta+1;
if nvh[i]>0 and ctta=3 then ctt1:=nvh[i];
if nvh[i]>0 and ctta=3 then ctt2:=nvl[i];
if nvh[i]>0 and ctta=3 then ctt3:=nv[i];
if nvh[i]>0 and ctta=3 then ctt4:=i-2;
if nvh[i]>0 and ctta=3 then for j=i-1 to datacount do chdh[j]:=ctt1;
if nvh[i]>0 and ctta=3 then for j=i-1 to datacount do chdl[j]:=ctt2;
if nv[i]>0 and ctta=3 then for j=i to datacount do chdnv[j]:=ctt3;
if nvh[i]>0 and ctta=3 then chd[i-1]:=0;
if nvh[i]>0 and ctta=3 then for j=i to datacount do chd[j]:=chd[j-1]+1;
end;
y3xbb45:=if(chdh>0, ((chdh-chdl)/(chdnv-1))* chd * tan( 45 * ( 3.14159 ) / 180 ) +chdl,l) ,linethick4,colorwhite;
y3xbb23:=if(chdh>0, ((chdh-chdl)/(chdnv-1))* chd * tan( 26.5659 * ( 3.14159 ) / 180 ) +chdl,l) ,linethick4,colorwhite;
y3bb45:= if(chdh>0,((chdh-chdl)/(chdnv-1))* chd * tan( -45 * ( 3.14159 ) / 180 )+ chdh,l) ,linethick4,colorwhite;
y3bb23:=if(chdh>0, ((chdh-chdl)/(chdnv-1))* chd * tan( -26.5659 * ( 3.14159 ) / 180 )+chdh,l) ,linethick4,colorwhite;
<%
vyx45=ffl.vardata("y3xbb45")
vyx23=ffl.vardata("y3xbb23")
vy45=ffl.vardata("y3bb45")
vy23=ffl.vardata("y3bb23")
vatt=ffl.vardata("btt4")
ffl.varstartindex("y3xbb45")=vatt
ffl.varstartindex("y3xbb23")=vatt
ffl.varstartindex("y3bb45")=vatt
ffl.varstartindex("y3bb23")=vatt
%>
{partline(chd>0 and ref(chdh,1)>0 and y3xbb45>chdl,y3xbb45),linethick2,colorgreen,pointdot;}
{partline(chd>0 and ref(chdh,1)>0 and y3xbb23>chdl,y3xbb23),linethick2,colorgreen,pointdot;}
{partline(chd>0 and ref(chdh,1)>0 and y3bb45<chdh,y3bb45),linethick2,colormagenta,pointdot;}
{partline(chd>0 and ref(chdh,1)>0 and y3bb23<chdh,y3bb23),linethick2,colormagenta,pointdot;}
{drawnumber(islastbar,y3xbb45,y3xbb45,2),colorred,shift1;}
{stickline(islastbar,y3xbb45,y3xbb45+y3xbb45*0.0001,60,0),colorred,shift3;}
{y3xbb45x:=y3xbb45[datacount]+y3xbb45[datacount]-y3xbb45[datacount-1];}
{drawnumber(islastbar,y3xbb45x,y3xbb45x,2),colorwhite,shift3;}
{drawline(c>1,refx(y3xbb45,1),islastbar,y3xbb45x,0),shift1,colorwhite,linethick1;}
{drawnumber(islastbar,y3xbb23,y3xbb23,2),colorred,shift1;}
{stickline(islastbar,y3xbb23,y3xbb23+y3xbb23*0.0001,60,0),colorred,shift3;}
{y3xbb23x:=y3xbb23[datacount]+y3xbb23[datacount]-y3xbb23[datacount-1];}
{drawnumber(islastbar,y3xbb23x,y3xbb23x,2),colorwhite,shift3;}
{drawline(c>1,refx(y3xbb23,1),islastbar,y3xbb23x,0),shift1,colorwhite,linethick1;}
{drawnumber(islastbar,y3bb23,y3bb23,2),colorcyan,shift1;}
{stickline(islastbar,y3bb23,y3bb23+y3bb23*0.0001,60,0),colorcyan,shift3;}
{y3bb23x:=y3bb23[datacount]+y3bb23[datacount]-y3bb23[datacount-1];}
{drawnumber(islastbar,y3bb23x,y3bb23x,2),coloryellow,shift4;}
{drawline(c>1,refx(y3bb23,1),islastbar,y3bb23x,0),shift1,coloryellow,linethick1;}
{drawnumber(islastbar,y3bb45,y3bb45,2),colorcyan,shift1;}
{stickline(islastbar,y3bb45,y3bb45+y3bb45*0.0001,60,0),colorcyan,shift3;}
{y3bb45x:=y3bb45[datacount]+y3bb45[datacount]-y3bb45[datacount-1];}
{drawnumber(islastbar,y3bb45x,y3bb45x,2),coloryellow,shift4;}
{drawline(c>1,refx(y3bb45,1),islastbar,y3bb45x,0),shift1,coloryellow,linethick1;}
{--------------------------------------------------------------------------------------------------}
for i=datacount downto datacount-100 do
begin
if nvhi[i]>0 then dtta:=dtta+1;
if nvh[i]>0 and dtta=4 then dtt1:=nvh[i];
if nvh[i]>0 and dtta=4 then dtt2:=nvl[i];
if nvh[i]>0 and dtta=4 then dtt3:=nv[i];
if nvh[i]>0 and dtta=4 then dtt4:=i-2;
if nvh[i]>0 and dtta=4 then for j=i-1 to datacount do dhdh[j]:=dtt1;
if nvh[i]>0 and dtta=4 then for j=i-1 to datacount do dhdl[j]:=dtt2;
if nv[i]>0 and dtta=4 then for j=i to datacount do dhdnv[j]:=dtt3;
if nvh[i]>0 and dtta=4 then dhd[i-1]:=0;
if nvh[i]>0 and dtta=4 then for j=i to datacount do dhd[j]:=dhd[j-1]+1;
end;
y4xbb45:= if(dhdh>0, ((dhdh-dhdl)/(dhdnv-1))* dhd * tan( 45 * ( 3.14159 ) / 180 ) +dhdl,l) ,linethick4,colorwhite;
y4xbb23:=if(dhdh>0, ((dhdh-dhdl)/(dhdnv-1))* dhd * tan( 26.5659 * ( 3.14159 ) / 180 ) +dhdl,l) ,linethick4,colorwhite;
y4bb45:= if(dhdh>0, ((dhdh-dhdl)/(dhdnv-1))* dhd * tan( -45 * ( 3.14159 ) / 180 )+ dhdh,l) ,linethick4,colorwhite;
y4bb23:= if(dhdh>0, ((dhdh-dhdl)/(dhdnv-1))* dhd * tan( -26.5659 * ( 3.14159 ) / 180 )+dhdh,l) ,linethick4,colorwhite;
{partline(dhd>0 and ref(dhdh,1)>0 and y4xbb45>dhdl,y4xbb45),linethick4,color00bbff,pointdot;}
{partline(dhd>0 and ref(dhdh,1)>0 and y4xbb23>dhdl,y4xbb23),linethick4,color00bbff,pointdot;}
{partline(dhd>0 and ref(dhdh,1)>0 and y4bb45<dhdh,y4bb45),linethick4,color00bbff,pointdot;}
{partline(dhd>0 and ref(dhdh,1)>0 and y4bb23<dhdh,y4bb23),linethick4,color00bbff,pointdot;}
for i=datacount downto datacount-100 do
begin
if nvhi[i]>0 then etta:=etta+1;
if nvh[i]>0 and etta=5 then ett1:=nvh[i];
if nvh[i]>0 and etta=5 then ett2:=nvl[i];
if nvh[i]>0 and etta=5 then ett3:=nv[i];
if nvh[i]>0 and etta=5 then ett4:=i-2;
if nvh[i]>0 and etta=5 then for j=i-1 to datacount do ehdh[j]:=ett1;
if nvh[i]>0 and etta=5 then for j=i-1 to datacount do ehdl[j]:=ett2;
if nv[i]>0 and etta=5 then for j=i to datacount do ehdnv[j]:=ett3;
if nvh[i]>0 and etta=5 then ehd[i-1]:=0;
if nvh[i]>0 and etta=5 then for j=i to datacount do ehd[j]:=ehd[j-1]+1;
end;
y5xbb45:=if(ehdh>0, ((ehdh-ehdl)/(ehdnv-1))* ehd * tan( 45 * ( 3.14159 ) / 180 ) +ehdl,l) ,linethick4,colorwhite;
y5xbb23:= if(ehdh>0, ((ehdh-ehdl)/(ehdnv-1))* ehd * tan( 26.5659 * ( 3.14159 ) / 180 ) +ehdl,l) ,linethick4,colorwhite;
y5bb45:= if(ehdh>0, ((ehdh-ehdl)/(ehdnv-1))* ehd * tan( -45 * ( 3.14159 ) / 180 )+ ehdh,l) ,linethick4,colorwhite;
y5bb23:= if(ehdh>0, ((ehdh-ehdl)/(ehdnv-1))* ehd * tan( -26.5659 * ( 3.14159 ) / 180 )+ehdh,l) ,linethick4,colorwhite;
{partline(ehd>0 and ref(ehdh,1)>0 and y5xbb45>ehdl,y5xbb45),linethick4,color00bbff,pointdot;}
{partline(ehd>0 and ref(ehdh,1)>0 and y5xbb23>ehdl,y5xbb23),linethick4,color00bbff,pointdot;}
{partline(ehd>0 and ref(ehdh,1)>0 and y5bb45<ehdh,y5bb45),linethick4,color00bbff,pointdot;}
{partline(ehd>0 and ref(ehdh,1)>0 and y5bb23<ehdh,y5bb23),linethick4,color00bbff,pointdot;}
{--------------------------------------------------------------------------------------------------}
hach:=c;
hacl:=c;
hachl:=c;
for i=2 to datacount do
begin
if boxh[i]>0 then mm:=boxh[i];
if boxh[i]>0 then hach[i]:=boxh[i];
if boxh[i]=0 then hach[i]:=mm;
if boxh[i]>0 and boxh[i]<>mm then mm:=boxh[i];
if boxl[i]>0 then mmt:=boxl[i];
if boxl[i]>0 then hacl[i]:=boxl[i];
if boxl[i]=0 then hacl[i]:=mmt;
if boxl[i]>0 and boxl[i]<>mmt then mmt:=boxl[i];
if boxhl[i]>0 then mmu:=boxhl[i];
if boxhl[i]>0 then hachl[i]:=boxhl[i];
if boxhl[i]=0 then hachl[i]:=mmu;
if boxhl[i]>0 and boxhl[i]<>mmu then mmu:=boxhl[i];
end;
partline(boxh=0,hach),linethick2,color0066ff;
partline(boxh=0,hacl),linethick2,colorwhite;
partline(boxh=0,hachl),linethick2,coloryellow;
hha:=c;
hhb:=c;
fcc:=c;
boxhl2:=(boxh+boxl)/2;
boxhl41:=(boxhl2+boxh)/2;
boxhl42:=(boxhl2+boxl)/2;
stickline(islastbar, hachl,hachl+hachl*0.00001,40,1),shift3,coloryellow,linethick2;
drawnumber(islastbar, hachl,hachl,2),shift1,coloryellow;
stickline(islastbar, hacl,hacl+hacl*0.00001,40,1),shift3,colorwhite,linethick2;
drawnumber(islastbar, hacl,hacl,2),shift1,colorwhite;
stickline(islastbar, hach,hach+hach*0.00001,40,1),shift3,color0066ff,linethick2;
drawnumber(islastbar, hach,hach,2),shift1,color0066ff;
bb25:=((boxh-boxl)/(nv-1))*(if(islastbar,hac-1,hac)) * tan( - 26.5659 * ( 3.14159 ) / 180 ) + boxh,linethick0;
partline(ref(bb25,1) <>0 and boxh = ref(boxh,1) and bb25>0 and bb25>boxl-boxl*0.05 ,bb25),linethick1,pointdot,colormagenta;
{drawline(bb25>0 and bb25=boxh and barscount(c)>datacount-45,bb25, bb25>0 and (bb25-boxhl)<0.00001 and barscount(c)>datacount-45,bb25,1),colormagenta,linethick1;}
bb45:= ((boxh-boxl)/(nv-1))*(if(islastbar,hac-1,hac)) * tan( - 45 * ( 3.14159 ) / 180 ) + boxh,linethick0;
partline(ref(bb45,1) <>0 and boxh = ref(boxh,1) and bb45>0 and bb45>boxl-boxl*0.05 ,bb45),linethick1,colormagenta;
{drawline(bb45>0 and bb45=boxh and barscount(c)>datacount-45,bb45, bb45>0 and bb45=boxl and barscount(c)>datacount-45,bb45,1),colormagenta,linethick1;}
{-----------------------------------------}
bb66:((boxh-boxl)/(nv-1))*(if(islastbar,hac-1,hac)) * tan( - 63.435 * ( 3.14159 ) / 180 ) + boxh,linethick0;
partline(ref(bb66,1) <>0 and boxh = ref(boxh,1) and bb66>0 and bb66>boxl-boxl*0.025,bb66),linethick1,pointdot,colormagenta;
xbb23:=((boxh-boxl)/(nv-1))*(if(islastbar,hac-1,hac)) * tan( 26.5659 * ( 3.14159 ) / 180 ) + boxl,linethick0;
partline(xbb23 >0 and xbb23 >boxl and xbb23<boxh+boxh*0.05 ,xbb23),linethick1,pointdot,colorgreen;
{drawline(xbb23>0 and xbb23=boxl and barscount(c)>datacount-45,xbb23,xbb23>0 and (boxhl-xbb23)<0.00001 and barscount(c)>datacount-45,xbb23,1),colorgreen;}
xbb45:=((boxh-boxl)/(nv-1))* (if(islastbar,hac-1,hac)) * tan( 45 * ( 3.14159 ) / 180 ) +boxl,linethick0;
partline(xbb45 >0 and xbb45 >boxl and xbb45<boxh+boxh*0.05 ,xbb45),linethick1,colorgreen;
{drawline(xbb45>0 and xbb45=boxl and barscount(c)>datacount-45,xbb45,xbb45>0 and xbb45=boxh and barscount(c)>datacount-45,xbb45,1),colorgreen,linethick1;}
xbb66:=((boxh-boxl)/(nv-1))*(if(islastbar,hac-1,hac)) * tan( 63.4350 * ( 3.14159 ) / 180 ) + boxl,linethick0;
partline(xbb66 >0 and xbb66 >boxl and xbb66<boxh+boxh*0.025,xbb66),linethick1,pointdot,colorgreen;
ac:=c;
ah:=h;
al:=l;
ao:=o;
stickline(ac>=ao,ah,ac,1,0),color008899;
stickline(ac>=ao,ah,ac,0,0),color77ffee;
stickline(ac>=ao,ao,al,1,0),color008899;
stickline(ac>=ao,ao,al,0,0),color77ffee;
stickline(ac>ao,ac,ao,8,0),color008899;
stickline(ac>ao,ac,ao,7,0),color1199aa;
stickline(ac>ao,ac,ao,6,0),color22aabb;
stickline(ac>ao,ac,ao,5,0),color33bbcc;
stickline(ac>ao,ac,ao,4,0),color44ccdd;
stickline(ac>ao,ac,ao,3,0),color55ddee;
stickline(ac>ao,ac,ao,2,0),color66eeee;
stickline(ac>ao,ac,ao,1,0),color77ffee;
stickline(ac<=ao,ah,ac,1,0),colorff8800;
stickline(ac<=ao,ah,ac,0,0),colorffff33;
stickline(ac<=ao,ao,al,1,0),colorff8800;
stickline(ac<=ao,ao,al,0,0),colorffff33;
stickline(ac<=ao,ac,ao,8,0),colorff8800;
stickline(ac<=ao,ac,ao,7,0),colorff9900;
stickline(ac<=ao,ac,ao,6,0),colorffaa11;
stickline(ac<=ao,ac,ao,5,0),colorffbb11;
stickline(ac<=ao,ac,ao,4,0),colorffcc22;
stickline(ac<=ao,ac,ao,3,0),colorffdd22;
stickline(ac<=ao,ac,ao,2,0),colorffee33;
stickline(ac<=ao,ac,ao,1,0),colorffff33;
上一指标公式:个股诊断器副图指标附实测图下载 通达信源码
下一指标公式:短线杀手短买指标下载 通达信源码
☉ 好公式网发布的指标公式主要用于软件技术面分析,仅供参考,勿用于实际操作,据此操作风险自负!
☉ 解压密码:www.goodgongshi.com 就是好公式网域名,希望大家看清楚,切勿输错。
☉ tnc和tni格式指标公式,仅可以用通达信软件引入使用,例如可以用通达信软件引入使用指标公式;
☉ tne格式指标公式,仅可以用通达信软件公式编辑器5.0版导入,高版本兼容低版本;
☉ fnc格式指标公式,可以用大智慧软件新一代高速行情分析系统股票软件使用,少部分可以用分析家软件引入使用;
☉ alg格式指标公式,仅仅可以用飞狐交易师软件引入使用;exp格式指标公式,仅可以用大智慧经典版软件引入使用;
☉ hxf格式指标公式,仅可以用同花顺软件引入使用。
☉ 如果您发现下载软件链接错误,请联系管理员报告错误。
☉ 好公式网欢迎各位网友帮忙宣传转发本站网址,有您的支持,我们会做得更好!
☉ 本文股票箱画线指标下载 通达信画线仅供学习研究。