- 精华
- 0
- 在线时间
- 174 小时
- UID
- 117185
- 积分
- 220
- 帖子
- 68
- 阅读权限
- 40
- 注册时间
- 2013-3-21
- 最后登录
- 2015-6-2
- 精华
- 0
- UID
- 117185
- 积分
- 220
- 帖子
- 68
- 主题
- 10
- 阅读权限
- 40
- 注册时间
- 2013-3-21
- 最后登录
- 2015-6-2
|
FIERY 发表于 2012-11-6 10:38
追涨杀跌老师,我试着做的MtAMA,在调用时发现日线的AMA和其它周期里显示的AMA值不同,您帮我看一下哪里出 ...
你没搞清楚如何调用大周期的数据。这是你想要的MtAMA。- //------------------------------------------------------------------------
- // 简称: MtAdaptiveMovAvg
- // 名称: 求大周期的卡夫曼自适应移动平均
- // 类别: 用户函数
- // 类型: 内建函数
- // 输出: 数值型
- //------------------------------------------------------------------------
- Params
- Numeric TimeFrame(1440); // 目标时间周期参数,参数说明参见MtBar
- Numeric BarsBack(1); // 目标时间周期BAR偏移参数,说明见MtBar函数
- Numeric EffRatioLength(10);
- Numeric FastAvgLength(2);
- Numeric SlowAvgLength(30);
- NumericRef oAMAValue;
- Vars
- NumericSeries mtBarCnt;
- NumericSeries mtClose;
- NumericSeries mtCurBar;
- Numeric refCurBar;
- Numeric refOpen;
- Numeric refHigh;
- Numeric refLow;
- Numeric refClose;
- Numeric refVol;
- Numeric refOpenInt;
- Numeric NetChg(0);
- Numeric TotChg(0);
- Numeric EffRatio(0);
- Numeric ScaledSFSqr(0);
- Numeric SFDiff;
- Numeric j;
- Numeric i;
- NumericSeries AMAValue;
-
- Begin
- mtBarCnt = MtBar(TimeFrame,BarsBack,refCurBar,refOpen,refHigh,refLow,refClose,refVol,refOpenInt);
- mtCurBar = refCurBar;
- mtClose = refClose;
-
- j = MtRef(mtBarCnt,EffRatioLength);
- i = MtRef(mtBarCnt,1);
- NetChg = Abs( mtClose - mtClose[j] );
- TotChg = MtSummation(Abs( mtClose -mtClose[i] ),mtBarCnt,EffRatioLength);
-
- if (MtCurBar == 0 || AMAValue[mtBarCnt] == InvalidNumeric)
- {
- AMAValue = mtClose;
- }Else
- {
- 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 * ( mtClose - AMAValue[1] );
- }
- oAMAValue = AMAValue;
- Return mtBarCnt;
- End
- //------------------------------------------------------------------------
- // 编译版本 GS2010.12.08
- // 版权所有 TradeBlazer Software 2003-2010
- // 更改声明 TradeBlazer Software保留对TradeBlazer平
- // 台每一版本的TradeBlazer公式修改和重写的权利
- //------------------------------------------------------------------------
复制代码 |
|