期货软件TB系统源代码解读系列28-RVI

写了半天,还以为指标差不多写完了,谁知道,仔细一看,还有很多没见过的,或者没听过的指标。就今天要写的RVI,TB系统叫相对波动指标,百度叫相对活力指数指标,我是真没接触过。回想第一次做交易,也就只会看看移动均线跟MACD,没办法,这是每个图表一般都自带的,依据这两来来回回做了一年多,不亏不赢,把心里憋的难受。从那时起就研究各个指标了,但也没发现有这么多指标的,研究半天,交易结果也还是这样。最后没办法,听说程序化交易不错,又来这研究怎么做程序化,这才慢慢了解了什么是盈亏比,什么是成功率,还有什么风险的,发现了还是利用概率来比较适合我的操作风格。比如成功率25%,盈亏比1:3,结果就不错了。找到了适合自己的交易方法,这结果才慢慢好起来的。

算了,又墨迹半天,还是来说这RVI指标吧,这指标涉及两函数,一个是求标准差函数StandardDev,另一个是估计方差函数VariancePS。这两个在解说Bool时,都已详细解读过了,现在也不再重复了,我直接把代码附下面了。

第一个估计方差函数VariancePS,代码如下:

Params

NumericSeries Price(1);

Numeric Length(10);

Numeric DataType(1);

Vars

Numeric Divisor;

Numeric SumSqr(0);

Numeric Mean;

Numeric i;

Begin

Divisor = Length-1;

If(DataType==1)

Divisor = Length;

If(Divisor > 0)

{

Mean = Average(Price, Length);

for i = 0 to Length – 1

{

SumSqr = SumSqr + Sqr( Price[i] – Mean ) ;

}

Return SumSqr / Divisor ;

}Else

{

Return 0;

}

End

第二个求标准差函数StandardDev,代码如下:

Params

NumericSeries Price(1);

Numeric Length(10);

Numeric DataType(1);

Vars

Numeric VarPSValue;

Begin

VarPSValue = VariancePS(Price, Length, DataType);

If (VarPSValue > 0)

{

Return Sqrt(VarPSValue);

}Else

{

Return 0;

}

End

最后就是真正的RVI指标代码了,解读如下:

Params

Numeric StdLength(10);//声明数值参数StdLength,初值为10.//

Numeric Length(14); //声明数值参数Length,初值为14.//

Numeric MidLine(50);//声明数值参数MidLine,初值为50。//

Vars

Numeric StdValue;//声明数值变量StdValue。//

Numeric RVIUp;//声明数值变量,RVIUp。//

Numeric RVIDn;//声明数值变量RVIDn。//

Numeric RVIValue(50);//声明数值变量RVIValue,初值为50.//

Begin

StdValue = StandardDev(Close, StdLength);//把收盘价,参数StdLength返回求标准差函数StandardDev求值,所得值返回来赋值给变量StdValue。//

RVIUp = AverageFC(IIF(C>Close[1],StdValue,0),Length);//这先判断IIF里的,假如当前收盘价大于前一个k线收盘价成立,则取变量StdValue值,否则,取0。判断完这,再把值,跟参数Length值,返回求快速均值函数AverageFC求值,所得值就是变量RVIUp值了。//

RVIDn = AverageFC(IIF(C<Close[1],StdValue,0),Length);//这句解读同上。//

If(RVIUp + RVIDn <> 0)//假如变量RVIUp + 变量RVIDn不等于0.//

RVIValue = RVIUp/(RVIUp + RVIDn) * 100 ;//把上面求得的值直接代入公式了,这就可以算出真正变量RVIValue值了。//

PlotNumeric(“RVI”,RVIValue);//画线RVI线,值为变量RVIValue值。//

PlotNumeric(“中轴线”,MidLine);//画中轴线,值为50了。//

End

百度了一下,相对活力指数RVI的研判方法:

1、当RVI大于50时,可以买入。

2、当RVI小于50时,可以卖出。

3、RVI指标一般作为辅助指标使用。

这指标都说是当成辅助指标使用了,辅助意思就是要有一个主系统,再用这指标辅助判断了。在这我也就不写什么程序化交易代码了,因为我基本不认识这个指标的,写出来也没什么意思的。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月6日
下一篇 2018年7月6日

相关推荐