设为首页收藏本站

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

nopain实现的海龟交易系统的N是否有误? [复制链接]

高级大户

小马哥

Rank: 7Rank: 7Rank: 7

精华
0
UID
3496
积分
3531
帖子
98
主题
9
阅读权限
80
注册时间
2009-2-11
最后登录
2015-11-26
跳转到指定楼层
1#
发表于 2009-5-26 10:21:49 |只看该作者 |倒序浏览
参考链接:http://www.tradeblazer.net/forum/thread-154-1-1.html

疑点1:nopain在2楼讲到“N就是TR(True Range,实际范围)的20日指数移动平均,现在更普遍地称之为ATR。”,而实际代码中用的不是指数移动平均是简单移动平均。
疑点2:nopain在113楼讲到“总共20个周期,前面19个周期的权重为19,最后一个权重为20-1,这个算法其实就是简单移动平均!”这句话应该是错误的。
原因如下:
海龟交易法原文为:
True Range=Maximum(H-L,H-PDC,PdC-L)

where:
H-Current High
L-Current Low
PDC-Previous Day's Close

N=(19*PDN+TR)/20

where:
PDN-Previous Day's N
TR-Current Day's True Range

根据这段话,我们建立一个指标:
Vars
        NumericSeries ATR;
        NumericSeries ATR0;
Begin
        ATR = AvgTrueRange(20);
        PlotNumeric("ATR",ATR);

        if(CurrentBar <= 19)
        {
        ATR0 = ATR;
        }
        If(CurrentBar > 19)
        {
        ATR0 = (19*ATR0[1]+TrueRange)/20;
        }
        PlotNumeric("ATR0",ATR0);
End
从图中可以明显的看到海龟使用的ATR0因为是加权计算的,比nopain使用的更平滑一些。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2009-5-26 10:28:18 |只看该作者
您说的很对,根据原文,应该是指数平均。您可以用XAverage代替Average计算ATR

使用道具 举报

高级大户

小马哥

Rank: 7Rank: 7Rank: 7

精华
0
UID
3496
积分
3531
帖子
98
主题
9
阅读权限
80
注册时间
2009-2-11
最后登录
2015-11-26
3#
发表于 2009-5-26 10:32:26 |只看该作者
用XAverage和原文也不符,不过都差不多啦,交易本来就不能追求太准确

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1384
积分
1102
帖子
212
主题
40
阅读权限
60
注册时间
2008-3-28
最后登录
2019-4-26
4#
发表于 2009-5-26 21:13:08 |只看该作者
呵呵 这种较真意义不大
就像楼主说的 不能指望精确 随机仍然是这个市场的本质

使用道具 举报

Rank: 4

精华
0
UID
5004
积分
290
帖子
69
主题
18
阅读权限
50
注册时间
2009-8-3
最后登录
2019-3-24
5#
发表于 2009-8-6 16:44:31 |只看该作者
感谢小马的贴图,我一直奇怪为什么海龟不用简单的平均,从图上看,确实海龟的方法要平滑很多

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 02:40

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部