[08-10] 精确成本均线
input:n1(4,2,300),n2(10,2,300),n3(30,2,300),n4(60,2,300),n5(120,2,300);
a:if(v=0 or capital=0,(h+l+c)/3,amount/v*0.01),CROSSDOT,LINETHICK2,colorwhite;//计算成本重心
r:=0;
t2:=0;
for i=0 to n1-1 do begin
r:=ppart(i)-ppart(i+1);// 计算第 i 天前的换手率到今天为止还残余多少
t2:=t2+ref(a,i)*r;//累加n1天内按残余换手率为加权系数的加权平均值的分子
end;
mac1a:=t2/(1-ppart(n1));//分母是近期的成本分布
mac1:FORCAST(mac1a,4),LINETHICK2,COLORYELLOW;
r:=0;
t2:=0;
for i=0 to n2-1 do begin
r:=ppart(i)-ppart(i+1);
t2:=t2+ref(a,i)*r;
end;
mac2:=t2/(1-ppart(n2));
r:=0;
t2:=0;
for i=0 to n3-1 do begin
r:=ppart(i)-ppart(i+1);
t2:=t2+ref(a,i)*r;
end;
mac3:=t2/(1-ppart(n3));
r:=0;
t2:=0;
for i=0 to n4-1 do begin
r:=ppart(i)-ppart(i+1);
t2:=t2+ref(a,i)*r;
end;
mac4:=t2/(1-ppart(n4));
r:=0;
t2:=0;
for i=0 to n5-1 do begin
r:=ppart(i)-ppart(i+1);
t2:=t2+ref(a,i)*r;
end;
mac5:t2/(1-ppart(n5));
mac∞:dma(a,v/capital);
M4a:=MA(L,4);
M4:FORCAST(M4a,4);
{精确成本均线
利用飞狐的远期成本分布函数ppart汁算成本,采用的是加权平均的方法:
1. 先计算历史上的换手率到了今天还剩多少。
2. 按剩余的换手率为加权系数来求加权平均值。
3. 每日的成本重心按照真正的成本重心 amount/v/100 来计算。
这样计算的结果应该是最精确的平均持仓成本。}