ZigZag 之字轉向指標是什麼?它畫的高低點為什麼會重畫
「ZigZag 標出來的高低點好準,照著它買低賣高就好了吧?」
ZigZag 的圖看起來很準,是因為它會改。它畫的最後一段永遠還沒確定:價格再創新高,上一個「高點」就會被擦掉,搬到新的地方。我們把 MT5 的 ZigZag 在 9 個商品的日線上每天重算一次統計:每留下 1 個轉折點,就有將近 5 個曾經被畫出來、後來被擦掉。這一篇先用一張表看它怎麼改,再用一張標了 1~4 的真實行情圖(以太幣 2025 年)看一次。
這是 MASQuant 邁思量化「交易學院 · 技術指標大全」的一篇。所有指標的分類整理在〈技術指標大全〉。
一句話看懂
ZigZag=把「夠大」的高點和低點連成折線,小波動不管。
它回答的問題是:「這段行情的主要轉折在哪裡?」——但它是在事後回答。
ZigZag 像寫回憶錄:把人生的高峰和低谷連起來,故事很清楚。但寫的時候還活著,今天以為的「人生高峰」,明年可能被更高的峰取代。最後一章永遠還在改,只有前面的章節不會再動。
先算一次:高點怎麼被搬走
下面是一個簡化的例子,看每天收盤後 ZigZag 的「最後一個點」畫在哪裡(以下是舉例用的整數,不是行情資料):
| 第幾天 | 當天最高 | 當天最低 | ZigZag 的最後一個點 |
|---|---|---|---|
| 第 3 天 | 105 | 101 | 第 3 天的 105(新高) |
| 第 4 天 | 103 | 100 | 還是第 3 天的 105 |
| 第 5 天 | 108 | 104 | 搬到第 5 天的 108,第 3 天的點被擦掉 |
| 第 6 天 | 106 | 101 | 還是第 5 天的 108 |
| 第 7 天 | 101 | 95 | 畫出新的低點 95,第 5 天的 108 這才確定 |
第 4 天看圖,你會以為 105 就是高點;第 5 天它就不見了。一個高點,要等下一個反方向的點畫出來之後才算數,而那時價格已經從高點跌了一段。
正式公式
MT5 附帶的 ZigZag 有三個參數,預設是 12、5、3:
1 Depth(深度)= 12:一個點要是最近 12 根裡的最高(最低),才有資格當轉折點
2 Deviation(偏差)= 5:價格差距的門檻,單位是報價的最小跳動點
3 Backstep(回退)= 3:兩個同方向的轉折點至少隔幾根,太近的只留比較極端的那個
高點和低點輪流出現;出現更高的高點(更低的低點)時,最後一個點就搬過去
ZigZag 沒有公認的發明人,各平台的算法也不太一樣:有的用固定百分比(例如漲跌超過 5% 才算),MT5 的範例指標則用上面三個參數。不管哪一種,最後一段都會變,差別只在變的頻率。
MT5 的 ZigZag 在安裝時附的範例指標(Examples 資料夾)裡,指標清單裡沒有直接內建。
統計:轉折點多常被擦掉、要等多久才確定?
我們把 MT5 的 ZigZag(12, 5, 3) 照原始碼重寫,在 9 個商品(黃金、白銀、標普 500、德國 40、歐元兌美元、英鎊兌美元、美元兌日圓、比特幣、以太幣) 2015 年以來的日線上,每天收盤後重算一次,記下每一天畫出來的樣子:
| 項目 | 結果 |
|---|---|
| 最後留下的轉折點 | 1,487 個 |
| 曾經被畫成轉折點、後來被擦掉的位置 | 7,327 個(每留下 1 個,約有 4.93 個被擦掉) |
| 一個轉折點要等幾根才確定(中位數) | 6 根(一半落在 4 到 9 根之間) |
| 要等 10 根以上才確定 | 22.2% |
| 要等 20 根以上才確定 | 2.2% |
| 確定的時候,價格離轉折點已經走了(中位數) | 2.69 倍的 ATR(14) |
「確定」的意思是:之後每天重算都還在,而且後面已經畫出下一個反方向的點。九個商品各自算,中位數都在 5 到 7 根之間。換句話說,ZigZag 告訴你「那裡是高點」的時候,價格通常已經從高點走了將近 3 個 ATR。
看圖:以太幣 2025 年,照著 1~4 看
下面這張圖是以太幣(ETHUSD)2025 年 2 月下旬到 6 月下旬的日線,取自 MT5 的歷史報價。橘色實線是用整段資料算出來的 ZigZag(也就是「事後」的樣子);紫色虛線是只用到 5 月 7 日為止的資料算出來的 ZigZag(也就是 5 月 7 日當天你在圖上看到的樣子)。

