冰凌mini双刃风方向:卡夫曼自适应移动平均TB源代码

来源:百度文库 编辑:偶看新闻 时间:2024/04/17 02:23:42

卡夫曼自适应移动平均TB源代码

(2011-10-17 10:06:51) 转载标签:

卡夫曼

自适应移动

平均

tb

源代码

杂谈

分类: 编程相关 //------------------------------------------------------------------------
// 简称: AdaptiveMovAvg
// 名称: 求卡夫曼自适应移动平均
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
    NumericSeries Price(1);
    Numeric EffRatioLength(10);
    Numeric FastAvgLength(2);
    Numeric SlowAvgLength(30);
Vars
    Numeric NetChg(0);
    Numeric TotChg(0);
    Numeric EffRatio(0);
    Numeric ScaledSFSqr(0);
    NumericSeries AMAValue;    
    Numeric SFDiff;
Begin
    if(CurrentBar == 0)
    {
        AMAValue = Price;
    }Else
    {
        NetChg = Abs( Price - Price[EffRatioLength] );
        TotChg = Summation( Abs( Price - Price[1] ), EffRatioLength );        
        EffRatio = IIF(TotChg > 0, NetChg / TotChg, 0);
        SFDiff = 2 / ( FastAvgLength + 1 ) - 2 / ( SlowAvgLength + 1 );        
        ScaledSFSqr = Sqr( 2 / ( SlowAvgLength + 1 ) + EffRatio * SFDiff );        
        AMAValue = AMAValue[1] + ScaledSFSqr * ( Price - AMAValue[1] );
    }
    Return AMAValue;
End

//------------------------------------------------------------------------
// 编译版本    GS2010.12.08
// 版权所有    TradeBlazer Software 2003-2010
// 更改声明    TradeBlazer Software保留对TradeBlazer平
//            台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------