公式仅仅弘历软件使用,仅提供源码
【筹码分布】
variable:pv[50]=0,pc[50]=0;
hh:=hhv(high,0);
ll:=llv(low,0);
fv:=vol;
fh:=high;
fl:=low;
p:=sysparam(1);
dd:=(hh[p]-ll[p])/49;
for i=p downto 1 do begin
sh:=(fh-ll[p])/dd+1;
sl:=(fl-ll[p])/dd+1;
dj:=fv/(sh-sl+1);
for j=sl to sh do pv[j]:=pv[j]+dj;
end;
s:=0;
for i=1 to 50 do if s <pv then s:=pv;
bl:=s/(sysparam(3)-sysparam(2))*2;
drawsl(barpos=sysparam(3),sysparam(5),0,pv[1]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd,0,pv[2]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*02,0,pv[03]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*03,0,pv[04]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*04,0,pv[05]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*05,0,pv[06]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*06,0,pv[07]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*07,0,pv[08]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*08,0,pv[09]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*09,0,pv[10]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*10,0,pv[11]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*11,0,pv[12]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*12,0,pv[13]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*13,0,pv[14]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*14,0,pv[15]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*15,0,pv[16]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*16,0,pv[17]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*17,0,pv[18]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*18,0,pv[19]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*19,0,pv[20]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*20,0,pv[21]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*21,0,pv[22]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*22,0,pv[23]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*23,0,pv[24]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*24,0,pv[25]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*25,0,pv[26]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*26,0,pv[27]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*27,0,pv[28]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*28,0,pv[29]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*29,0,pv[30]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*30,0,pv[31]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*31,0,pv[32]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*32,0,pv[33]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*33,0,pv[34]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*34,0,pv[35]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*35,0,pv[36]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*36,0,pv[37]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*37,0,pv[38]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*38,0,pv[39]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*39,0,pv[40]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*40,0,pv[41]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*41,0,pv[42]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*42,0,pv[43]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*43,0,pv[44]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*44,0,pv[45]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*45,0,pv[46]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*46,0,pv[47]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*47,0,pv[48]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*48,0,pv[49]/bl+1,1),COLORGRAY;
drawsl(barpos=sysparam(3),sysparam(5)+dd*49,0,pv[50]/bl+1,1),COLORGRAY;
|