當時的「最後一個高點」:2025 年 5 月 1 日,1,871.46。
在 5 月 7 日看圖(收 1,796.69)。這天的 ZigZag 把 6 天前的 1 畫成最近的高點,之後的價格一路比 1 低。看起來像是一個高點已經形成、價格正在往下。
真正的高點:5 月 29 日,2,786.02。隔天(5 月 8 日)以太幣就大漲,一路漲到比 1 高 48.9% 的地方。1 那個點被擦掉,事後的 ZigZag(橘線)從 4 月的低點直接連到這裡,好像 1 從來不存在。
3 這個高點到 6 月 5 日才確定,晚了 7 根。這天收在 2,396.74,已經比高點低了 14.0%。在 3 當天和之後幾天,你都還不知道它就是高點。
這是一段真實的歷史行情,用來說明ZigZag的性格,不是通則。換商品、換週期、換一段行情,數字都會變。
看到什麼、代表什麼
| 你看到 | 通常代表 | 但要小心 |
|---|---|---|
| ZigZag 的最後一段 | 目前最新的高點或低點 | 還沒確定,隨時可能被搬走(圖上 1) |
| 倒數第二個點以前的折線 | 已經確定的高低點 | 確定的時候,價格通常已經走了將近 3 個 ATR |
| 折線很漂亮地連起每個高低點 | 事後的樣子 | 每留下 1 個點,約有 5 個曾經畫出來又被擦掉 |
| 高點一個比一個高、低點一個比一個高 | 上升的結構 | 只能用已經確定的點判斷 |
| 參數改大(例如 Depth 20) | 只留下更大的轉折 | 確定得更慢 |
實際怎麼用:三個例子
例一:整理過去的高低點,而不是預測下一個
ZigZag 最好用的地方,是把一堆 K 棒整理成幾個主要的高低點,方便畫斐波那契回撤、找前高前低(斐波那契的例子見〈斐波那契回撤是什麼?〉)。用的時候,只用已經確定的點。
例二:只用「確定的點」判斷結構
規則可以寫成:「最近兩個已確定的低點,後面的比前面的高,才算上升結構。」最後那個還沒確定的點不算進去。
例三:把 ZigZag 的想法改寫成「當下就知道」的條件
如果你的想法是「突破前一個高點就做多」,回測時可以寫成「收盤突破最近 20 根的最高價」——這個條件當天就能算出來,不會事後改。
三個例子都要記得:ZigZag 是事後整理的工具。它畫的點越漂亮,越要問:這個點是哪一天才確定的?
常見誤用
一、照著 ZigZag 的高低點回測
用事後的 ZigZag 點當買賣點,回測會非常漂亮——因為每一個點都是在價格走完之後才畫的。真實交易時,你在 1 那種地方買,等不到 3。
二、把最後一段當成已經轉向
圖上 2 那天,ZigZag 把 6 天前的 1 畫成高點,看起來在往下。之後價格比 1 高了 48.9%,那個點被擦掉。
三、以為參數調大就不會重畫
Depth 調大,轉折點變少,但最後一段一樣會變,而且要等更久才確定。重畫是 ZigZag 的算法本身,不是參數的問題。
常見問題
ZigZag 指標是什麼?
ZigZag(之字轉向)把超過一定幅度的高點和低點連成折線,過濾掉小波動,用來看出行情的主要轉折。MT5 的範例指標預設參數是 Depth 12、Deviation 5、Backstep 3。
ZigZag 為什麼會重畫?
因為最後一個轉折點還沒確定:價格再創新高(新低),最後一個點就會搬到新的位置。要等下一個反方向的點畫出來,前一個點才不會再變。
ZigZag 可以拿來交易嗎?
可以用來整理已經確定的高低點、看結構,但不適合直接當買賣訊號。我們的統計裡,一個點要等到確定,中位數是 6 根,確定時價格通常已經離轉折點約 2.7 個 ATR。
MT5 有 ZigZag 嗎?
有,在 MT5 安裝時附的範例指標(Examples 資料夾)裡,預設參數 12、5、3;指標清單裡沒有直接內建。
結語
ZigZag 畫出來的圖,是行情的「事後版本」:很清楚,也很誘人。它的價值在整理過去,不在預測下一個轉折。
所以真正該問的是:你的策略如果用了 ZigZag 的高低點,回測裡用的是「確定之後」的點,還是事後才畫出來的點? 這個問題,一段歷史行情回答不了,要拿規則在很多段行情上回測。
還沒有自己的規則、不想從指標一個一個拼起?MASQuant 邁思量化的策略精靈只要你先選一種投資風格,AI 會分析市況、挑選商品,一次給你三組候選策略,每組都先用歷史資料回測過,報酬和本金最大回撤攤開來看,再由你決定要不要部署到 MT5。
已經有自己的想法,就把條件寫成一句話,例如「收盤突破最近 20 根的最高價就做多,跌破最近 10 根的最低價就出場」,丟進 AI 策略助理,按下去就開始回測,回測環境納入點差、滑點、市場流動性變化與交易執行延遲這些真實市場摩擦(操作方式見〈策略助理使用教學〉)。這種當天就能算出來的條件,回測結果才會跟真實交易一致。回測告訴你的是「這條規則在過去的行情裡表現如何」,不是未來的保證。
想法,經過驗證,才叫策略。
文中走勢圖取自 MT5 平台的歷史報價(日線;不同平台的報價與日線切法略有差異,數值可能不完全相同)。ZigZag 依 MT5 附帶的範例指標原始碼重寫,統計使用同一平台9 個商品(黃金、白銀、標普 500、德國 40、歐元兌美元、英鎊兌美元、美元兌日圓、比特幣、以太幣)2015 年 1 月以後的日線,每天收盤後重算一次;MT5 圖表上即時更新的方式略有不同,數字可能有出入。舉例用的整數不是行情資料。歷史行情只用來說明指標的性格,不代表未來走勢。
風險揭露:CFD 屬於高風險金融商品,可能導致快速資金損失。過往績效不代表未來結果,所有策略與回測僅供參考,不構成投資建議。交易前請充分了解本公司風險揭露條款。

a留言
斐波那契回撤是什麼?38.2 怎麼畫、怎麼算與真實回檔統計
27 10 月, 2026[…] ZigZag 之字轉向指標是什麼?它畫的高低點為什麼會重畫 […]