Trang chủ > Blog > Phân Tích Walk-Forward Để Tránh Curve Fitting

Walk-ForwardTối ưu hóaCurve FittingBacktestMT5

Phân Tích Walk-Forward Để Tránh Curve Fitting

Đăng: 2026-10-02Thời gian đọc: khoảng 4 phút
⏱ Bài viết này phản ánh thông tin tại thời điểm đăng. Các số liệu hiệu suất EA (PF, DD, lợi nhuận hàng năm) thay đổi theo giao dịch thực và việc kiểm chứng lại — hãy xem thông tin mới nhất trên các trang EA. Xem kết quả EA mới nhất →

Phân Tích Walk-Forward Để Tránh Curve Fitting - Quy Trình Tối Ưu Hóa EA Đúng Cách

Khi tối ưu hóa tham số trong Strategy Tester của MT5, bạn sẽ tìm được bộ tham số cho kết quả tốt nhất trên dữ liệu lịch sử.

Tuy nhiên, bộ tham số "tốt nhất" đó có thể bị quá khớp với dữ liệu lịch sử (curve fitting). Phân tích walk-forward là phương pháp giúp ngăn chặn tình trạng tối ưu hóa quá mức này.

Điểm chính của bài viết

  • Chia dữ liệu thành kỳ tối ưu hóa (in-sample) và kỳ kiểm định (out-of-sample) theo tỷ lệ 70:30, rồi lặp lại theo thứ tự thời gian
  • WFE (PF Out-of-Sample ÷ PF In-Sample × 100%) từ 60% trở lên là ngưỡng đạt yêu cầu
  • Chỉ tối ưu hóa 1~2 biến, và chọn giá trị trung vị của cluster hàng đầu thay vì Top 1

Quy Trình Phân Tích Walk-Forward (Tổng Quan)

BướcViệc cần làmMức tham khảo
1Chỉ chọn 1~2 biến để tối ưu hóaVí dụ: chỉ chu kỳ EMA
2Tối ưu hóa trong kỳ in-sample5~7 năm
3Chọn các tham số hàng đầuGiá trị trung vị của cluster trong 20% hàng đầu, không phải Top 1
4Chạy backtest trong kỳ out-of-sample23 năm (tỷ lệ 70:3080:20)
5Tính WFE và đánh giáTừ 60% là đạt, dưới 40% là nghi ngờ curve fitting
6Dịch chuyển kỳ thời gian và lặp lại bước 2~5PF có dương trong từng kỳ kiểm định không

Curve Fitting (Tối Ưu Hóa Quá Mức) Là Gì?

Vấn đề của tối ưu hóa backtest:
Tham số tốt nhất cho 10 năm dữ liệu quá khứ → Không hoạt động trong tương lai

Ví dụ: Khi tối ưu hóa chu kỳ EMA trong khoảng từ 10 đến 50

Chu kỳ EMAPF BacktestPF Forward Test
21 (giá trị tối ưu)2.30.9 ← Thực tế sẽ như vậy
30 (giá trị thứ hai)1.81.3
Giá trị trung bình1.51.4

Giá trị được tối ưu hóa (EMA=21) cho kết quả tốt nhất trong backtest, nhưng lại thất vọng trong tương lai. Đây chính là curve fitting.


Cơ Chế Hoạt Động Của Phân Tích Walk-Forward

Phân tích walk-forward chia dữ liệu thành "kỳ tối ưu hóa (in-sample)" và "kỳ kiểm định (out-of-sample)".

Bằng cách lặp lại việc này theo thứ tự thời gian, ta có thể phát hiện tình trạng tối ưu hóa quá mức.

【Ví dụ phân chia dữ liệu (10 năm)】

├─ Kỳ tối ưu hóa ─┤─ Kỳ kiểm định ─┤
2015~2018          2019     → Rút ra tham số A, kiểm định với năm 2019
     ↓
2016~2019          2020     → Rút ra tham số B, kiểm định với năm 2020
     ↓
2017~2020          2021     → Rút ra tham số C, kiểm định với năm 2021
     ↓
(Lặp lại tiếp theo)

Bằng cách tổng hợp kết quả của từng kỳ kiểm định, chúng ta có thể đánh giá "Tham số của EA này có ổn định khi điều kiện thị trường thay đổi không?"


Cách Thực Hiện Phân Tích Walk-Forward (MT5)

