- 精华
- 0
- 在线时间
- 743 小时
- UID
- 15203
- 积分
- 1411
- 帖子
- 397
- 阅读权限
- 60
- 注册时间
- 2010-8-14
- 最后登录
- 2017-12-29
- 精华
- 0
- UID
- 15203
- 积分
- 1411
- 帖子
- 397
- 主题
- 35
- 阅读权限
- 60
- 注册时间
- 2010-8-14
- 最后登录
- 2017-12-29
|
以下代码用于IF888日线,Length1-3是2010-2012年每年的交易日数量,是固定的。
BDrate是每天的波动率,ATR201x是求每年的平均真实波幅,AvgRange201x是求每年的平均波动率,由于后面这两个放在If的大括号里面会有编译警告,所以拿出来放在外面。
现在这个程序在2010年12月31日并没有输出ATR和AvgRange的值,试了半天找不出问题在哪里,请高手给看看怎么回事?- Params
- Numeric Length1(173);
- Numeric Length2(244);
- Numeric Length3(193);
- Vars
- NumericSeries ATR2010;
- NumericSeries ATR2011;
- NumericSeries ATR2012;
- NumericSeries AvgRange2010;
- NumericSeries AvgRange2011;
- NumericSeries AvgRange2012;
- NumericSeries BDrate;
- Begin
- BDrate = TrueRange()/Close[1];
- ATR2010 = AvgTrueRange(Length1);
- AvgRange2010 = Average(BDrate, Length1);
- ATR2011 = AvgTrueRange(Length2);
- AvgRange2011 = Average(BDrate, Length2);
- ATR2012 = AvgTrueRange(Length3);
- AvgRange2012 = Average(BDrate, Length3);
-
- If(Date == 20101231)
- {
- PlotString("ATR2010", Text(ATR2010), High);
- PlotString("BDrange2010", Text(AvgRange2010), Low);
- }
- If(Date == 20111230)
- {
- PlotString("ATR2011", Text(ATR2011), High);
- PlotString("BDrange2011", Text(AvgRange2011), Low);
- }
- If(Date == 20121022)
- {
- PlotString("ATR2012", Text(ATR2012), High);
- PlotString("BDrange2012", Text(AvgRange2012), Low);
- }
- End
复制代码 |
|