设为首页收藏本站

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

请问如何获得上一根K线对应的ATR? [复制链接]

Rank: 2

精华
0
UID
3193
积分
82
帖子
12
主题
6
阅读权限
30
注册时间
2008-12-30
最后登录
2019-3-30
跳转到指定楼层
1#
发表于 2009-6-9 13:36:15 |只看该作者 |倒序浏览
如题,谢谢

能否将AvgTrueRange的返回值定义为NumericSerial类型,然后通过atr[1]的方式获得?

Rank: 2

精华
0
UID
3193
积分
82
帖子
12
主题
6
阅读权限
30
注册时间
2008-12-30
最后登录
2019-3-30
2#
发表于 2009-6-9 20:03:53 |只看该作者

回复 #1 alper 的帖子

拿一位老兄的ATR函数修改了一下,解决了我的问题

//------------------------------------------------------------------------
// 简称: MyAvgTrueRange
// 名称: 求ATR
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        Numeric Length(0);
Vars
        Numeric A_;
        Numeric B_;
    Numeric C_;
    NumericSeries TR;
    NumericSeries ATR;
    Numeric TEM;

Begin
        A_=H[1]-L[1];
        B_=ABS(C[2]-H[1]);
        C_=ABS(C[2]-L[1]);
        TEM=MAX(A_,B_);
        TR=MAX(TEM,C_);
        ATR=AVERAGE(TR,Length);
        Return ATR;
End

//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2009/06/09 13:38
// 版权所有        dreamsart
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

在交易指令中直接调用MyAvgTrueRange函数,获得的就是当前BAR的前一根BAR的ATR

另外,发现开拓者里自带的AvgTrueRange函数求的值不是标准的ATR啊 ,没有把缺口宽度计算进去哦

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

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

GMT+8, 2024-5-21 00:39

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部