看完之后,我已经写了四十段代码了。如果真的有人认真看的话,社会上的人应该都知道基本。今天写的也是纯指标,VHF十字滤线指标,但具体应用我也不清楚。我只是解读它代码的含义,不再去找算法。
这段代码还涉及到三个函数的快速求和,快速最大值和快速最小值,不过都是之前常用的,这里就不再复制代码了。只看VHF源代码,如下:
参数
数字长度(5);//声明数值参数长度,初始值为5。//
变动
数值型tmp value(0);//声明初始值为0的数值变量TmpValue。//
数字VHFValue(0);//声明数值变量VHFValue,初始值为0。//
数字系列CloseChg//声明数值序列变量CloseChg。//
数字SumCloseChg//声明数值变量SumCloseChg。//
开始
If(CurrentBar 0)//如果当前k线位数大于0,只要不是第一根k线。//
{
TmpValue=Abs(HighestFC(Close,Length) - LowestFC(Close,Length));//Abs函数,求绝对值。HighestFC函数返回收盘价和对应的期间,得到最高价;同样,LowestFC函数返回收盘价和相应的周期,以获得最低价。替换相应的值以获得变量TmpValue//
Close chg=Abs(Close-Close[1]);//variable CloseChg=求绝对Abs(当前收盘价-前收盘价)。//
SumCloseChg=summation fc(close chg,Length);//返回变量CloseChg和周期参数Length并求和,然后反馈总值得到变量SumCloseChg值。//
If(SumCloseChg 0)//如果总值不等于0。//
VHF value=tmp value/SumCloseChg;//variable VHF value=variable tmp value/variable SumCloseChg。//
}
PlotNumeric('VHF ',VHF value);//画一条线VHF,值为VHFValue。//
目标
看它的显示范围在0-1之间,波动不明显,也不知道这个指标能不能用,就看TB解读吧。