uoc是什么意思

2024-09-22 百科达人 阅读 投稿:本站作者

UOC即终极摆动指标,百度一下,你会发现介绍里写它的功能很强大,而且有一套很明确的买卖系统,当然,我这里只解读它代码的意思,至于它的买卖规则到底行不行的通,要是有人喜欢这个指标,就自己测试了。

至于它的算法,意思是这样的,先找出三个周期不同的振荡指标,再将这些周期参数,按照反比例的方式,制作成常数因子。然后,依照加权的方式,将三个周期不同的振荡指标,分别乘以不同比例的常数,加以综合制作成UOS指标。

看这个具体代码前,先说下它涉及到的函数有四个,当然这四个我之前都已经解读过一遍了,这里也不再重复了,就是复制在下边,方便大家看了理解。

第一个,求真实范围函数TrueRange,代码如下:

Begin

If(CurrentBar == 0)

Return High - Low;

Else

Return TrueHigh - TrueLow;

End

第二个,求真实高点函数TrueHigh,代码如下:

Vars

Numeric THighValue;

Begin

THighValue = Close[1];

If(High >= Close[1])

THighValue = High;

Return THighValue;

End

第三个不用说了,就是求真实低点函数TrueLow,如下:

Vars

Numeric TLowValue;

Begin

TLowValue = Close[1];

If(Low <= Close[1])

TLowValue = Low;

Return TLowValue;

End

第四个,快速求和函数SummationFC,如下:

Params

NumericSeries Price(1);

Numeric Length(10);

Vars

NumericSeries SumValue(0);

Numeric i;

Begin

If(CurrentBar < Length)

{

SumValue = 0;

for i = 0 to Length - 1

{

SumValue = SumValue + Price[i];

}

}Else

{

SumValue = SumValue[1] + Price - Price[Length];

}

Return SumValue;

End

有了这四个函数,我们看具体代码时,只要一看到它们,就是返回到这个函数来求值了,现在看UOC的具体代码及解读如下:

Params

Numeric FastLength( 7 );//声明数值参数FastLength,初值为7,即用来求快速移动了。//

Numeric MidLength( 14 );//声明数值参数MidLength,初值为14,即求中速移动。//

Numeric SlowLength( 28 ) ;//声明数值参数SlowLength,初值为28,即求慢速移动。//

Vars

Numeric Factor1( 0 ); //声明数值变量Factor1,初值为0,即系数因子1了。//

Numeric Factor2( 0 ) ;//声明数值变量Factor2,初值为0,即系数因子2。//

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

Numeric Value2;//声明数值变量Value2.//

Numeric Value3;//声明数值变量Value3.//

Numeric Value4;//声明数值变量Value4.//

Numeric Value5; //声明数值变量Value5.//

Numeric Value6;//声明数值变量Value6.//

Numeric Value7;//声明数值变量Value7.//

Numeric Value8;//声明数值变量Value8.//

Numeric Value9;//声明数值变量Value9.//

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

Begin

Value1 = SummationFC( TrueRange, FastLength ) ;//意思就是快速求出5个周期内价格真实波动值的总和,把总和值赋值给变量Value1了。//

Value2 = SummationFC( TrueRange, MidLength ) ;//改变周期,同上解读。//

Value3 = SummationFC( TrueRange, SlowLength ) ;//改变周期,同上解读。//

Value4 = SummationFC( Close - TrueLow, FastLength ) ;//这个多了一步计算,但意思一样的,就是快速求出5个周期内以收盘价减去真实低点的波动值的总和,把总和赋值给变量Value4.//

Value5 = SummationFC( Close - TrueLow, MidLength ) ;//改变周期,同上解读。//

Value6 = SummationFC( Close - TrueLow, SlowLength ) ;//改变周期,同上解读。//

If( Value1 == 0 Or Value2 == 0 Or Value3 == 0 )//假如变量Value1等于0,或者变量Value2等于0,或者变量Value3等于0,这三个中只要有一个条件成立,就立即执行下列花括号代码。//

{

UOCValue = 0;//变量UOCValue =0 //

}Else//就是上面三个条件都不成立的情况下,执行下列代码。//

{

Factor1 = SlowLength / FastLength ;//代入相应参数,即系数因子Factor1 =28 / 7 了. //

Factor2 = SlowLength / MidLength ;//代入相应参数,系数因子Factor2 = 28 / 14了。//

Value7 = ( Value4 / Value1 ) * ( Factor1 ) ;//根据上面求得的值,代入相应数值,即可求出变量Value7的值了。//

Value8 = ( Value5 / Value2 ) * ( Factor2 ) ;//同上,代入相应值即可。//

Value9 = ( Value6 / Value3 ) ;//同上,代入相应值即可。//

UOCValue = ( Value7 + Value8 + Value9 ) / ( Factor1 + Factor2 + 1 ) ;//同理的,把求得的三个变量与两个系数因子代入,即可求得UOCValue值了。//

}

PlotNumeric(\"UOC\",UOCValue);//画线UOC线,值为UOCValue值了。//

End

代码其实不难的,只要知道了算法,根据算法写上相应代码,一步步执行下来,只要把相应的值先求出,后边的也就一点点把值求出来了。

声明:闻科网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系756005163@qq.com