Strategy Tester của MT5 có thiết lập "Forward" (1/2, 1/3, 1/4 khoảng thời gian, hoặc chỉ định ngày bắt đầu): khi tối ưu hóa, phần thời gian đó được giữ lại làm dữ liệu out-of-sample và kiểm tra forward một lần, để bạn so sánh tab kết quả tối ưu hóa với tab kết quả forward. Tuy nhiên, phân tích walk-forward dạng cuốn chiếu (rolling) — dịch chuyển cửa sổ và lặp lại nhiều lần — không phải là tính năng tiêu chuẩn. Bạn có thể thay thế bằng các phương pháp sau.

Phương pháp 1: Chia Thủ Công In-Sample / Out-of-Sample

Các bước thực hiện:

  1. Thiết lập kỳ backtest từ 2015 đến 2020 và tiến hành tối ưu hóa
  2. Chọn 3 đến 5 bộ tham số hàng đầu từ kết quả tối ưu hóa
  3. Chạy backtest với các tham số đã chọn trong giai đoạn 2021~2025 (out-of-sample)
  4. So sánh PF giữa kỳ tối ưu hóa và out-of-sample
Tiêu chí đánh giá (Hiệu quả Walk-Forward):
WFE = PF Out-of-Sample ÷ PF In-Sample × 100%

WFE ≥ 60% → Đạt yêu cầu (không tối ưu hóa quá mức)
WFE 40~60% → Cần theo dõi thêm
WFE < 40% → Nghi ngờ curve fitting (không được sử dụng)

Phương pháp 2: Sử Dụng Công Cụ Bên Thứ Ba

Công cụChức năng
Strategy Quant XCó thể tự động hóa phân tích walk-forward
Thiết lập "Forward" tiêu chuẩn của MT5Kiểm tra forward out-of-sample một lần cho mỗi lần tối ưu hóa (walk-forward cuốn chiếu phải lặp lại thủ công)

Lưu Ý Khi Tối Ưu Hóa

Lưu ý 1: Chỉ Tối Ưu Hóa 1~2 Biến

Càng tối ưu hóa nhiều tham số cùng lúc, nguy cơ curve fitting càng cao.

✅ Tốt: Chỉ tối ưu hóa chu kỳ EMA (10~50, bước 5)
❌ Xấu: Tối ưu hóa đồng thời chu kỳ EMA × hệ số ATR × chu kỳ RSI

Khi tăng số lượng biến tối ưu hóa, bạn chỉ đang tăng xác suất tìm thấy tổ hợp tốt nhất một cách tình cờ do "bùng nổ tổ hợp".

Lưu ý 2: Không Sử Dụng Kết Quả Top 1 Của Quá Trình Tối Ưu Hóa

Tham số cho PF cao nhất trong danh sách kết quả tối ưu hóa là tham số có khả năng bị curve fitting cao nhất.

Thay vào đó, hãy sử dụng phương pháp sau:

Cách tiếp cận được khuyến nghị:
1. Trích xuất 20% tham số hàng đầu
2. Tìm nhóm (cluster) các tham số gần nhau
3. Chọn tham số gần với giá trị trung vị của cluster

Ví dụ: Nếu kết quả tối ưu hóa chu kỳ EMA theo thứ tự PF cao nhất là 21, 23, 19, 35, 22, 20..., thì tồn tại một cluster trong khoảng 2023. Hãy chọn giá trị trung vị của cluster này (2122).

Lưu ý 3: Lấy Kỳ Tối Ưu Hóa Đủ Dài

Cài đặt được khuyến nghị:
- Kỳ tối ưu hóa (in-sample): 5~7 năm
- Kỳ kiểm định (out-of-sample): 2~3 năm
- Tỷ lệ (in-sample : out-of-sample): 70:30~80:20

Kỳ tối ưu hóa càng ngắn, nguy cơ tối ưu hóa quá mức càng cao.


Cách Đọc Kết Quả Phân Tích Walk-Forward

Tiêu chíĐặc điểm của EA tốtĐặc điểm của EA cần thận trọng
WFE (Hiệu quả Walk-Forward)Từ 60% trở lênDưới 40%
Kết quả theo từng kỳ kiểm địnhPF dương trong từng kỳ kiểm định (dương trong tất cả các giai đoạn)Chỉ có kết quả tốt trong một kỳ kiểm định nhất định (các kỳ khác âm)
Mức PFPF out-of-sample nằm trong khoảng 50~90% của PF in-samplePF in-sample từ 3.0 trở lên (điển hình của tối ưu hóa quá mức)

Mẹo Thiết Kế Tham Số Ít Bị Tối Ưu Hóa Quá Mức

Mẹo 1: Kiểm Tra Độ Nhạy Của Tham Số

