摘要:本文介紹如何利用 ATR 與其 20 日平均來建構波動率過濾器,在市場動能不足時自動跳過假訊號,並以假設範例說明設定倍率的方式,以及新手常見的誤用情形。

很多外匯新手都遇過這種情況:明明技術指標出現買進訊號,價格卻遲遲不動,甚至突然反轉,打掉停損後又繼續盤整。這種在低波動環境中頻繁出現的「橫盤垃圾訊號」,往往吃掉大量小虧損,累積下來比幾次大賠更傷帳戶。
如果有一個方法,能在市場安靜時自動跳過大部分可疑訊號,只保留波動夠大、方向較明確的機會,是不是能省下不少學費?我們可以借助 ATR 波動率過濾器來做到這件事。
ATR(Average True Range,平均真實區間)是衡量價格波動程度的技術指標,計算公式考慮當日最高最低價、以及與前一日收盤的差距,再取一定週期的移動平均。它本身不判斷方向,只告訴你 K 棒「平均有多長」。
當 ATR 數值變小,代表行情震幅收縮,市場進入低波動狀態,容易形成盤整。這時順勢策略容易產生反覆的假突破訊號,因為價格在區間內來回,短暫穿破支撐或壓力後又回頭。
波動率過濾的概念很簡單:拿當下的 ATR 和它的長期平均做比較。常用的做法是計算一條 20 日(或其他週期)的 ATR 平均線,然後設定一個條件:只有當最新 ATR 高於這條平均線時,才容許進場;如果 ATR 掉到平均線以下,代表市場動能不足,訊號就先放掉。
直接用「ATR > ATR 平均」作為過濾條件雖然有效,但有時候過於敏感,可能漏掉波動正在回升的初期。更彈性的做法是引入一個過濾倍率,例如將條件設為:
`最新ATR ≥ 門檻倍率 × ATR 平均`
其中門檻倍率通常設在 0.8 到 1.0 之間。若倍率為 0.85,不僅涵蓋「高於平均」的情形,也允許略低於平均但不算太冷的環境。這樣能過濾掉多數明顯的橫盤訊號,又不會太早就拒絕市場回春的訊號。
下面是一個純粹的假設示範,目的是說明計算邏輯,絕非實際操作指示:
實作上,我們可以在交易平台的自訂指標中寫入這條邏輯,並對過去的訊號進行統計。一些使用者回測顯示,將倍率設在 0.85 附近時,約可過濾掉 30% 左右的總訊號,而被淘汰的多數確實來自盤整期。
無論使用哪一種程式語言或平台,過濾器的核心結構都差不多:
不需要把過濾器單獨畫成副圖,直接嵌入策略中即可。
波動率過濾器的價值,不在於找到更多獲利訊號,而是幫你少做很多徒勞的交易。當市場動能不足,強行進場只是增加成本。學會等待 ATR 跨過門檻,本身就是一堂重要的風險控制課。