- 精华
- 0
- 在线时间
- 1442 小时
- UID
- 3496
- 积分
- 3531
- 帖子
- 98
- 阅读权限
- 80
- 注册时间
- 2009-2-11
- 最后登录
- 2015-11-26
- 精华
- 0
- UID
- 3496
- 积分
- 3531
- 帖子
- 98
- 主题
- 9
- 阅读权限
- 80
- 注册时间
- 2009-2-11
- 最后登录
- 2015-11-26
|
参考链接: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使用的更平滑一些。
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|