Chỉ báo ZigZag là gì? Vì sao các đỉnh đáy của nó cứ bị vẽ lại

“Đỉnh đáy ZigZag đánh dấu chuẩn quá, cứ theo nó mua đáy bán đỉnh là được nhỉ?”

Biểu đồ ZigZag trông rất chuẩn là vì nó biết sửa. Đoạn cuối cùng nó vẽ luôn chưa được xác nhận: giá lập đỉnh mới thì “đỉnh” trước đó sẽ bị xóa và dời sang chỗ mới. Chúng tôi tính lại ZigZag của MT5 mỗi ngày trên khung ngày của 9 sản phẩm để thống kê: cứ 1 điểm đảo chiều được giữ lại thì có gần 5 điểm từng được vẽ ra, rồi sau đó bị xóa. Bài này trước tiên dùng một bảng để xem nó sửa thế nào, sau đó dùng một biểu đồ thật có đánh số 1 đến 4 (Ethereum năm 2025) để xem lại.

Đây là một bài trong loạt “Học viện giao dịch · Từ điển chỉ báo kỹ thuật” của MASQuant. Toàn bộ chỉ báo được phân loại trong Từ điển chỉ báo kỹ thuật.

Hiểu trong một câu

ZigZag = nối các đỉnh và đáy “đủ lớn” thành một đường gấp khúc, bỏ qua các dao động nhỏ.

Câu hỏi nó trả lời là: “Các điểm đảo chiều chính của đoạn thị trường này nằm ở đâu?” — nhưng nó trả lời sau khi mọi chuyện đã xảy ra.

ZigZag giống như viết hồi ký: nối các đỉnh cao và vực sâu của đời người lại, câu chuyện trở nên rất rõ ràng. Nhưng lúc viết thì người viết vẫn còn sống, cái hôm nay tưởng là “đỉnh cao cuộc đời” thì sang năm có thể bị một đỉnh cao hơn thay thế. Chương cuối cùng luôn còn đang sửa, chỉ những chương phía trước mới không thay đổi nữa.

Tính thử một lần: đỉnh bị dời đi thế nào

Dưới đây là một ví dụ đơn giản hóa, xem sau mỗi phiên đóng cửa thì “điểm cuối cùng” của ZigZag được vẽ ở đâu (dưới đây là các số nguyên dùng làm ví dụ, không phải dữ liệu thị trường):

Ngày thứ Giá cao nhất trong ngày Giá thấp nhất trong ngày Điểm cuối cùng của ZigZag
Ngày thứ 3 105 101 105 của ngày thứ 3 (đỉnh mới)
Ngày thứ 4 103 100 Vẫn là 105 của ngày thứ 3
Ngày thứ 5 108 104 Dời sang 108 của ngày thứ 5, điểm của ngày thứ 3 bị xóa
Ngày thứ 6 106 101 Vẫn là 108 của ngày thứ 5
Ngày thứ 7 101 95 Vẽ ra đáy mới 95, lúc này 108 của ngày thứ 5 mới được xác nhận

Nhìn biểu đồ vào ngày thứ 4, bạn sẽ tưởng 105 chính là đỉnh; sang ngày thứ 5 thì nó biến mất. Một đỉnh phải chờ đến khi điểm ngược chiều tiếp theo được vẽ ra mới được tính, mà lúc đó giá đã giảm khỏi đỉnh một đoạn rồi.

Công thức chính thức

ZigZag có sẵn trong MT5 có ba tham số, mặc định là 12, 5, 3:

1 Depth (độ sâu) = 12: một điểm phải là cao nhất (thấp nhất) trong 12 nến gần nhất mới đủ tư cách làm điểm đảo chiều
2 Deviation (độ lệch) = 5: ngưỡng chênh lệch giá, đơn vị là bước giá nhỏ nhất của báo giá
3 Backstep (lùi bước) = 3: hai điểm đảo chiều cùng chiều phải cách nhau tối thiểu bao nhiêu nến, quá gần thì chỉ giữ điểm cực trị hơn

Đỉnh và đáy xuất hiện xen kẽ; khi xuất hiện đỉnh cao hơn (đáy thấp hơn), điểm cuối cùng sẽ dời sang đó

ZigZag không có người phát minh được công nhận, thuật toán trên các nền tảng cũng không giống nhau lắm: có nơi dùng tỷ lệ phần trăm cố định (ví dụ biến động trên 5% mới tính), còn chỉ báo mẫu của MT5 thì dùng ba tham số ở trên. Dù là loại nào, đoạn cuối cùng cũng sẽ thay đổi, khác nhau chỉ ở tần suất thay đổi.

