请题主把这个题目的标签修改成财经类的,我回答其他类的问题会影响我的权重,谢谢。 在著名的期货交易系统,海龟交易法则中,使用了ATR作为止损和仓位管理的指标。 ATR是一个算法。其编写指标如下: TR : MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR : MA(TR,N),COLORBLUE; 第一句话的意思是:先求出一个叫TR的数值。 这个TR,你可以理解为,当天价格的波幅。 你比如这根K线: 它的波幅怎么算?用最高价减去最低价,就是最简单的算法。 但是,有两种特殊情况,ATR的值会有偏差。 一种是高开,一种是低开。比如下图: 这根K线,直接低开了。如果我们用最高价减去最低价,实际上并不能真正的体现它的波幅,所以,海龟交易法则用的是,昨天的收盘价,减去今天的最低价。这样,可以结算处它的真实波动幅度。 那么高开也是一个道理:用昨天的最低价,减去今天的最高价的绝对值表示。 所以,TR,也就是今天的真实波幅,一定就是这三个值中的最大值。 所以,第一行代码的意思就是: 求最高价减去最低价;一个周期前的收盘价减去最高价的绝对值;一个周期前的收盘价减去最低价的绝对值;这三个值中的最大值。 那么,这样我们算出来的,其实是今天的波幅,但是海龟交易法则要的是一个阶段的平均波幅,今天仅看一天的话,这个数值具有偶然性。 所以,所谓的ATR,就是计算近26个交易日中,这个TR的简单移动平均。就是把26天TR的值加一起,除以26。 这样就得出了一个ATR,它可以反映最近一段时间这个品种的真实波动幅度。 用这个幅度,来止损,来加仓,来设计仓位,都是可以的。 好了,接下来来看题主的问题,海龟交易法则中的N(ATR)是入场时的N还是即时N,两者使用逻辑有什么区别? 很明显,这个ATR,在盘中有的时候是变化的,有的时候是不变化的,因为用的参数是最高价和最低价,这个价格并不是时刻都会被刷新的。所以,这个ATR的值有些时候是固定的,有些时候是波动的。而且,因为这个价格是26天的平均值,所以它的变化,并不是那么灵敏。 这个数值,入场的一瞬间,会根据当前具体的atr值来直接计算,手数。然后,在持仓时,又会根据当前最新的ATR来计算加仓点位。在止损时,也是根据当下的ATR值来计算的。 这个指标就是这么设计的,为了就是观察当前的品种的波动情况,没有其他的逻辑在里面。即使你非要设计成使用开仓时的ATR,也是可以的。但是没有什么特别的意义。 这就是答案。 点赞支持一下,谢谢。 |
|