Average True Range(ATR) 平均真实范围,利用这个好用的指标,当行情波动大时,这个区间确认也应该放大,波动小时,则区间也小,因此加上波动性的指标有用处,ATR比其它波动性指标直接方便的是它本身就是价格的表示,而不是比例或无法对应的数字。例如ATR 100点,就是近期日高低点差平均在100点,而开盘后往上50点或往下50点的区间内都很正常,那我们设定的突破逻辑就是市价涨超过50点作多,跌超过50点作空。
代码范例:
此策略是波段突破策略。根据ATR要调用多少个周期,来求出开仓的委托价格,此策略适用于多商品多周期,可以自己调整参数跟周期测试即可,底下是测试的IF 20 min 的绩效结果,手续费单边100元,仅供参考。
再详细一点的说明程序,因为ATR在这个例子中使用的是日线层级,但实际运用的K线可能是10min、5min、8min之类的,会要再搭配其它的指标,所以才使用这种Array的方式将TR记录下来,在新的一天开始时计算一次( date <> date[1] ),然后看是要多少个TR的平均,一个一个放进去,另外特别注意Array第一个位置是0起始,所以for回圈里目标值减一,这样个数才对。
这个 Array+For 回圈的方法在使用不同k线层级的指标时蛮好用的,可以多加利用,如果是常coding的朋友可能会觉得一个地方怪怪的,平常都是for i=0 to X ,这边因为i是Multicharts 的关键字所以不能用,常常都要再改成j….,是特别的习惯