T:TODAYBAR,NODRAW;
当日成交量:= sum(vol,T);
VARIABLE:AVOL=0;
if TIME<=163000 then
begin
AVOL:=当日成交量;
end;
当日白天成交量:AVOL,NODRAW,NOAXIS;
//计算前N日K线计数和成交量
input:n(10,3,20,1);
回溯天数:N,NODRAW;
VARIABLE:a[n]=0,b[n]=0,d[n]=0;
a[1]:=t;
b[1]:=t;
d[1]:=AVOL;
FOR x=2 to n do
begin
a[x]:=ref(t,b[x-1]);
b[x]:=a[x]+b[x-1];
d[x]:=ref(avol,b[x]-t);
我不太了解,公式回溯中,为什么a[x]:=ref(t,b[x-1]);b[x]:=a[x]+b[x-1];d[x]:=ref(avol,b[x]-t);是这样表述,意义是什么呢?
作用是恒指,测量对比前三天同一时间段的平均量,要求剔除有的只交易半天,有的提前收盘的影响。
我抄的别人的,
T:TODAYBAR,NODRAW;
当日成交量:= sum(vol,T);
VARIABLE:AVOL=0;
if TIME>091500 then
begin
AVOL:=当日成交量;
end;
//计算前N日K线计数和成交量
input:n(10,3,20,1);
回溯天数:N,NODRAW;
VARIABLE:a[n]=0,b[n]=0,d[n]=0;
a[1]:=t;
b[1]:=t;
d[1]:=AVOL;
FOR x=2 to n do
begin
a[x]:=ref(t,b[x-1]);
b[x]:=a[x]+b[x-1];
d[x]:=ref(avol,b[x]-t);
end ;
//判断是否正常交易,并计算成交量
VARIABLE:y=0,vv=0;
for x1=2 to n do
BEGIN
if a[x1]>=375 then
BEGIN
y:=y+1;
vv:=D[X1];
end
if y=3 THEN
begin
BREAK;
end;
end;
A1:VV;
A2:REF(VV,1);
A3:REF(VV,3);
前三个正常交易日平均: (ref(vv,2)+ref(vv,1)+vv)/3,NODRAW,NOAXIS;
量比:AVOL/前三个正常交易日平均,NODRAW;
放量:AVOL>=1.2*前三个正常交易日平均,colorred;
平量: AVOL>=0.8*前三个正常交易日平均 and AVOL<1.2*前三个正常交易日平均,COLORWHITE;
缩量: AVOL<0.8*前三个正常交易日平均,COLORGREEN;
不过公式都是错的,那个VV,ref(vv,1)和ref(vv,2)数字都对不上,你看看哪里有问题???
那个是回测,如果你要写和之前三天同一时间平均成交量的对比,你怎么写呢?
以下是引用孔一在2017-3-3 16:00:46的发言:
你有那个回测前几天的成交量对比的源码吗?
没有,