高考前吃什么好:虚拟周成交量公式或者虚拟周成交金额公式

来源:百度文库 编辑:九乡新闻网 时间:2024/03/28 23:33:37
网上有模拟60分钟和日的成交量或者金额的公式,但是一直没有找到能够模拟周成交量的公式。
今天看到一个帖子,受到一点启发。特在此分享编写逻辑和简单的代码,供有需要的人使用。

我们来看看日虚拟成交量的算法:
vvol:=IF(CURRBARSCOUNT=1 AND PERIOD=5,vol*240/FROMOPEN,
STICKLINE(CURRBARSCOUNT=1 AND PERIOD=5,vvol,vol,-1,-1),COLOR00C0C0;
上述的模式算法就是计算开盘到现在已经有多少分钟,然后计算每分钟的成交量,然后乘以每天的
开盘分钟数。因为每天的成交不可能均匀分布,因此,虚拟成交量随着时间的增加,准确性才提高。
然后第二句就是在成交量和虚拟成交量之间画空心的虚柱;
-------------------------------------------
按照这个模式,我们周成交量也可以按照这个逻辑来计算,但是因为函数FROMOPEN只能计算当天的开盘分钟数,
因此,我们需要引入另外的算法:就是以当前的成交量(成交额)除以已经发生的分钟数。
因此,整个虚拟的难点在于怎么得到到目前为止的交易分钟数。通达信提供了WEEKDAY返回星期几的函数。我们
把已经交易过的换算成240分钟×(星期几-1),减1的原因是当前的交易时间要使用动态的FROMOPEN函数计算,
而星期一的时候并没有发生过完整的一天的交易。然后再加上当天的开盘分钟数就可以了。

下面以虚拟成交额为例(除以10000是为了方便显示),本公式可以模拟日和周[实现方法是通过IF函数嵌套实现的]:
=======================
WD:=IF(WEEKDAY<=5,WEEKDAY,1);{返回周几}
WDM:=(WEEKDAY-1)*240+FROMOPEN;{计算本周的开盘分钟数}
当期:AMOUNT/100000,VOLSTICK COLORWHITE ;
VAMO:IF(CURRBARSCOUNT=1 AND PERIOD=5,AMO*240/FROMOPEN/100000,
IF(CURRBARSCOUNT=1 AND PERIOD=6,AMO/WDM*1200/100000,AMO/100000)),NODRAW;
STICKLINE(CURRBARSCOUNT=1 AND PERIOD=5,VAMO,AMO/100000,-1,-1),COLOR00C0C0;{画日的虚拟成交柱}
STICKLINE(CURRBARSCOUNT=1 AND PERIOD=6,VAMO,AMO/100000,-1,-1),COLOR00C0C0;{画周的虚拟成交柱}