简称: SMA ****************************************
inputs: price(NumericSeries),lens(NumericSimple),weight(NumericSimple); if currentbar=1 then testSMA=price else begin if lens=0 then testSMA=0 else testSMA= (testSMA[1]*(lens-weight)+price*weight)/lens; end; ******************************************
谢谢版主的帮助!我将函数编译后
inputs: price(NumericSeries),lens(NumericSimple),weight(NumericSimple);
variables:testSMA(price); if currentbar=1 then testSMA=price else begin if lens=0 then testSMA=0 else testSMA= (testSMA[1]*(lens-weight)+price*weight)/lens; end; 上面是SMA函数的脚本 然后计算KD指标的K值。指标脚步如下:
input: Length(9),
SlowLength(3), SmoothLength(3); Vars: HighestValue(0), LowestValue(0), Kvalue(0), Dvalue(0), RSV(0); Begin HighestValue = HighestFC(High, Length); LowestValue = LowestFC(Low, Length); RSV = (Close-LowestValue)/(HighestValue-LowestValue)*100; Kvalue = SMA(RSV,SlowLength,1); Dvalue = SMA(Kvalue,SmoothLength,1); Plot1(Kvalue,"K"); plot2(Dvalue,"D"); plot3(20,"Ref1"); plot4(50,"Ref2"); Plot5(80,"Ref3"); End 计算的k值和d值都是0,请版主帮助再修改一下,辛苦了,十分感激! *******************************************
在程序里改一句 if HighestValue-LowestValue<>0 then
RSV = (Close-LowestValue)/(HighestValue-LowestValue)*100; 你的代码加载以后会提示浮点运算异常,加这句后K,D值显示正常。请验证一下。 **********************************************
问题解决!十分感谢!
|
|
来自: 禁忌石 > 《MultiCharts》