股资源-股票学习站-学炒股-股票课程-炒股教程-分析选股指标-入门基础知识

 找回密码
 注册昵称

QQ登录

只需一步,快速开始

搜索
上一主题 下一主题

[通达信] 股票箱画线


    [-----复制链接-----]
楼主
 通达信源码安装路径:1,工具栏点击公式选项。2,弹出公式窗口点击新建。3,把源码复制到指标编辑器保存。4,回到K线图界面安装建立好的公式 || 2024-3-9 14:07:50
股票箱画线介绍

股票箱画线

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 then begin
buy:=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 then begin
if lc>2 then begin
if bb>=fl then begin
sell:=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:=fh[i-hc];
boxl:=fl[i-lc];
end;
end;
hc:=hc+1;
if lc>1 then begin
if bb<fl 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 then begin
lc:=lc+1;
end else lc:=0;
end;
if lc=0 and hc>1 then begin
bb:=fl;
lc:=lc+1;
end;
end else begin hc:=0; lc:=0; end;
end else
if hc=1 then begin
if bt>fh then
hc:=hc+1
else begin hc:=0;lc:=0; end;
end;
if hc=0 then begin
bt:=fh;
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 >0 and (boxh <>boxh[i-1] or boxl <>boxl[i-1]) then hac:=0;
if boxh[i-1]>0 and boxh >0 and (boxh <>boxh[i-1] or boxl <>boxl[i-1]) then hac:=0;
if boxh[i-1]>0 and boxh >0 and boxh =boxh[i-1] and boxl <>boxl[i-1] then hac:=0;

if boxh[i-1]>0 and boxh >0 and boxh =boxh[i-1] and boxl =boxl[i-1] then hac:=ha;
if boxh[i-1]>0 and boxh >0 and boxh =boxh[i-1] and boxl <>boxl[i-1] then hac:=ha;
if boxh[i-1]>0 and boxh >0 and boxh =boxh[i-1] and boxh[i-2]=boxh[i-1] then hac:=hac[i-1]+ha;

if boxh[i-1]>0 and boxh=0 then hac:=0;
if boxh[i-1]=0 and boxh=0 then hac:=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:=0;
nvhi:=0;
nvl:=0;
nvli:=0;
end;
for i=2 to datacount do
begin

if hac[i-1] =0 and hac>0 then kk:=i-1;
if hac[i-1] >0 and hac>0 then llt:=i-1;
if hac[i-1] >0 and hac>0 then for j=kk to llt do nv[j]:=hac+1;
if hac[i-1] =0 and hac>0 then nvhi:=i;
if hac[i-1] =0 and hac>0 then nvh:=boxh;
if hac[i-1] =0 and hac>0 then nvl:=boxl;

if hac[i-1] >0 and hac=0 then ll:=i-1;
if hac[i-1] >0 and hac=0 then for j=kk to ll do nv[j]:=hac[i-1]+1;
if hac[i-1] >0 and hac=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>0 then atta:=atta+1;
if nvh>0 and atta=1 then att1:=nvh;
if nvh>0 and atta=1 then att2:=nvl;
if nvh>0 and atta=1 then att3:=nv;
if nvh>0 and atta=1 then att4:=i-2;
if nvh>0 and atta=1 then for j=i-1 to datacount do ahdh[j]:=att1;
if nvh>0 and atta=1 then for j=i-1 to datacount do ahdl[j]:=att2;
if nv>0 and atta=1 then for j=i to datacount do ahdnv[j]:=att3;
if nvh>0 and atta=1 then ahd[i-1]:=0;
if nvh>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>0 then btta:=btta+1;
if nvh>0 and btta=2 then btt1:=nvh;
if nvh>0 and btta=2 then btt2:=nvl;
if nvh>0 and btta=2 then btt3:=nv;
if nvh>0 and btta=2 then btt4:=i-2;
if nvh>0 and btta=2 then for j=i-1 to datacount do bhdh[j]:=btt1;
if nvh>0 and btta=2 then for j=i-1 to datacount do bhdl[j]:=btt2;
if nv>0 and btta=2 then for j=i to datacount do bhdnv[j]:=btt3;
if nvh>0 and btta=2 then bhd[i-1]:=0;
if nvh>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>0 then ctta:=ctta+1;
if nvh>0 and ctta=3 then ctt1:=nvh;
if nvh>0 and ctta=3 then ctt2:=nvl;
if nvh>0 and ctta=3 then ctt3:=nv;
if nvh>0 and ctta=3 then ctt4:=i-2;
if nvh>0 and ctta=3 then for j=i-1 to datacount do chdh[j]:=ctt1;
if nvh>0 and ctta=3 then for j=i-1 to datacount do chdl[j]:=ctt2;
if nv>0 and ctta=3 then for j=i to datacount do chdnv[j]:=ctt3;
if nvh>0 and ctta=3 then chd[i-1]:=0;
if nvh>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>0 then dtta:=dtta+1;
if nvh>0 and dtta=4 then dtt1:=nvh;
if nvh>0 and dtta=4 then dtt2:=nvl;
if nvh>0 and dtta=4 then dtt3:=nv;
if nvh>0 and dtta=4 then dtt4:=i-2;
if nvh>0 and dtta=4 then for j=i-1 to datacount do dhdh[j]:=dtt1;
if nvh>0 and dtta=4 then for j=i-1 to datacount do dhdl[j]:=dtt2;
if nv>0 and dtta=4 then for j=i to datacount do dhdnv[j]:=dtt3;
if nvh>0 and dtta=4 then dhd[i-1]:=0;
if nvh>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>0 then etta:=etta+1;
if nvh>0 and etta=5 then ett1:=nvh;
if nvh>0 and etta=5 then ett2:=nvl;
if nvh>0 and etta=5 then ett3:=nv;
if nvh>0 and etta=5 then ett4:=i-2;
if nvh>0 and etta=5 then for j=i-1 to datacount do ehdh[j]:=ett1;
if nvh>0 and etta=5 then for j=i-1 to datacount do ehdl[j]:=ett2;
if nv>0 and etta=5 then for j=i to datacount do ehdnv[j]:=ett3;
if nvh>0 and etta=5 then ehd[i-1]:=0;
if nvh>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>0 then mm:=boxh;
if boxh>0 then hach:=boxh;
if boxh=0 then hach:=mm;
if boxh>0 and boxh<>mm then mm:=boxh;

if boxl>0 then mmt:=boxl;
if boxl>0 then hacl:=boxl;
if boxl=0 then hacl:=mmt;
if boxl>0 and boxl<>mmt then mmt:=boxl;

if boxhl>0 then mmu:=boxhl;
if boxhl>0 then hachl:=boxhl;
if boxhl=0 then hachl:=mmu;
if boxhl>0 and boxhl<>mmu then mmu:=boxhl;
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;




 



gd18855

回复

举报

QQ|

GMT+8, 2024-10-9 00:51

快速回复 返回顶部 返回列表