hsl:=if(capital=0,VOL/sum(VOL,100),VOL/capital);{换手率}
if capital=0 then begin
hsl:=VOL/sum(VOL,100);
a:=setlbound(hsl,1);
for i=1 to min(100-1,datacount) do hsl:=0;
end;
ljhs3[1]:=hsl[1];
cyc3[1]:=mid[1];
dd:=mid[1]*(barpos<100);
for i=lbound(hsl)+1 to datacount do begin
ljhs3:=ljhs3[i-1]*(1-hsl)*(34-1)/34+hsl;
cyc3 mid*hsl+cyc3[i-1]*ljhs3[i-1]*(1-hsl)*(34-1)/34)/ljhs3+dd;
end;
正确答案:
可以这样代入原公式
mid:=( "1a0001$open"+"1a0001$CLOSE")/2; {均价}
vola:= "1a0001$vol";
VOL - - - >vola
但是指数无capital值,所这公式无法适用于指数
正确答案:
这样或许好些
mid:=(o+C)/2; {均价}
t:=if(BARPOS<100,BARPOS,100);
hsl:=if(capital=0,V/sum(V,t),V/capital);{换手率}
if capital=0 then begin
hsl:=V/sum(V,t);
for i=1 to min(100-1,SYSPARAM(3)) do hsl:=0;
end;
ljhs3[1]:=hsl[1];
cyc3[1]:=mid[1];
dd:=mid[1]*(barpos<2);
for i=2 to datacount do begin
ljhs3:=ljhs3[i-1]*(1-hsl)*(34-1)/34+hsl;
cyc3 mid*hsl+cyc3[i-1]*ljhs3[i-1]*(1-hsl)*(34-1)/34)/ljhs3+d;
end;
另建公式
STKINDI('1A0001','cyc.cyc3',0,6);
|