ZigZag của MT5 nằm trong các chỉ báo mẫu đi kèm khi cài đặt (thư mục Examples), không được tích hợp sẵn trực tiếp trong danh sách chỉ báo.

Thống kê: điểm đảo chiều bị xóa thường xuyên đến đâu, phải chờ bao lâu mới được xác nhận?

Chúng tôi viết lại ZigZag(12, 5, 3) của MT5 theo mã nguồn, rồi trên dữ liệu khung ngày từ năm 2015 của 9 sản phẩm (vàng, bạc, S&P 500, Đức 40, EUR/USD, GBP/USD, USD/JPY, Bitcoin, Ethereum), tính lại một lần sau mỗi phiên đóng cửa và ghi lại hình dạng được vẽ ra mỗi ngày:

Hạng mục Kết quả
Số điểm đảo chiều cuối cùng được giữ lại 1,487 điểm
Số vị trí từng được vẽ thành điểm đảo chiều rồi sau đó bị xóa 7,327 vị trí (cứ giữ lại 1 điểm thì có khoảng 4.93 điểm bị xóa)
Một điểm đảo chiều phải chờ bao nhiêu nến mới được xác nhận (trung vị) 6 nến (một nửa rơi vào khoảng 4 đến 9 nến)
Phải chờ từ 10 nến trở lên mới được xác nhận 22.2%
Phải chờ từ 20 nến trở lên mới được xác nhận 2.2%
Lúc được xác nhận, giá đã đi xa khỏi điểm đảo chiều (trung vị) 2.69 lần ATR(14)

“Xác nhận” có nghĩa là: những ngày sau tính lại vẫn còn đó, và phía sau đã vẽ ra điểm ngược chiều tiếp theo. Tính riêng cho từng sản phẩm trong chín sản phẩm, trung vị đều nằm trong khoảng 5 đến 7 nến. Nói cách khác, khi ZigZag cho bạn biết “chỗ đó là đỉnh”, giá thường đã rời khỏi đỉnh gần 3 ATR rồi.

Xem biểu đồ: Ethereum năm 2025, theo thứ tự 1 đến 4

Biểu đồ dưới đây là khung ngày của Ethereum (ETHUSD) từ cuối tháng 2 đến cuối tháng 6 năm 2025, lấy từ dữ liệu giá lịch sử MT5. Đường liền màu cam là ZigZag tính trên toàn bộ dữ liệu (tức là hình dạng “nhìn lại sau đó”); đường nét đứt màu tím là ZigZag chỉ tính trên dữ liệu đến ngày 7 tháng 5 (tức là hình dạng bạn thấy trên biểu đồ vào chính ngày 7 tháng 5).

Biểu đồ ngày của Ethereum từ tháng 2 đến tháng 6 năm 2025 cùng ZigZag; ZigZag vào ngày 7 tháng 5 vẽ ngày 1 tháng 5 thành đỉnh cuối cùng, sau đó giá tăng mạnh và điểm này bị xóa, đỉnh thật nằm ở ngày 29 tháng 5 và đến ngày 5 tháng 6 mới được xác nhận
Hình: Ethereum (ETHUSD) khung ngày, 20/2/2025–20/6/2025, dữ liệu giá lịch sử MT5. Nến rỗng đóng cửa tăng, nến đặc đóng cửa giảm. Đường liền màu cam là ZigZag(12, 5, 3) tính trên toàn bộ dữ liệu; đường nét đứt màu tím là ZigZag chỉ tính trên dữ liệu đến ngày 7 tháng 5; đường nét đứt màu xám là ngày 7 tháng 5, đường nét đứt màu đỏ là ngày đỉnh 29 tháng 5 được xác nhận. Bên phải là giá, bên dưới là ngày, các số trong vòng tròn tương ứng với phần giải thích bên dưới.
1

“Đỉnh cuối cùng” lúc đó: ngày 1 tháng 5 năm 2025, 1,871.46.

2

Xem biểu đồ vào ngày 7 tháng 5 (đóng cửa 1,796.69). ZigZag hôm đó vẽ 1 của 6 ngày trước thành đỉnh gần nhất, giá sau đó luôn thấp hơn 1. Trông như một đỉnh đã hình thành và giá đang đi xuống.

3

Đỉnh thật: ngày 29 tháng 5, 2,786.02. Ngay hôm sau (ngày 8 tháng 5), Ethereum tăng mạnh, một mạch lên tới mức cao hơn 1 đến 48.9%. Điểm 1 bị xóa, ZigZag nhìn lại sau đó (đường cam) nối thẳng từ đáy tháng 4 đến đây, như thể 1 chưa từng tồn tại.

4

