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);}