发新话题
打印

骑兵版主请进

骑兵版主请进

版主你好,里面的向量K棒全对,除了一个圆圈,
我猜可能是分时数据的错误,因为数据有误的那天是11月26日,不是特别的时间切换点,能否再帮忙看一次向量K棒码,谢谢!
附件: 您所在的用户组无法下载或查看附件

TOP

yhcheng你好!
我等会再想个不用循环的公式试试能否成功,一来可以提高公式速度,二来可以2个公式数据比较,你先不要急!

TOP

yhcheng你好!
数据问题我因为数据只有没几天,看了也没发现问题,没招了呀!
但发现如果少某一天数据,在日线上引用该天数据时,就会引用昨天的数据了。
你查查是否这个原因!

公式仔细想了下不用循环我做不出来,因为问题较复杂,要引用未来数据,还要分段计算,在训练模式检查又要正常。只好用全新的思路再做个了,用了一个循环,速度快很多了,请大姐检查有没错误!
复制内容到剪贴板
代码:
n:=240/5;//240代表台湾每天固定的总交易时间,单位分钟!我不清楚就用240先代替了!
hv:=v;hc:=c;
xx:=INTPART((BARPOS-1)/n);
hh:=hhvbars(v,0);q:=DATACOUNT-hh;
y:=BARSLAST(xx<>ref(xx,1))+1;hh1:=hhvbars(v,y);

a:=0*c;b:=0*c;
for i=1 to DATACOUNT do begin
  if xx[i]=0 and DATACOUNT<=n then begin
    a[i]:=hv[q[DATACOUNT]];
      b[i]:=hc[q[DATACOUNT]];
end;
  if xx[i]=0 and DATACOUNT>n then begin
    a[i]:=hv[n-hh[n]];
      b[i]:=hc[n-hh[n]];
end;
  if xx[i]>0 and xx[i]<xx[DATACOUNT] then begin
    a[i]:=hv[(xx[i]+1)*n-hh1[(xx[i]+1)*n]];
      b[i]:=hc[(xx[i]+1)*n-hh1[(xx[i]+1)*n]];
end;
  if xx[i]=xx[DATACOUNT] and xx[i]>0 then begin
    a[i]:=hv[DATACOUNT-hh1[DATACOUNT]];
      b[i]:=hc[DATACOUNT-hh1[DATACOUNT]];
   end;
end;
高V:A;
高C:B;
{RV:STKINDI(STKLABEL,'S5.高V',0,2);
RC:STKINDI(STKLABEL,'S5.高C',0,2);}

TOP

忘说了,昨天的循环套公式第一天用训练模式检查会出现错误的,外表看不出的,
你觉得昨天的公式好,我就再改正错误。

TOP

骑兵版主,旧的对,新的三楼的不对,看图,我再检查原来我的分时数据少一天,难怪向量值与前一天相同,所以旧应该是对的, 除了数据少的那一天,我与别人网站的图比对过都相同,这样可以了,谢谢你

本贴由 yhcheng 于 2005-1-23 23:08 最后编辑

TOP

新的三楼我这里检查数据2个公式一样的,240可能要根据台湾情况改过的,但是三楼公式对数据要求很高,每天K线不能少一跟的,否则会算错了!

TOP

骑兵版主,我用旧的就好,如有发现新错误再说了, 谢谢你

TOP

交流得好。

TOP

xx来了二阿

TOP

来了,我就开心啦,谢谢!

TOP

学习

TOP

发新话题