今天本来要上课,贪玩了点,逃课了!心里自责,就拿传统的指标vr出出气。
一 vr指标的算法回归
飞狐中的vr算法是这样的:
LC:=REF(CLOSE,1);
SUM(IF(CLOSE>LC,VOL,0),N)/SUM(IF(CLOSE<=LC,VOL,0),N)*100
这样用没什么不好,但我还是想回归他的原始算法,原始算法写成公式是这样的:
LC:=REF(CLOSE,1);
av:=if(c>lc,v,0);
bv:=if(c<lc,v,0);
cv:=if(c=lc,v,0);
avs:=sum(av,26);
bvs:=sum(bv,26);
cvs:=sum(cv,26);
vvr:100*(avs+0.5*cvs)/(bvs+0.5*cvs);
很显然,两个算法的不同就是对今天和昨天收盘价收盘价相等的特殊情况作了不同的处理。
在实际中,两天收盘价相等的情况是很常发生的,所有我感觉把这种情况单独出理是更合理一些的。
图1
二 vr的一些特点
从算法看vr表达的是对成交量的异动率,即周期内上涨的成交量和与下跌周期内的成交量和的比的表达
。实际中看,这个指标的表现并不是很好(可能是我不会用),当作成交量的替代品看,缺乏直观性,当作数
值类的指标他又缺乏数值上的特性,由于直接运用成交量,使得对不同股票有效的值不相同,所以不好像kd那
样固定在20或十几以下判断位置。图2,图3
但vr算法又有几个很大的优点:一是思路明确,把上涨的成交量和下跌的区分出来,体现成交量在不同环境
下的不同,这一点很重要,后来成为我改造的入手点。二是这个线有很强的敏感性,对特殊点的判断总要快一
些。图4
三 改造
刚开始我想用数值来确定买卖点,即在图上定数值,高于某一数值为危险期,低于某一数值为底部,但是由
于上面我讲的vr的特点,我失败了。用书上写的几个数值350-400和<40的试验如图。图5,图6
后来我想到了用vr的变化率。这样写的:
vvr2:100*vvr/sum(vvr,3)
如图7,效果一般,对逃顶有一定用处,我又想:此时是vr的变动率,应该对大多数个股而言都有相近的特征
值吧,于是又用特征值来分指标,失败了,图就不抓了。转而用均线的方法看看有没有特征,写了如下语句:
pp1:ma(hhv(pp,15),5);
pp2:ma(llv(pp,15),5);
图8
效果有改进,起码看起来更明确一些,应该说,改造到了这一步,当初想指示明确,好看的目的基本达到了
。不过这时我又考虑到了一个问题:
就是筹码的问题,既然筹码跟成交量有关,那么这个成交量的指标能不能通过改造来指示筹码呢?
四 思考
对中国股市而言,下跌是不能获利的,我们可以把上涨的成交量看成推动量,而下跌的成交量看成获利量,
在这里我们把割肉也看成获利,那么,对价格而言,推动的成交量积累越大,股价上涨的可能性越大,一天,
当推动量少而转变成获利量时,股价有可能继续上升,但此时已不是有力推动,而是惯性,物理上讲是速度大
于0而加速度小于0,到了获利量积累到了一定程度,股价下跌,此时是速度和加速度都小于0。如果我们能把获
利量和推动量直观的表达,那么价格的变化我们应该能看到!那成交量是交易量v吗?我觉得不是这样的,交易
量应该只是一个表达数值而已,他反映的是事实的本身,而不是事实的变化过程,而我们要的应该是变化的过
程,很简单,成交量的变化应该可以反映。
五 成形
说干就干。vr的公式框架很好,上面的问题他的公式算法本身已解决不少,我要做的就是完善:
1 写成交量的划分和变化
LC:=REF(CLOSE,1);
av:=if(c>o,v/ref(v,1),0);
bv:=if(c<o,v/ref(v,1),0);
cv:=if(c=o,v/ref(v,1),0);
avs:=sum(av,26);
bvs:=sum(bv,26);
cvs:=sum(cv,26);
2写成交量的推动和获利:
vvr2:=100*(avs+0.5*cvs)/(bvs+0.5*cvs);
vvr3:=10000/vvr2;
3用柱线表达
图9 10
好不容易写完了,源码都在这了,大家自己自己组合就成了,另外我按相同思路写了个
价格vr,大家一看,基本东西就出来了,直接用的话我发飞狐公式。
众所周知的原因,我还是加密,大家如果组合有困难可以直接用,无时限。
实在是需要源码的朋友,我提供!不卖钱就行!
如果那位朋友看的起转贴的话,请写上作者名就可以了!
要看球了,下次再改造一个!88
http://bbs.macd.cn/viewthread.php?tid=586100&extra=page%3D1