分享

开拓者的函数SMA转换成multicharts的函数

 禁忌石 2011-11-27

简称: SMA
// 名称: 求移动平均
// 类别: 用户函数
// 类型: 内建函数
// 输出: 布尔型
//------------------------------------------------------------------------
Params
NumericSeries Price(1); 
Numeric Length(10);
Numeric Weight(1);
Vars
NumericSeries SMAValue;
Begin
If (CurrentBar == 0)
{
  SMAValue = Price;
}Else
{
  SMAValue = (SMAValue[1]*(Length-Weight)+Price*Weight)/Length;
}
Return SMAValue;
End
请高手将上面开拓者的函数转换成multicharts的函数,谢谢!

****************************************
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值显示正常。请验证一下。
 
**********************************************
问题解决!十分感谢!
 
 
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多