金字塔有没有根据当日分时成交量,模拟计算出当日成交量的函数,或者如何通过编写公式达到上述目的,当然模拟毕竟是模拟,希望尽可能的接近真实。
1、把日内交易时间平均分成N(n1,n2,n3,n3,n4,n5-----)个时间段;
2、取前M日n1时间段的成交量均值K,如在n2时间段,则取n+n2段成交量均值,以此类推累加;
3、取当日成交额V除K,得到量比L;
4、模拟日成交量=前M日成交量均值*L;
2、取前M日n1时间段的成交量均值K,如在n2时间段,则取n+n2段成交量均值,以此类推累加;
这段举例说明一下
当然只需要模拟计算得到最后一天的成交量,已完成的交易日已经有真实成交量了,就是希望当日交易时间还没结束时,模拟得到当日交易结束时的成交量,模拟成交量虽然不可能很准确,但是希望逐步逼近,越接近交易结束时间越接近真实值。
下面这个也是计算模拟成交量的,但是思路是当日成交量乘以已交易时间,结果早盘阶段差距太大
avol:vol,volstick;
mavol5:=ema(avol,5);
mavol15:=ema(avol,15);
mavol30:=ema(avol,30);
时间:=CURRENTTIME/10000;
a1:=if(时间>=9.3000 and 时间<=9.5959,1,0);
a2:=if(时间>=10.0000 and 时间<=10.2959,1,0);
a3:=if(时间>=10.3000 and 时间<=10.5959,1,0);
a4:=if(时间>=11.0000 and 时间<=11.3000,1,0);
上午休息:=if((时间>11.3000 and 时间<13.0000),1,0);
aa:=if(时间>=13.0000 and 时间<=15.0000,1,0);
下午:=if(aa=1,INTPART(时间)-13,0);
下午休息:=if((时间>15.0000 and 时间<24.0000),1,0);
时:=if(a1=1,0,
if(a2=1,1800,
if(a3=1,3600,
if(a4=1,5400,
if(aa=1,下午*3600+7200,
if(上午休息=1,7200,
if(下午休息=1,14400,0)))))));
aaa:=INTPART(FRACPART(时间)*100);
分:=if(a1=1,(aaa-30)*60,
if(a2=1,aaa*60,
if(a3=1,(aaa-30)*60,
if(a4=1,aaa*60,
if(aa=1,aaa*60,
if(上午休息=1,0,
if(下午休息=1,0,0)))))));
秒:=if((时间>=9.3000 and 时间<=11.3000) or (时间>=13.0000 and 时间<=15.0000),
FRACPART(FRACPART(时间)*100)*100,0);
现在用时:=时+分+秒;
模拟量:if(vol=DYNAINFO(8),14400/现在用时*avol,0),COLORSTICK;