Chỉ báo MACD
MACD là hiệu của hai đường trung bình, nên nó thừa hưởng độ trễ của cả hai chứ không xoá được cái nào. Ba thành phần, bộ 12/26/9, và chỗ nó gãy ở Việt Nam.
FinLens34 phút đọc
MACD thường được giới thiệu như một chỉ báo động lượng, đôi khi còn được gọi là chỉ báo dẫn, tức thứ báo trước thay vì báo sau. Bài này đi theo hướng ngược lại: nó lấy chính định nghĩa của MACD ra và cho thấy rằng ba thành phần của nó đều là phép trừ giữa hai phép làm trơn, và một phép trừ như vậy không thể tạo ra thông tin mà hai đầu vào chưa có.
Ba việc bài làm. Thứ nhất, viết đúng ba thành phần và nói rõ đầu vào của từng thành phần là gì, vì đây là chỗ nhiều mô tả nhầm ngay từ dòng đầu. Thứ hai, chứng minh rằng MACD không mang thông tin về mức giá, và rằng nó chỉ phát biểu lại quan hệ giữa hai độ trễ có sẵn. Thứ ba, và đây là phần dài nhất, chỉ ra những chỗ ở thị trường Việt Nam làm chuỗi đầu vào của MACD không còn là một chuỗi đồng nhất.
Bài không đưa tín hiệu mua bán, không dự báo giá, và không nói bộ tham số nào tốt hơn bộ nào.
Hai đường cong làm trơn chồng lên một chuỗi giá ở khung trên, và ở khung dưới là đường hiệu của chúng dao động quanh một trục ngang bằng không
Ba thành phần, và cả ba đều là phép trừ
Bắt đầu bằng phần cơ học, viết đủ để người đọc dựng lại được bằng bảng tính.
Nền tảng là đường trung bình luỹ thừa, viết tắt EMA. Công thức đệ quy của nó, cùng cách kiểm ngược hệ số làm trơn từ chính dữ liệu, nằm ở bài đường trung bình động:
EMA_n[t] = α × P[t] + (1 − α) × EMA_n[t-1], α = 2/(n+1)Từ đó, ba thành phần của MACD:
| Thành phần | Tính từ | Công thức | Đơn vị |
|---|---|---|---|
| Đường MACD | Giá đóng cửa | EMA_12 − EMA_26 | Đồng |
| Đường tín hiệu | Chuỗi MACD, không phải giá | EMA_9 áp lên chuỗi MACD | Đồng |
| Histogram | Hai thành phần trên | MACD − tín hiệu | Đồng |
Cột giữa của bảng là chỗ dễ đọc lướt qua nhất, và nó quan trọng. Đường tín hiệu không phải một đường trung bình của giá. Nó là đường trung bình của một đại lượng đã được lọc hai lần, tức đầu vào của nó là một chuỗi khác hẳn chuỗi giá về bản chất. Một mô tả nói "đường tín hiệu là EMA 9 phiên" mà không nói EMA đó áp lên cái gì thì đã bỏ mất nửa nội dung.
Ba hệ số làm trơn tương ứng, thay thẳng vào công thức trên:
| Cửa sổ | α = 2/(n+1) | Trọng số phiên mới nhất |
|---|---|---|
| 12 | 2/13 | 15.3846% |
| 26 | 2/27 | 7.4074% |
| 9 | 2/10 | 20.0000% |
Đơn vị là đồng, không phải phần trăm
Vì đường MACD là hiệu của hai mức giá đã làm trơn, đơn vị của nó là đơn vị của giá. Đây là một chi tiết nhỏ về hình thức nhưng chặn một cách dùng rất phổ biến.
Chốt phiên 04/09/2026, một mã bán lẻ trên HOSE đứng ở 73,100 đ trong khi một mã bất động sản trên HOSE đứng ở 2,160 đ. Hai mức giá đó cách nhau khoảng 33.8 lần. Mọi con số MACD tính trên hai chuỗi ấy nằm trên hai thang khác nhau đúng chừng ấy lần, nên đặt hai giá trị MACD cạnh nhau và so xem cái nào lớn hơn là so hai đại lượng không cùng thước. Điều này áp cho cả histogram, vì histogram cũng là hiệu của hai đại lượng đơn vị đồng.
Hệ quả thực dụng: một bảng lọc cổ phiếu xếp hạng theo giá trị MACD tuyệt đối đang xếp hạng theo thị giá nhiều hơn là theo bất kỳ thứ gì khác. Cách chuẩn hoá thường gặp là chia MACD cho giá hoặc cho một thước đo dao động, nhưng khi đó đại lượng thu được không còn là MACD nữa và phải khai rõ mình đang dùng cái gì.
Câu chốt: ba thành phần của MACD đều là phép trừ, và cả ba đều mang đơn vị đồng, nên chúng chỉ có nghĩa bên trong một mã.
Vì sao MACD không mang thông tin về mức giá
Đây là luận điểm trung tâm của bài, và nó đã được chứng minh xong ở bài trước của chuỗi.
Bài đường trung bình động tính tổng trọng số của một hiệu hai đường trung bình và ra đúng 0.0000000000, kiểm bằng máy. Lập luận rất gọn: mỗi đường trung bình là một phép trung bình có trọng số của giá, nên tổng trọng số của riêng nó bằng một. Lấy hiệu hai phép như vậy thì tổng trọng số của kết quả bằng một trừ một.
Đường MACD rơi đúng vào dạng đó. Nó là hiệu của EMA 12 phiên và EMA 26 phiên, hai phép trung bình có trọng số chạy trên cùng một chuỗi giá đóng cửa. Tổng trọng số của nó bằng không.
Một tổ hợp tuyến tính có tổng trọng số bằng không có một tính chất rất cụ thể: cộng thêm một hằng số vào toàn bộ chuỗi giá thì giá trị của nó không đổi. Nếu ai đó lấy chuỗi giá của một cổ phiếu rồi cộng thêm 10,000 đ vào mọi phiên, mọi đường trung bình đều dịch lên 10,000 đ, còn đường MACD thì đứng nguyên từng con số một. Nghĩa là MACD không biết cổ phiếu đang ở vùng giá nào, và không thể biết.
Điều đó dẫn tới một cách đọc mà nhiều mô tả nói ngược:
- MACD bằng không không nghĩa là giá đang ở mức trung bình, mức hợp lý, hay bất kỳ mức nào. Nó chỉ nghĩa là hai phép làm trơn đang cho cùng một giá trị.
- MACD dương không nghĩa là cổ phiếu đang mạnh theo nghĩa nào đó về giá trị. Nó nghĩa là phép làm trơn ngắn hơn đang nằm trên phép làm trơn dài hơn.
Nó chỉ phát biểu lại quan hệ giữa hai độ trễ
Bài đầu chuỗi đưa ra một đại lượng gọi là độ trễ trọng tâm, ký hiệu L, và tính được rằng với α = 2/(n+1) thì L = (n−1)/2, tức bằng đúng độ trễ trọng tâm của một đường trung bình đơn giản cùng số phiên. EMA không xoá độ trễ, nó chỉ phân bổ lại. Chứng minh và bảng trọng số đầy đủ nằm ở bài đó.
Thay hai tham số của MACD vào công thức ấy:
| Mốc | Độ trễ trọng tâm (phiên) |
|---|---|
| EMA 12 phiên | 5.5 |
| EMA 26 phiên | 12.5 |
Thay n = 12 và n = 26 vào công thức L = (n−1)/2 của đường trung bình luỹ thừa, đã chứng minh ở bài đầu chuỗi. Đây là phép tính thuần tuý trên công thức, không phải kết quả đo trên một mã cụ thể. Khoảng cách giữa hai cột là 7.0 phiên. Nguồn: Ví dụ số học, FinLens tổng hợp.
Một lưu ý về cách đọc hai cột này, vì bài đầu chuỗi đã cẩn thận tách hai đại lượng ra. Độ trễ trọng tâm là trung bình có trọng số của độ lùi thời gian, tính trên toàn bộ bộ trọng số kể cả cái đuôi. Nó không phải con số mà một phép đo tương quan trả về: bài đầu chuỗi đo EMA 20 phiên trên hai mã và cả hai lần đều ra 6 phiên, trong khi trọng tâm lý thuyết của nó là 9.5. Hai con số ấy không mâu thuẫn, chúng đo hai thứ khác nhau. Hai cột trên là trọng tâm, không phải kết quả đo, và bài này không in một con số đo cho MACD vì không có phép đo kiểm chứng lại được để dẫn.
Khoảng cách giữa hai độ trễ trọng tâm là 7.0 phiên. Và vì cả hai đường đều lọc cùng một chuỗi giá, một lần đường MACD đổi dấu chỉ phát biểu lại đúng một điều: quan hệ giữa hai độ trễ ấy vừa đảo chiều. Không một dữ liệu nào mới bước vào. Bài đầu chuỗi đã nói cùng câu này cho cặp 20 và 50 phiên, nơi khoảng cách là 15 phiên; MACD chỉ là cùng cấu trúc với hai con số nhỏ hơn.
Một chuỗi tên là EMA 12 có thể là ba chuỗi khác nhau
Bài đầu chuỗi đo được rằng phép làm trơn Wilder, thứ chạy bên trong RSI và ATR, có độ trễ trọng tâm L = n − 1, tức gấp đôi EMA cùng tham số. Nếu một công cụ dựng MACD trên hai chuỗi Wilder thay vì hai chuỗi EMA, khoảng cách giữa hai độ trễ đi từ 7.0 phiên lên 25 − 11 = 14 phiên, mà tên hiển thị trên giao diện vẫn là "MACD 12/26/9". Việc phải làm không phải là tính lại bằng tay, mà là kiểm xem công cụ đang dùng quy ước nào; bài đầu chuỗi có phép kiểm ngược hệ số làm trơn từ ba giá trị liền nhau.
Câu chốt: MACD là một phép đo độ nghiêng tương đối giữa hai độ trễ trên cùng một chuỗi, và tổng trọng số bằng không là lý do vì sao nó không thể nói gì về mức giá.
Đường tín hiệu: một phép trễ đặt lên một phép trễ
Đường tín hiệu thêm một tầng nữa, và tầng đó có một đặc điểm ít được nói ra.
Nó là EMA 9 phiên, nhưng chạy trên chuỗi MACD. Nghĩa là độ trễ trọng tâm 4.0 phiên của nó được đo trên chuỗi MACD, không phải trên chuỗi giá. Còn chuỗi MACD thì đã là kết quả của hai phép làm trơn trên giá. Cộng dồn qua hai tầng không phải một phép cộng đơn giản, vì tầng dưới không phải một phép trung bình có trọng số của giá theo nghĩa thông thường: tổng trọng số của nó bằng không.
Điều nói được chắc chắn và không cần giả định thêm là điều này: giao cắt giữa đường MACD và đường tín hiệu lại là một phép trừ nữa của hai đại lượng cùng tổng trọng số bằng không. Không trừ ra thông tin mới, và cũng không trừ đi được độ trễ nào. Toàn bộ MACD 12/26/9, cả ba thành phần, là một biến đổi tuyến tính của đúng một chuỗi số: chuỗi giá đóng cửa.
Điều đó có một hệ quả về cách phát ngôn. Câu "MACD cắt lên đường tín hiệu" là một mệnh đề đầy đủ và kiểm lại được, vì hai người cùng tham số bắt buộc ra cùng một ngày. Câu "MACD báo hiệu động lượng đang chuyển sang tích cực" thì không, vì chữ "báo hiệu" chèn vào một mệnh đề về phiên tiếp theo mà phép tính không chứa. Bài này chỉ nhận vế thứ nhất.
Câu chốt: đường tín hiệu là một phép làm trơn đặt trên một đại lượng đã lọc hai lần, nên giao cắt của nó là một phát biểu về hình dạng chuỗi, không phải một phát biểu về tương lai.
Histogram: hiệu của một hiệu
Histogram là thành phần được nhìn nhiều nhất vì nó dễ nhìn nhất, và nó cũng là thành phần nhiễu nhất. Lý do nằm ở cấu trúc chứ không ở tham số.
Đường MACD đã là hiệu của hai phép làm trơn giá, tức nó ở bậc một so với chuỗi giá. Histogram lấy đường MACD trừ đi một phiên bản làm trơn của chính nó, tức nó ở bậc hai.
Cơ chế làm nhiễu tăng lên rất đơn giản. Mỗi phép trừ giữ lại phần chênh giữa hai đầu vào và vứt đi phần chung. Với hai phép làm trơn chạy trên cùng một chuỗi, phần chung là phần lớn còn phần chênh là phần nhỏ. Phần dao động ngẫu nhiên thì không bị vứt đi cùng tỷ lệ, vì nó chính là phần hai đầu vào bất đồng với nhau nhiều nhất. Nên sau mỗi bậc, tử số nhỏ đi trong khi phần nhiễu không nhỏ đi tương ứng, và tỷ lệ nhiễu trên tín hiệu tăng.
Điều này đúng cho mọi bộ tham số, không riêng 12/26/9, và nó là lý do vì sao histogram đổi dấu thường xuyên hơn hẳn đường MACD dù cả hai được dựng từ cùng một chuỗi.
Bài không in một tỷ lệ nhiễu đo được, vì không có phép đo kiểm chứng lại được để dẫn. Lập luận ở trên là lập luận về cấu trúc, và nó dừng đúng ở đó.
Sơ đồ ba tầng xếp dọc, tầng trên là chuỗi giá đi vào hai hộp làm trơn, tầng giữa là một hộp phép trừ cho ra đường MACD, tầng dưới là một hộp làm trơn nữa và một hộp phép trừ cho ra histogram
Câu chốt: histogram nhiễu hơn không phải vì tham số của nó ngắn, mà vì nó nằm ở bậc hai của cùng một chuỗi.
Bộ 12/26/9 đến từ đâu
Câu hỏi này đáng hỏi, và câu trả lời trung thực có hai nửa.
Nửa thứ nhất: bài này không dẫn nguồn gốc của ba con số ấy, vì không có tài liệu công khai kiểm chứng lại được để dẫn. Có nhiều lời kể đang lưu hành về việc ba con số ấy được chọn theo tuần giao dịch của một thị trường khác ở một thời kỳ khác, nhưng không lời kể nào trong số đó đi kèm một tài liệu gốc có thể đối chiếu. Cách xử lý của bài là nói thẳng chỗ mình không biết, thay vì chép lại một câu chuyện.
Nửa thứ hai, và nửa này quan trọng hơn: nguồn gốc không phải điều đáng quan tâm nhất về một bộ tham số. Điều đáng quan tâm là nó có sống sót qua kiểm chứng ngoài mẫu hay không, và câu hỏi ấy áp cho mọi bộ tham số như nhau, kể cả bộ mặc định.
Về chuyện đó, chuỗi này có một kết quả đã đo. Bài chỉ báo trễ và chỉ báo dẫn chạy tối ưu tham số trong mẫu rồi kiểm lại ngoài mẫu, và tổ hợp đẹp nhất trong mẫu chính là tổ hợp sụp mạnh nhất ngoài mẫu. Cơ chế vì sao một phép dò tham số lại tự sinh ra kết quả như vậy nằm ở bài vì sao tối ưu tham số hay dẫn tới overfit. Hai bài đó nói rằng việc bộ 12/26/9 có căn cứ lịch sử hay không cũng không cứu được nó, và việc một bộ khác chạy tốt hơn trên một đoạn dữ liệu cũng không.
Điều kiểm được: ba con số đếm phiên, không đếm thời gian
Đây là chỗ bộ tham số mặc định va vào một đặc thù Việt Nam rất cụ thể.
Cửa sổ 26 phiên là 26 phiên giao dịch, không phải 26 ngày lịch và cũng không phải khoảng thời gian cố định nào. Bài khung thời gian và tính nhất quán đã dựng chuyện đếm nến khác đếm thời gian ra sao. Riêng ở Việt Nam có một khoảng nghỉ khiến khác biệt ấy lớn hơn bình thường: kỳ nghỉ Tết Nguyên đán, cùng chuỗi ngày lễ quanh nó, làm thị trường đóng cửa nhiều ngày liên tiếp.
Hệ quả cho MACD:
- Một cửa sổ 26 phiên vắt qua Tết trải trên một khoảng lịch dài hơn hẳn cửa sổ 26 phiên giữa năm. Công thức không đổi một chữ nào, nhưng lượng tin tức, lượng thời gian và số sự kiện mà 26 phiên ấy bao trùm thì khác.
- Phần đuôi của EMA làm chuyện này kéo dài hơn người ta tưởng. Bài đầu chuỗi đo được rằng với EMA 20 phiên, 13.5% tổng trọng số nằm ở các phiên cũ hơn cửa sổ danh nghĩa. Với EMA 26, cái đuôi ấy cũng không tắt hẳn, nên giá của quãng trước kỳ nghỉ còn có trọng số trong chuỗi MACD một thời gian sau đó.
- Hai mã cùng chốt số ở một ngày có thể có hai lịch phiên khác nhau, nếu một trong hai có quãng bị đình chỉ hoặc bị hạn chế giao dịch. Mục dưới quay lại chỗ này.
Hai thanh ngang cùng chia thành hai mươi sáu ô bằng nhau đặt trên một trục lịch, thanh trên nằm gọn trong một quãng ngắn còn thanh dưới bị một khoảng trống rộng chen vào giữa nên trải dài hơn hẳn trên cùng trục lịch
Câu chốt: bộ 12/26/9 là một quy ước mặc định, và ở Việt Nam nó còn là một quy ước đếm theo một đơn vị co giãn.
Chuyện gì xảy ra khi đưa MACD qua chi phí thật
Phần này đọc một kết quả đo, và cách đọc quan trọng hơn con số. Kết quả dưới đây dùng để chứng minh một cách hỏng của phép mô phỏng, không dùng để nêu ưu điểm hay nhược điểm của MACD với tư cách chiến lược.
MACD sinh nhiều lệnh hơn hẳn một cặp trung bình chậm
Trên cùng cửa sổ 5 năm từ 06/09/2021 tới 04/09/2026, cùng chu kỳ thanh toán T+2, cùng biểu phí:
| Cách sinh tín hiệu | Số lệnh trong 5 năm | Số cấu hình đổi dấu lợi nhuận khi sửa trượt giá |
|---|---|---|
| MA 20 phiên cắt MA 50 phiên | 9 tới 15 | 0 trên 4 |
| MACD 12/26/9 | 45 tới 50 | 1 |
Khoảng cách về tần suất là điều dự đoán được từ chính công thức. MACD dựng trên hai cửa sổ 12 và 26 phiên, ngắn hơn hẳn cặp 20 và 50, nên khoảng cách giữa hai độ trễ chỉ 7.0 phiên thay vì 15 phiên; và tầng đường tín hiệu thêm một cơ hội cắt nữa. Ít độ trễ chênh lệch hơn thì nhiều lần đảo chiều hơn.
Bảng này không nói cách nào tốt hơn. Nó nói một điều khác: hai cách sinh tín hiệu ấy chịu chi phí ở hai mức hoàn toàn khác nhau, nên mọi so sánh giữa chúng mà không tính chi phí là so sánh sai đối tượng.
Một tham số do người chạy tự đặt quyết định gần hết phần biên còn lại
Phép mô phỏng nào cũng phải khai một mức trượt giá, tức phần chênh giữa giá mà tín hiệu nhìn thấy và giá thực sự khớp. Mức mặc định của công cụ là 0.10% một vòng. Nhưng lưới bước giá đặt một sàn vật lý cho con số đó, và sàn ấy khác nhau theo từng mã: bài chi phí giao dịch ăn mòn lợi nhuận thế nào có bảng đầy đủ cho mười mã, cùng cách suy sàn từ bước giá. Cơ chế của lưới bước giá thì nằm ở bài hỗ trợ và kháng cự thực chất là gì, còn biểu phí và thuế nằm ở bài chi phí thật của một giao dịch.
Hai con số cần cho phần này. Mã thép trên HOSE đóng cửa 04/09/2026 ở 21,700 đ với bước giá 50 đ, nên sàn một vòng của chính nó là 0.2304%, tức gấp 2.3 lần mức mặc định. Và biên độ giữa mã có sàn cao nhất với mã có sàn thấp nhất trong bảng mười mã là 5.5 lần, nên một tham số 0.10% dùng chung cho mọi mã ưu ái có hệ thống nhóm mã giá thấp và nhóm mã trên HNX.
Chạy lại đúng cấu hình MACD 12/26/9 trên mã thép ấy, giữ nguyên mọi thứ khác và chỉ đổi trượt giá từ 0.10% sang sàn 0.2304% của chính nó:
| Mốc | Vượt mua-giữ (điểm phần trăm) |
|---|---|
| Trượt giá 0.10% | 5.3 |
| Trượt giá 0.2304% | 0.33 |
Cửa sổ 06/09/2021 tới 04/09/2026, chu kỳ T+2, phí giữ nguyên, chỉ đổi tham số trượt giá. Cột trái dùng mức mặc định 0.10% một vòng; cột phải dùng sàn suy từ bước giá 50 đ trên giá đóng cửa 21,700 đ ngày 04/09/2026, tức 0.2304%. Đây là mô phỏng quá khứ có phí và trượt giá giả định, không phải kết quả giao dịch thật, và không phải khuyến nghị. Nguồn: HOSE, FinLens tổng hợp.
Phần vượt mua-giữ đi từ +5.30 điểm phần trăm xuống +0.33 điểm phần trăm, tức bốc hơi 94%, chỉ vì một tham số mà người chạy mô phỏng tự đặt và thường không nhìn lại.
Ba điều phải nói kèm để bảng này không bị đọc sai:
Một. Cả hai cột đều là phần vượt mua-giữ, và cả hai đều dương. Nhưng cột phải chỉ dương ở mức 0.33 điểm phần trăm sau 5 năm, tức nằm trong khoảng mà bất kỳ giả định nào khác cũng có thể lật. Trượt giá không đo trực tiếp được ở đây: công cụ không trả sổ lệnh nên không có chênh lệch giá chờ mua và chờ bán thật, cũng không đo được phần trượt tăng theo quy mô lệnh. Con số 0.2304% là một sàn, không phải một ước lượng.
Hai. Đây là một cấu hình trên một mã, trong một cửa sổ 5 năm, và mã đó là một mã thép trong một giai đoạn chu kỳ hàng hoá rất mạnh. Không suy rộng ra mã khác, ngành khác, hay giai đoạn khác.
Ba. Trên toàn bộ lưới chạy lại, không cấu hình nào tốt lên khi chuyển sang sàn thật, và một cấu hình MACD trên một mã ngân hàng còn đổi dấu từ lợi nhuận dương sang âm hai chữ số. Chi tiết ca đó, cùng toàn bộ lưới 40 cấu hình, thuộc bài chi phí giao dịch ăn mòn lợi nhuận thế nào.
Chỗ hai lập luận rất dễ bị ghép sai thành một lời khuyên
Bảng tần suất ở trên nói rằng chiến lược ít lệnh chịu ít chi phí hơn. Bảng biên ở dưới nói rằng chi phí bào mòn phần biên còn lại. Ghép hai câu ấy lại thành "nên chọn tham số chậm" là một bước nhảy không có dữ liệu đỡ: chi phí thấp hơn không đồng nghĩa với kết quả tốt hơn, và một cấu hình ít lệnh vẫn có thể thua mua-giữ ở mọi mức chi phí. Hai lập luận trên chỉ nói rằng so sánh hai chiến lược khác tần suất mà không tính chi phí theo sàn của từng mã là so sánh sai, và dừng ở đó.
Câu chốt: một tham số nhỏ do người chạy tự đặt đủ để quyết định phần lớn phần biên còn lại của một cấu hình MACD, nên mọi con số backtest phải đi kèm mức trượt giá đã dùng và cơ sở của mức đó.
MACD là ca điển hình nhất của cái gọi là "chỉ báo dẫn"
MACD hay bị xếp vào nhóm chỉ báo dẫn, tức thứ báo trước. Toàn bộ phần trên của bài đã cho thấy vì sao cách xếp đó không đứng được: cả ba thành phần đều là biến đổi tuyến tính của chuỗi giá đã có, và cả ba đều cộng thêm độ trễ chứ không trừ đi.
Chuyện này không dừng ở một lập luận. Bài chỉ báo trễ và chỉ báo dẫn đo độ trễ của một nhóm chỉ báo trên 94 điểm xoay của ba mã trong 1,161 phiên, và rút ra hai kết luận mà bài này không lặp lại phần chứng minh:
- Độ trễ là một phân bố rộng, không phải một con số. Cùng một cách đo có thể cho trung vị vài phiên trong khi khoảng tứ phân vị trải rộng gấp nhiều lần, và giá trị lớn nhất trải xa hơn nữa.
- Thứ hạng về tốc độ không lặp lại giữa các mã. Hệ số tương quan hạng giữa hai mã đo được là −0.429, và giữa một cặp khác là 0.000. Một cách sinh tín hiệu nhanh nhất ở hai mã lại chậm nhất ở mã thứ ba.
Vì lý do đó, bài này không in bảng xếp hạng độ trễ giữa MACD và các chỉ báo khác. Một bảng như vậy giả vờ chắc chắn về một thứ đã được đo là không ổn định, và nó sẽ tự mâu thuẫn với chính số liệu của chuỗi.
Câu chốt: MACD không dẫn, nó trễ, và mức trễ của nó không phải một con số cố định để đem đi xếp hạng.
Một chỗ MACD không nhìn thấy: khối lượng ngoài sổ lệnh
MACD chỉ ăn giá đóng cửa, mà giá đóng cửa hình thành trong sổ lệnh khớp lệnh. Phần giao dịch thoả thuận không đi qua sổ lệnh nên không tham gia tạo giá, dù nó có thể là phần lớn khối lượng của phiên. Cơ chế đầy đủ nằm ở bài khối lượng giao dịch nói lên điều gì.
Hệ quả riêng cho MACD: một phiên có khối lượng thoả thuận rất lớn mà giá khớp lệnh gần như đứng yên sẽ không tạo ra tín hiệu nào, trong khi trên thực tế một lượng cổ phiếu đáng kể vừa đổi chủ. Chỉ báo không sai, nó chỉ đang đo một thứ hẹp hơn thứ người đọc tưởng nó đo.
Công cụ này mất tác dụng khi nào
Phần này là phần quan trọng nhất của bài. MACD là một phép biến đổi chạy trên một chuỗi số, và như mọi phép biến đổi, nó có những đầu vào mà kết quả của nó không còn nghĩa. Ở Việt Nam, phần lớn những đầu vào ấy nằm ở tầng luật và tầng dữ liệu chứ không nằm ở tầng hành vi thị trường.
| Tình huống | Vì sao MACD mất nghĩa |
|---|---|
| Chuỗi giá chưa điều chỉnh quyền | Bước nhảy hành chính ở ngày không hưởng quyền đi thẳng vào hiệu hai EMA như một cú thay đổi giá thật |
| Nhiều tuần sau một ngày không hưởng quyền | Đuôi trọng số của EMA 26 vẫn còn mang giá của quãng trước ngày đó, tức mang một mức giá khác thước |
| Đoạn có nhiều phiên trần hoặc sàn liên tiếp | Bước giá mỗi phiên do biên độ quyết định, nên hai cú lệch cung cầu rất khác nhau cho ra cùng một đường MACD |
| Cửa sổ 12 hoặc 26 phiên vắt qua kỳ nghỉ Tết và lễ | Cửa sổ đếm phiên chứ không đếm thời gian, nên nó trải trên một khoảng lịch dài hơn hẳn bình thường |
| Cổ phiếu giá thấp trên HNX hoặc UPCoM | Một bước giá đã bằng 0.7576% thị giá, nên chuỗi đầu vào chỉ nhận rất ít mức giá khác nhau |
| Cổ phiếu HOSE đi qua mốc 10,000 đ hoặc 50,000 đ | Bước giá đổi giữa chừng, hai đoạn của cùng một chuỗi có hai độ phân giải |
| Mã vừa chuyển từ HNX sang HOSE | Biên độ đi từ 10% xuống 7% và lưới giá đổi hẳn, mà cửa sổ 26 phiên thì trộn cả hai chế độ |
| Mã đang hoặc từng ở diện hạn chế giao dịch | Chuỗi có lỗ hoặc nến sinh ra từ vài điểm khớp, nên 26 phiên không phải 26 vật thể cùng loại |
| Chuỗi được phần mềm lấp bằng cách kéo ngang giá phiên gần nhất | Các phiên phẳng chưa từng tồn tại làm hiệu bậc hai bằng không một cách giả tạo |
| So giá trị MACD giữa hai mã khác thị giá | Đơn vị là đồng, nên hai con số nằm trên hai thang khác nhau |
| Công cụ dùng phép làm trơn Wilder thay cho EMA | Khoảng cách giữa hai độ trễ đi từ 7.0 phiên lên 14 phiên mà tên hiển thị không đổi |
| Đổi khung thời gian mà giữ nguyên 12/26/9 | Ba con số ấy đếm số nến của khung đang xem, nên chúng chỉ định nghĩa được sau khi khai khung |
| So hai chuỗi MACD dựng từ hai điểm khởi tạo khác nhau | EMA cần một giá trị mồi và cái đuôi trọng số không bao giờ tắt hẳn, nên hai công cụ cho hai chuỗi hơi lệch nhau ở đoạn đầu |
| Cấu hình sinh nhiều lệnh trên một mã có sàn trượt giá cao | Phần biên bị chi phí lấy đi tỷ lệ với số lệnh, chứ không tỷ lệ với chất lượng tín hiệu |
Bốn dòng đáng nói thêm.
Khoảng trống giá giả. Vào ngày giao dịch không hưởng quyền, Sở giao dịch điều chỉnh giá tham chiếu theo giá trị quyền, và trên chuỗi giá chưa điều chỉnh, bước nhảy hành chính đó hiện ra giống hệt một khoảng trống do thị trường tạo ra. Cơ chế đầy đủ nằm ở bài xu hướng và cấu trúc giá. Hệ quả riêng cho MACD nặng hơn so với phép đếm đỉnh đáy, vì MACD là một phép cộng dồn có trọng số: một cú rơi giả không chỉ tạo một điểm sai, nó đi vào cả EMA 12 lẫn EMA 26 với hai tốc độ khác nhau, nên chính hiệu hai đường bị đẩy lệch trong nhiều tuần sau đó. Việc phải làm là kiểm xem chuỗi đang xem là chuỗi thô hay chuỗi đã điều chỉnh, trước khi đọc bất kỳ giá trị MACD nào trên đoạn đó.
Chuỗi phiên trần liên tiếp. Trong một chuỗi như vậy, mức giá mỗi phiên bị chặn bởi biên độ tính trên giá tham chiếu của phiên trước, nên đường đi của giá do quy định quyết định chứ không do sổ lệnh quyết định. Phần cung cầu vượt quá biên độ không được ghi lại ở bất kỳ đâu, như bài đọc nến Nhật đã trình bày về cây nến bị cắt cụt. Hệ quả riêng cho MACD: một cú lệch cung cầu vừa phải và một cú lệch rất lớn có thể tạo ra cùng một đường MACD, vì cả hai đều bị luật cho đi hết biên độ mỗi phiên và không hơn. Con số MACD trong đoạn đó đo cái trần, không đo thị trường.
Hai cột mũi tên chỉ lên có độ dài rất khác nhau đại diện cho hai mức lệch cung cầu, cả hai cùng đi vào một khối chặn ghi nhãn biên độ, và từ khối chặn đi ra hai chuỗi nến bậc thang giống hệt nhau cùng một đường cong bên dưới trùng khít
Lưới bước giá đặt sàn cho độ phân giải đầu vào. Chốt 04/09/2026, một mã bất động sản trên HNX đứng ở 13,200 đ với bước giá đồng nhất 100 đ, tức một bước bằng 0.7576% thị giá. Nghĩa là mọi thay đổi giá nhỏ hơn con số ấy không tồn tại trong dữ liệu của mã đó. Hai đường EMA vẫn cho giá trị lẻ, nhưng chúng là trung bình có trọng số của một tập điểm rất thô, và histogram, vốn ở bậc hai, chịu ảnh hưởng của độ thô ấy rõ nhất. Cần nói thêm một chi tiết dễ bỏ qua: lưới HNX là 100 đ đồng nhất ở mọi mức giá, không chia ba bậc như HOSE, nên hai mã cùng thị giá trên hai sàn có hai độ phân giải khác nhau.
Chuỗi không đồng nhất vì diện xử lý. Cổ phiếu vào diện hạn chế giao dịch có thể bị cắt còn nửa ngày, bị bỏ khớp lệnh liên tục, hoặc bị gom giao dịch về một phiên trong tuần. Bảng quy đổi từng hình thức nằm ở bài diện cảnh báo, kiểm soát và hạn chế giao dịch. Hệ quả riêng cho MACD: cửa sổ 26 phiên gần nhất có thể gồm những phiên sinh ra từ 225 phút khớp lệnh liên tục lẫn những phiên sinh ra từ một điểm khớp duy nhất, và công thức không có chỗ nào để ghi nhận sự khác biệt đó.
Câu chốt: MACD không hỏng vì công thức của nó sai, nó hỏng vì chuỗi đưa vào không phải chuỗi mà công thức giả định.
Những chỗ bài này cố ý không khẳng định
Liệt kê ra để người đọc biết ranh giới của bài nằm ở đâu.
Không nêu nguồn gốc lịch sử của bộ 12/26/9. Có nhiều lời kể đang lưu hành, không lời kể nào đi kèm tài liệu gốc đối chiếu được, nên bài không chép lại lời nào.
Không in một tỷ lệ nhiễu đo được cho histogram. Lập luận về bậc hai là lập luận cấu trúc, và bài không có phép đo kiểm chứng lại được để đặt một con số lên đó.
Không xếp hạng MACD so với chỉ báo khác về tốc độ hay về bất kỳ tiêu chí nào. Chuỗi này đã đo được rằng thứ hạng không lặp lại giữa các mã, nên một bảng xếp hạng sẽ tự mâu thuẫn với số liệu của chính nó.
Không in một bảng backtest nhiều mã cho MACD. Bài chỉ in một cấu hình duy nhất, cấu hình mà kết quả có đủ cả hai mức trượt giá lẫn phần vượt mua-giữ. Một bảng gồm những dòng thiếu cột vượt mua-giữ sẽ đọc thành một bảng thành tích, và đó là điều bài cố tránh.
Không nói bộ tham số nào tốt hơn bộ nào, và không nói MACD tốt hơn hay kém hơn cách sinh tín hiệu nào khác. Con số duy nhất bài in ra là con số cho thấy một giả định về chi phí quyết định gần hết phần biên còn lại, tức nó nói về phép mô phỏng chứ không nói về chỉ báo.
Không so sụt giảm của một chiến lược với sụt giảm của phép mua và giữ. Hai đại lượng đó đo trên hai đường vốn khác nhau, trong đó đường vốn của chiến lược có cả những đoạn đứng ngoài thị trường, nên đặt cạnh nhau là so hai thứ khác định nghĩa.
Không phát biểu gì về phiên tiếp theo. Mọi câu trong bài đều là câu về một chuỗi số đã có.
Câu chốt: bài này nói được khá nhiều về cấu trúc của MACD vì cấu trúc là thứ tính ra được; nó nói rất ít về hiệu quả của MACD vì hiệu quả là thứ chưa có phép đo đủ vững để dẫn.
Sáu câu hỏi trước khi đọc một tín hiệu MACD
- Chuỗi giá này là chuỗi thô hay chuỗi đã điều chỉnh quyền? Nếu chưa biết, mọi giá trị MACD trong nhiều tuần sau một ngày không hưởng quyền đều chưa dùng được, vì cú rơi hành chính đã đi vào cả hai đường thành phần.
- Công cụ đang dùng phép làm trơn nào bên trong? EMA với
α = 2/(n+1)và Wilder vớiα = 1/ncho hai khoảng cách trễ chênh nhau đúng gấp đôi, mà tên hiển thị thì giống hệt nhau. - Ba con số 12, 26 và 9 đang đếm nến của khung nào? Chúng chỉ là số nến, nên chưa khai khung thì chúng chưa định nghĩa được đại lượng nào.
- Trong 26 phiên gần nhất có kỳ nghỉ Tết, có ngày không hưởng quyền, có chuỗi trần sàn liên tiếp, hay có quãng bị hạn chế giao dịch không? Mỗi thứ trong số đó làm 26 phiên ấy không còn là 26 vật thể cùng loại.
- Một bước giá của mã này bằng bao nhiêu phần trăm thị giá? Đó là độ phân giải nhỏ nhất mà chuỗi đầu vào ghi lại được, và nó cũng là sàn của phần trượt giá trong mọi phép mô phỏng.
- Nếu con số đang đọc đến từ một backtest, mức trượt giá đã dùng là bao nhiêu và dựa trên cơ sở nào? Một cấu hình MACD sinh 45 tới 50 lệnh trong 5 năm, nên chênh lệch giữa mức mặc định và sàn thật đủ để quyết định phần biên còn lại.
Câu chốt: sáu câu này không làm MACD chính xác hơn, chúng chỉ loại bớt những lần đọc chắc chắn không có nội dung.
Đọc tiếp gì
Bài này là phần thứ ba của chuỗi "Chỉ báo kỹ thuật". Phần chứng minh mà toàn bộ bài dựa vào nằm ở đường trung bình động: ba công thức làm trơn, độ trễ trọng tâm, bảng trọng số, và phép tính cho thấy tổng trọng số của một hiệu bằng đúng không. Bài chỉ báo RSI đứng ngay trước bài này và chạy trên phép làm trơn Wilder, tức chậm gấp đôi cùng tham số. Bài Bollinger Bands đi tiếp sang nhóm chỉ báo dựng trên độ lệch chuẩn thay vì trên hiệu hai đường.
Hai bài đi thẳng từ chỗ bài này dừng lại: chỉ báo trễ và chỉ báo dẫn đo độ trễ như một phân bố và cho thấy thứ hạng không lặp lại giữa các mã, còn vì sao tối ưu tham số hay dẫn tới overfit giải thích vì sao một bộ tham số chạy tốt trên một đoạn dữ liệu lại không nói được gì về đoạn sau.
Về phía kiểm chứng, bài backtest là gì và đọc kết quả thế nào dựng khung đọc một bảng kết quả, chi phí giao dịch ăn mòn lợi nhuận thế nào có bảng sàn trượt giá đầy đủ của mười mã, và sai lệch sống sót và nhìn trước nói về những cách một phép mô phỏng nhìn thấy thứ mà người giao dịch lúc đó chưa thể nhìn thấy.
Bốn bài nền của chuỗi "Nền tảng đồ thị" đứng dưới toàn bộ phần đặc thù Việt Nam ở trên: đọc nến Nhật cho cây nến bị biên độ cắt cụt, xu hướng và cấu trúc giá cho khoảng trống giá giả và các cách chuỗi bị gãy vì luật, hỗ trợ và kháng cự thực chất là gì cho lưới bước giá, và khung thời gian và tính nhất quán cho chuyện đếm nến khác đếm thời gian. Ngoài chủ đề, chi phí thật của một giao dịch có biểu phí và thuế, còn một lệnh mua đi qua những khâu nào có chu kỳ T+2, thứ ràng buộc tần suất tối đa của mọi cách sinh tín hiệu ở thị trường cơ sở.
Nội dung trong bài mang tính chia sẻ kiến thức, không phải khuyến nghị mua bán chứng khoán và không phải tư vấn đầu tư. Các mã được nhắc tới chỉ dùng làm điểm dữ liệu để minh hoạ bước giá, thị giá và một phép mô phỏng, không phải gợi ý nắm giữ. Giá đóng cửa và bước giá chốt phiên 04/09/2026 do FinLens tổng hợp; quy tắc biên độ, đơn vị yết giá và chu kỳ thanh toán theo quy chế hiện hành của HOSE, HNX và VSDC. Kết quả mô phỏng trong bài là mô phỏng quá khứ với phí và trượt giá giả định, không phải kết quả giao dịch thật, và kết quả quá khứ không bảo đảm cho kết quả tương lai.
Câu hỏi thường gặp
MACD gồm mấy thành phần và mỗi thành phần tính từ đâu?
Ba thành phần, và cả ba đều là phép trừ. Đường MACD là hiệu của hai đường trung bình luỹ thừa tính trên giá đóng cửa, thường là EMA 12 phiên trừ EMA 26 phiên. Đường tín hiệu là một EMA 9 phiên nhưng áp lên chính chuỗi MACD chứ không áp lên giá. Histogram là hiệu giữa đường MACD và đường tín hiệu. Vì mỗi tầng đều lấy hiệu, mỗi tầng đều vứt đi phần chung của hai đầu vào và chỉ giữ lại phần chênh.
Vì sao nói MACD không mang thông tin về mức giá?
Vì tổng trọng số của nó bằng không. Mỗi đường trung bình là một phép trung bình có trọng số của giá, nên tổng trọng số của nó bằng một. Lấy hiệu hai đường như vậy thì tổng trọng số của kết quả bằng một trừ một, tức bằng không. Một tổ hợp có tổng trọng số bằng không thì cộng thêm một hằng số vào toàn bộ chuỗi giá cũng không làm nó đổi. Nói cách khác, MACD đo độ nghiêng tương đối giữa hai phép làm trơn, và nó hoàn toàn không biết cổ phiếu đang ở mức giá nào.
Bộ tham số 12/26/9 dựa trên căn cứ gì?
Đó là bộ mặc định mà gần như mọi phần mềm cài sẵn, không phải một hằng số của thị trường. Bài này không dẫn nguồn gốc của ba con số ấy vì không có tài liệu công khai kiểm chứng lại được để dẫn. Điều kiểm được thì khác: ba con số đếm PHIÊN chứ không đếm thời gian, nên ở Việt Nam một cửa sổ 26 phiên vắt qua kỳ nghỉ Tết trải trên một khoảng lịch dài hơn hẳn cửa sổ 26 phiên giữa năm, dù công thức không đổi một chữ nào.
Vì sao histogram MACD nhiễu hơn đường MACD?
Vì nó là một hiệu chồng lên một hiệu. Đường MACD đã là hiệu của hai phép làm trơn giá, tức đã ở bậc một. Histogram lại lấy đường MACD trừ đi một phiên bản làm trơn của chính nó, tức lên bậc hai. Mỗi lần lấy hiệu là một lần bỏ đi phần chung của hai đầu vào, mà phần chung thường là phần lớn, nên phần còn lại vừa nhỏ hơn vừa chứa tỷ lệ dao động ngẫu nhiên cao hơn. Đó là lý do cấu trúc, và nó không phụ thuộc vào việc chọn tham số nào.
Đơn vị của MACD là gì, và có so được giữa hai mã không?
Đơn vị của đường MACD là đơn vị của giá, tức đồng, vì nó là hiệu của hai mức giá đã làm trơn. Hệ quả là không so trực tiếp được giá trị MACD giữa hai mã có thị giá khác nhau. Chốt phiên 04/09/2026, một mã bán lẻ trên HOSE đứng ở 73,100 đ trong khi một mã bất động sản đứng ở 2,160 đ, tức cách nhau khoảng 33.8 lần; mọi con số MACD của hai mã đó nằm trên hai thang hoàn toàn khác nhau và đặt cạnh nhau thì không có nghĩa.
Cập nhật lần cuối:
Đọc tiếp
Nội dung trong bài mang tính chia sẻ kiến thức, không phải khuyến nghị mua bán. Mọi quyết định đầu tư và rủi ro đi kèm thuộc về người đọc.