设为首页收藏本站

 找回密码
 注册
查看: 2970|回复: 0
打印 上一主题 下一主题

系统函数Xaverage的Bug [复制链接]

Rank: 3Rank: 3

精华
0
UID
4816
积分
166
帖子
26
主题
8
阅读权限
40
注册时间
2009-7-7
最后登录
2019-3-24
跳转到指定楼层
1#
发表于 2009-9-5 17:06:27 |显示全部楼层 |倒序浏览
// 简称: XAverage
// 名称: 求指数平均
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        NumericSeries Price(10);
        Numeric Length(10);
Vars
        Numeric sFcactor;
        NumericSeries XAvgValue;
Begin
        sFcactor = 2 / ( Length + 1 );
        if (CurrentBar == 0 || XAvgValue[1] == InvalidNumeric)
        {
                XAvgValue = Price;
        }else
        {
                XAvgValue = XAvgValue[1] + sFcactor * ( Price - XAvgValue[1] ) ;
        }       
            Return XAvgValue;
End

在帮助文件中对Xaverage函数的说明中有“当序列值的CurrentBar小于Length时,该函数返回无效值。” 而实际上,当序列值的CurrentBar小于Length时,该函数并不会返回无效值,而是返回Price。这样导致调用该函数的MACD指标在开始的26个bar本应该无数据的,却生成数据,请核实。
前进!
您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-20 22:28

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部