Đỉnh 3 đến ngày 5 tháng 6 mới được xác nhận, trễ 7 nến. Hôm đó giá đóng cửa ở 2,396.74, đã thấp hơn đỉnh 14.0%. Vào chính ngày 3 và mấy ngày sau đó, bạn vẫn chưa biết đó chính là đỉnh.

Đây là một đoạn giá lịch sử có thật, dùng để minh họa tính cách của ZigZag, không phải quy luật chung. Đổi sản phẩm, đổi khung thời gian, đổi đoạn giá thì mọi con số đều thay đổi.

Thấy gì, nghĩa là gì

Bạn thấy Thường có nghĩa là Nhưng cần cẩn thận
Đoạn cuối cùng của ZigZag Đỉnh hoặc đáy mới nhất hiện tại Chưa được xác nhận, có thể bị dời đi bất cứ lúc nào (1 trên biểu đồ)
Đường gấp khúc trước điểm áp chót Các đỉnh đáy đã được xác nhận Lúc được xác nhận, giá thường đã đi gần 3 ATR
Đường gấp khúc nối rất đẹp từng đỉnh đáy Hình dạng nhìn lại sau đó Cứ giữ lại 1 điểm thì có khoảng 5 điểm từng được vẽ ra rồi bị xóa
Đỉnh sau cao hơn đỉnh trước, đáy sau cao hơn đáy trước Cấu trúc đi lên Chỉ được phán đoán bằng những điểm đã xác nhận
Tăng tham số lên (ví dụ Depth 20) Chỉ giữ lại những điểm đảo chiều lớn hơn Xác nhận còn chậm hơn

Dùng thực tế: ba ví dụ

Ví dụ 1: sắp xếp lại các đỉnh đáy quá khứ, chứ không dự đoán điểm tiếp theo

Chỗ ZigZag hữu ích nhất là gom một đống nến thành vài đỉnh đáy chính, tiện để vẽ thoái lui Fibonacci, tìm đỉnh cũ đáy cũ (ví dụ về Fibonacci xem Thoái lui Fibonacci là gì?). Khi dùng, chỉ dùng những điểm đã được xác nhận.

Ví dụ 2: chỉ dùng “điểm đã xác nhận” để phán đoán cấu trúc

Quy tắc có thể viết thành: “Trong hai đáy đã xác nhận gần nhất, đáy sau cao hơn đáy trước thì mới tính là cấu trúc đi lên.” Điểm cuối cùng chưa được xác nhận thì không tính vào.

Ví dụ 3: viết lại ý tưởng của ZigZag thành điều kiện “biết ngay tại thời điểm đó”

Nếu ý tưởng của bạn là “phá đỉnh trước thì mua”, khi backtest có thể viết thành “giá đóng cửa vượt mức cao nhất của 20 nến gần nhất” — điều kiện này tính được ngay trong ngày, không bị sửa lại sau đó.

Cả ba ví dụ đều phải nhớ: ZigZag là công cụ sắp xếp lại sau khi mọi chuyện đã xảy ra. Các điểm nó vẽ càng đẹp, càng phải hỏi: điểm này đến ngày nào mới được xác nhận?

Những cách dùng sai thường gặp

1. Backtest theo đúng các đỉnh đáy của ZigZag

Dùng các điểm ZigZag vẽ lại sau đó làm điểm mua bán thì kết quả backtest sẽ rất đẹp — vì mỗi điểm đều được vẽ sau khi giá đã đi xong. Khi giao dịch thật, bạn mua ở những chỗ như 1, và không chờ được tới 3.

2. Coi đoạn cuối cùng là đã đảo chiều

Vào ngày 2 trên biểu đồ, ZigZag vẽ 1 của 6 ngày trước thành đỉnh, trông như đang đi xuống. Sau đó giá cao hơn 1 đến 48.9%, điểm đó bị xóa.

3. Tưởng tăng tham số lên thì sẽ không vẽ lại

Tăng Depth thì điểm đảo chiều ít đi, nhưng đoạn cuối cùng vẫn thay đổi như thường, lại còn phải chờ lâu hơn mới được xác nhận. Vẽ lại là bản chất của chính thuật toán ZigZag, không phải vấn đề tham số.

Câu hỏi thường gặp

Chỉ báo ZigZag là gì?

ZigZag nối các đỉnh và đáy vượt quá một biên độ nhất định thành đường gấp khúc, lọc bỏ các dao động nhỏ, dùng để nhìn ra các điểm đảo chiều chính của thị trường. Tham số mặc định của chỉ báo mẫu trong MT5 là Depth 12, Deviation 5, Backstep 3.

Vì sao ZigZag bị vẽ lại?

