把 ADX 讀成看漲或看跌
它是一個沒有正負號的強度度量。暴跌途中的高讀數,和暴漲途中的高讀數一樣高,這正是它總要與帶方向的東西搭配使用的原因。
ADX 指標在 0 到 100 的刻度上衡量趨勢的強度,但不指明方向。EA 把它當作行情狀態過濾器:趨勢策略等待高讀數,均值回歸策略等待低讀數。
亦稱:ADX, Average Directional Movement Index, DMI
更新於
一個數字,告訴你市場朝一個方向走得有多強,卻不告訴你是哪個方向。數值低意味著它沒有特別往哪裡去;數值高意味著它正在往某處去,而方向的正負號必須從別處取得。
多數 EA 失敗,並不是因為進場邏輯本身錯了,而是因為那套邏輯在一種行情裡正確、在另一種行情裡錯誤。ADX 是讓策略對「自己此刻身處哪一種行情」形成判斷的最廉價方式,這也正是它作為過濾器出現的次數遠多於作為訊號出現的原因。
| 設定項 | 常見取值 | 備註 |
|---|---|---|
| 週期 | 14 | 約定俗成的預設值。週期越短反應越快,穿越門檻也越頻繁,而且是雙向都更頻繁。 |
| 趨勢門檻 | 20–25 | 高於此處便啟用趨勢跟隨邏輯。確切數值並不如它相對於相鄰數值的穩定性重要。 |
| 區間門檻 | 低於 20 | 網格與均值回歸 EA 通常要求滿足這一條件之後才開倉。 |
| 強趨勢 | 高於 40 | 在這裡,逆趨勢進場與均值回歸進場通常會被完全封鎖。 |
| 讀取的時間週期 | 進場週期或更高一級 | 讀取更高一級的週期會給出更慢、更穩的狀態訊號,代價是反應更遲。 |
一條進場規則,兩個狀態過濾器,條件正好相反。規則本身不變;變的是它被允許觸發的時機。
狀態過濾器可測量的效果,通常是更小的回撤而不是更大的獲利——它移除的是虧損,而不是添加獲利。
計算 if (adx[1] < TrendThreshold) return; // 趨勢 EA 在區間行情裡什麼都不做
結果 一套在自己從來都不擅長的條件下選擇棄權的策略
評判一個過濾器,要看它移除了什麼。正確的比較,是同一套策略在同一段視窗上開啟與關閉過濾器的兩次執行,並且既要讀淨結果也要讀回撤。
| 區間 | 含義 |
|---|---|
| ADX 低於 20 | 沒有有效趨勢。趨勢跟隨進場在這裡的期望值最差,突破訊號也大多失敗。 |
| ADX 20–40 | 確有一段真實趨勢正在進行。這是趨勢邏輯通常的工作區間。 |
| ADX 高於 40 | 強趨勢,而且往往已進入後段。趨勢進場依然有效;逆趨勢與網格策略此刻最危險。 |
| 按回測最佳值調出來的門檻 | 一個被擬合出來的參數。在相信它之前,先檢查相鄰的門檻是否給出相近的結果。 |
ADX 的 `/indicators` 頁面講的是計算方法與看圖方式;本詞條講的則是它作為 EA 狀態過濾器的用法。
它是一個沒有正負號的強度度量。暴跌途中的高讀數,和暴漲途中的高讀數一樣高,這正是它總要與帶方向的東西搭配使用的原因。
如果 ADX 絕大部分時間都在門檻附近徘徊,過濾器就會不停切換,策略的行為將由雜訊決定。門檻只有在被少次而果斷地穿越時才是有用的。
任何過濾器都會移除成交,包括那些獲利的成交。檢驗標準在於它移除的虧損是否多於移除的獲利——而這是一次測量,不是一個假設。
ADX 在設計上被平滑了兩次。縮短週期只會讓它在兩個方向上都更頻繁地穿越門檻,通常帶來的是來回打臉而不是更早的進場。