admin 发表于 2016-5-7 12:29:20

这公式无法适用于指数怎么改?

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:=hsl;
   cyc3:=mid;
   dd:=mid*(barpos<100);
   for i=lbound(hsl)+1 to datacount do begin
      ljhs3:=ljhs3*(1-hsl)*(34-1)/34+hsl;
      cyc3:(mid*hsl+cyc3*ljhs3*(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:=hsl;
         cyc3:=mid;
         dd:=mid*(barpos<2);
         for i=2 to datacount do begin
         ljhs3:=ljhs3*(1-hsl)*(34-1)/34+hsl;
         cyc3:(mid*hsl+cyc3*ljhs3*(1-hsl)*(34-1)/34)/ljhs3+d;
         end;

         另建公式
         STKINDI('1A0001','cyc.cyc3',0,6);

页: [1]
查看完整版本: 这公式无法适用于指数怎么改?