Vì điểm đảo chiều cuối cùng chưa được xác nhận: giá lập đỉnh mới (đáy mới) thì điểm cuối cùng sẽ dời sang vị trí mới. Phải chờ đến khi điểm ngược chiều tiếp theo được vẽ ra, điểm trước đó mới không thay đổi nữa.

Có thể dùng ZigZag để giao dịch không?

Có thể dùng để sắp xếp các đỉnh đáy đã xác nhận và xem cấu trúc, nhưng không phù hợp để dùng trực tiếp làm tín hiệu mua bán. Trong thống kê của chúng tôi, một điểm phải chờ (theo trung vị) 6 nến mới được xác nhận, và lúc xác nhận thì giá thường đã cách điểm đảo chiều khoảng 2.7 ATR.

MT5 có ZigZag không?

Có, nằm trong các chỉ báo mẫu đi kèm khi cài đặt MT5 (thư mục Examples), tham số mặc định 12, 5, 3; không được tích hợp sẵn trực tiếp trong danh sách chỉ báo.

Kết luận

Biểu đồ ZigZag vẽ ra là “phiên bản nhìn lại” của thị trường: rất rõ ràng, cũng rất hấp dẫn. Giá trị của nó nằm ở việc sắp xếp quá khứ, không nằm ở việc dự đoán điểm đảo chiều tiếp theo.

Vì vậy câu thật sự cần hỏi là: nếu chiến lược của bạn dùng đỉnh đáy của ZigZag, thì trong backtest bạn đang dùng những điểm “sau khi đã xác nhận”, hay những điểm chỉ được vẽ ra sau đó? Câu hỏi này, một đoạn giá lịch sử không trả lời được; phải đem quy tắc ra backtest trên nhiều đoạn thị trường.

Chưa có quy tắc của riêng mình, cũng không muốn ghép từng chỉ báo một? Với Strategy Genie của MASQuant, bạn chỉ cần chọn trước một phong cách đầu tư, AI sẽ phân tích tình hình thị trường, chọn sản phẩm và đưa ra cùng lúc ba chiến lược ứng viên. Mỗi chiến lược đều đã được backtest trên dữ liệu lịch sử, lợi nhuận và mức sụt giảm tối đa trên vốn gốc được bày ra rõ ràng, rồi bạn tự quyết định có triển khai lên MT5 hay không.

Nếu đã có ý tưởng của riêng mình, hãy viết điều kiện thành một câu, ví dụ “giá đóng cửa vượt mức cao nhất của 20 nến gần nhất thì mua, thủng mức thấp nhất của 10 nến gần nhất thì thoát”, đưa vào Trợ lý Chiến lược AI, bấm một cái là bắt đầu backtest. Môi trường backtest có tính đến các ma sát thị trường thật như spread, trượt giá, thay đổi thanh khoản thị trường và độ trễ khớp lệnh (cách dùng xem Hướng dẫn sử dụng Trợ lý Chiến lược AI). Những điều kiện tính được ngay trong ngày như thế này thì kết quả backtest mới khớp với giao dịch thật. Backtest cho bạn biết “quy tắc này đã hoạt động thế nào trong các diễn biến quá khứ”, không phải sự bảo đảm cho tương lai.

Ý tưởng, qua kiểm chứng, mới gọi là chiến lược.

Biểu đồ trong bài lấy từ dữ liệu giá lịch sử trên nền tảng MT5 (khung ngày; giá và cách chia nến ngày giữa các nền tảng hơi khác nhau, số liệu có thể không hoàn toàn trùng khớp). ZigZag được viết lại theo mã nguồn của chỉ báo mẫu đi kèm MT5; thống kê dùng dữ liệu khung ngày từ tháng 1 năm 2015 trở về sau trên cùng nền tảng của 9 sản phẩm (vàng, bạc, S&P 500, Đức 40, EUR/USD, GBP/USD, USD/JPY, Bitcoin, Ethereum), tính lại một lần sau mỗi phiên đóng cửa; cách cập nhật theo thời gian thực trên biểu đồ MT5 hơi khác, số liệu có thể chênh lệch. Các số nguyên trong ví dụ không phải dữ liệu thị trường. Giá lịch sử chỉ dùng để minh họa tính cách của chỉ báo, không đại diện cho diễn biến tương lai.

Công bố rủi ro: CFD là sản phẩm tài chính có rủi ro cao, có thể dẫn đến mất vốn nhanh chóng. Hiệu suất trong quá khứ không đảm bảo kết quả trong tương lai, mọi chiến lược và kết quả backtest chỉ mang tính tham khảo, không cấu thành lời khuyên đầu tư. Trước khi giao dịch, vui lòng tìm hiểu kỹ Điều khoản Công bố Rủi ro của chúng tôi.