Hãy xác nhận xem PF có ổn định với các tham số trước và sau giá trị tối ưu (±10~20%) hay không.

Trường hợp EMA=21 là giá trị tối ưu:
EMA=18: PF 1.25
EMA=19: PF 1.31
EMA=20: PF 1.34
EMA=21: PF 1.38  ← Giá trị tối ưu
EMA=22: PF 1.33
EMA=23: PF 1.29
EMA=24: PF 1.24

→ PF ổn định dương với các tham số lân cận = Chiến lược vững chắc

Nếu PF thay đổi đột ngột ở các giá trị lân cận, có thể đây là dấu hiệu tối ưu hóa quá mức.

Mẹo 2: Sử Dụng Logic Đơn Giản, Khó Bị Overfit

EA có ít tham số và logic đơn giản sẽ khó bị curve fitting hơn. Hãy kết hợp các yếu tố đơn giản như EMA cross, cài đặt SL/TP dựa trên ATR.


Tóm Tắt

Tóm tắt phân tích walk-forward:

  1. In-sample (tối ưu hóa) : Out-of-sample (kiểm định) = Chia theo tỷ lệ 70:30
  2. WFE (Hiệu quả Walk-Forward) = PF Out-of-Sample ÷ PF In-Sample × 100%
  3. Ngưỡng đạt yêu cầu là WFE ≥ 60%
  4. Chỉ tối ưu hóa 1~2 biến
  5. Chọn giá trị trung vị của cluster thay vì giá trị tối ưu

Bằng cách thực hiện phân tích walk-forward, bạn có thể xác định được các EA hoạt động ổn định trong forward test. EA có kết quả backtest quá tốt càng cần được kiểm định này.


Câu Hỏi Thường Gặp

Q: Có thể thực hiện phân tích walk-forward bằng tính năng gốc của MT5 không?

Được một phần. Thiết lập "Forward" trong Strategy Tester (1/2, 1/3, 1/4 khoảng thời gian, hoặc ngày bắt đầu) cho phép kiểm chứng một lần một giai đoạn out-of-sample cùng lúc với tối ưu hóa và so sánh tab kết quả tối ưu hóa với tab kết quả forward. Phân tích walk-forward cuốn chiếu — dịch chuyển cửa sổ và lặp lại kiểm tra — không có sẵn, vì vậy hãy chia kỳ thời gian thủ công và chạy nhiều lần, hoặc dùng công cụ bên ngoài.

Q: WFE 50% có thể sử dụng được không?

WFE 50% là mức ranh giới. Nếu PF out-of-sample từ 1.2 trở lên thì có thể vận hành thực tế, nhưng chúng tôi khuyến nghị nên tích lũy ít nhất 6 tháng kết quả forward test trước khi quyết định.

Q: Sử dụng EA mà không thực hiện phân tích walk-forward có nguy hiểm không?

Không thể khẳng định là nguy hiểm, nhưng nguy cơ curve fitting sẽ tăng lên. Ít nhất hãy thực hiện phương pháp "để lại một phần kỳ tối ưu hóa làm out-of-sample".


Trang Liên Quan

📧 Khóa học email miễn phí (8 email) + gói 13 chỉ báo MT5 dành riêng cho người đăng ký

Ngay sau khi đăng ký, bạn nhận được liên kết tải gói dành riêng cho người đăng ký gồm 13 chỉ báo MT5 của chúng tôi: tệp đã biên dịch (.ex5), mã nguồn và hướng dẫn cài đặt. Sau đó là 8 email về nền tảng giao dịch tự động, cách đọc backtest đúng và cách chọn sàn (mỗi ngày một email trong 5 ngày đầu, sau đó vào ngày thứ 7, 14 và 30 kể từ khi đăng ký). Bạn cũng được báo trước mỗi lần tăng giá của các phiên bản bán trên MQL5 Market (giá ra mắt tăng dần theo doanh số). Trên trang này, EA của chúng tôi miễn phí khi có tài khoản thật tại sàn đối tác.

* Quyền riêng tư được bảo vệ nghiêm ngặt. Bạn có thể hủy đăng ký bất cứ lúc nào.

Bạn có câu hỏi về EA hay Forex?

Bạn có thể đăng câu hỏi trên diễn đàn giao dịch Nattzy (đăng ký miễn phí). Không nhất thiết liên quan đến bài viết này — cài đặt EA, chọn sàn môi giới, v.v. đều được.

Hỏi trên Nattzy ↗

Bình luận & câu hỏi