Keltner 通道指標&交易策略範例

海龜交易策略裡面 有提到ATR(Average True Range) 這個名詞,在Multicharts 所代表的函數AvgTrueRange,就是計算真實區間

ATR常常被用來衡量目前市場的波動性 可以幫助交易者了解價格波動的幅度

以下是ATR的公式:

TR是一個反映價格波動幅度,首先先計算True Range,簡稱TR
當期的最高價(High)
當期的最低價(Low)
前一個交易日的收盤價(Previous Close)
TR的計算公式如下:
TR = Max[(High – Low), |High – Previous Close|, |Low – Previous Close|]
取三者之中的最大值
ATR是取TR平均值
ATR = [(前一天的ATR * (期間 – 1)) + 當日的TR] / 計算天數

ATR是從近期K棒波動來延伸設計的動量指標,套用到均線形成Keltner通道, 公式如下

MA = AverageFC( Price, Length ) ;
ATR = NumATRs * AvgTrueRange( Length ) ;
UPLine= MA + ATR * N ;
DNline = MA – ATR * N ;

上通道就是均線加上N倍的ATR,下通道就是均線減去N倍的ATR

所呈現出來的Keltner指標如下,中間的是移動平均線,上下通道則是 均線加減ATR之後的上軌道和下軌道

範例說明: 站上UPLine買進多單 跌破 DNLine多單出場 程式碼如下

value1 = Average(close,Len);
UPline = value1+AvgTrueRange(Len)*2;
DNline = value1-AvgTrueRange(Len)*2;
if c cross over UPline then buy next bar at market;
if c cross under DNline then sell next bar at market;

套用到Multcharts 回測台指期,只要二行程式碼 就可以寫出績效往上的報酬曲線 似乎有研究價值

加入濾網 需要收盤價站上通道上緣 且突破前K棒高點才買進多單

if marketposition=0 and c cross over UPline then buy next bar at H stop;
if marketposition=1 then sell next bar at DNline stop;

平倉權益曲線有變得比較平滑

邏輯很簡單,有興趣進一步研究 可以舉一反三加入停損和停利,或是加入做空的條件進行優化;想要完整的程式碼 可以留言聯繫我

結論: Keltner 通道 就是移動平均線和 ATR的結合,總共有三條線,分別是上軌道、 均線 下軌道;回測台指期的結果 順勢比逆勢好,做多比做空好……😊😊

回測績效僅代表過去研究結果 不代表未來績效,指標本身沒有對錯,投資人必須自行判斷並加入風險管理的條件

分享你的喜愛