Cạm bẫy của backtest — Điều chỉ kiểm thực thực tế mới biết được
Cập nhật lần cuối: 2026-05-20 | Thời gian đọc: 15 phút
Dù backtest cho đường vốn tăng đẹp, điều đó không đảm bảo lợi nhuận trong tương lai. Backtest có nhiều "cạm bẫy" khiến kết quả trông tốt hơn thực tế. Bài viết này giải thích bản chất của những cạm bẫy đó và cách tiếp cận kiểm thực thực tế để tránh bị chúng đánh lừa.
Mục lục
Tại sao backtest "quá đẹp" lại nguy hiểm
Backtest là mô phỏng trên dữ liệu giá lịch sử. Dữ liệu quá khứ chỉ có một kịch bản duy nhất — nên nếu điều chỉnh EA khớp với nó, bạn có thể tạo ra kết quả đẹp tùy ý. Đây chính là tối ưu hóa quá mức (curve fitting).
Hơn nữa, nếu cài đặt backtest dễ dàng hơn thực tế, kết quả sẽ tốt hơn thực tế. Cố định spread ở mức hẹp, giả định lệnh luôn khớp đúng giá mong muốn — những "khoảng cách với thực tế" này tích lũy lại sẽ tạo ra sự chênh lệch lớn giữa backtest và vận hành thực.
Chất lượng mô phỏng và dữ liệu tick
Strategy Tester của MT5 thay đổi độ chính xác tính toán (chất lượng mô phỏng) tùy theo cài đặt. Với cách tính dựa trên giá mở cửa (Open price only), biến động giá trong nến bị bỏ qua và việc xác định SL/TP có bị chạm hay không sẽ không chính xác.
Chính xác nhất là chế độ "Every tick (the most accurate method based on all available least timeframes)" hoặc "Every tick based on real ticks". Chế độ trước thường hiển thị độ chính xác khoảng 99.9%. Các chiến lược biên độ nhỏ như scalping càng bị ảnh hưởng nhiều hơn bởi độ chính xác tick.
| Chế độ tính toán | Độ chính xác | Mục đích sử dụng |
|---|---|---|
| Chỉ giá mở cửa | Thấp | Chỉ dùng để xem xu hướng tổng thể |
| 1 phút OHLC | Trung bình | Kiểm tra nhanh |
| Every tick | Khoảng 99.9% | Bắt buộc cho kiểm định trước khi phát hành |
| Tick thực tế | Cao nhất | Kiểm định chính xác với dữ liệu thực của broker |
4 loại chi phí hay bị bỏ qua
Những yếu tố này trông nhỏ trong backtest nhưng sẽ ăn mòn lợi nhuận trong vận hành thực.
Biến động spread
Backtest thường dùng spread cố định, nhưng spread thực tế biến động theo khung giờ — trong thời điểm công bố số liệu kinh tế, spread có thể nở rộng gấp 5–10 lần bình thường. Nếu dùng spread cố định quá hẹp, bạn đang đánh giá thấp chi phí giao dịch thực.
Slippage
Là sự chênh lệch giữa giá mong muốn và giá khớp lệnh thực tế. Backtest gần như bỏ qua yếu tố này, nhưng trong biến động mạnh hay scalping, đây là nguồn thua lỗ không thể bỏ qua.
Swap (lãi suất qua đêm)
Chi phí lãi suất phát sinh khi giữ vị thế qua ngày. Với EA giữ lệnh dài ngày, swap tích lũy có thể ảnh hưởng đáng kể đến lợi nhuận/lỗ. Cần kiểm tra cài đặt swap trong backtest có khớp với thực tế không.
Lệnh bị từ chối / requote
Trong vận hành thực, lệnh có thể không khớp được hoặc bị báo giá lại. Backtest luôn giả định lệnh khớp được, nên ma sát này không được tái hiện.
Checklist cạm bẫy của backtest
Khi xem kết quả backtest, hãy kiểm tra các điểm sau. Càng nhiều điểm phù hợp, càng nên chiết khấu con số đó.
| Điểm kiểm tra | Nội dung cạm bẫy |
|---|---|
| Chất lượng mô phỏng dưới 99.9% | Biến động giá trong nến bị bỏ qua, xác định SL/TP không chính xác |
| Spread cố định và hẹp | Đánh giá thấp chi phí giao dịch thực tế |
| Giai đoạn ngắn (dưới 3 năm) | Chỉ bao gồm một pha thị trường cụ thể, kết quả bị lệch |
| PF vượt 3.0, đường vốn quá mượt | Nghi ngờ mạnh về tối ưu hóa quá mức |
| Đánh giá trên chính giai đoạn đã tối ưu hóa | Nhầm lẫn giữa khớp dữ liệu quá khứ với năng lực thực |
| Chỉ một cặp tiền tệ, một giai đoạn | Có thể chỉ là may mắn ngẫu nhiên |
Xác nhận bằng kiểm thực thực tế và đa giai đoạn
Cách tốt nhất để tránh cạm bẫy của backtest là "kiểm định lặp đi lặp lại trong nhiều điều kiện độc lập". Một kết quả tốt duy nhất có thể là may mắn — nhưng nếu ổn định dương trong các giai đoạn khác nhau và điều kiện khác nhau, có thể kỳ vọng EA có lợi thế thực sự.
Chia thành nhiều giai đoạn để test
Chia 10 năm thành 3–4 giai đoạn, kiểm tra từng giai đoạn riêng lẻ có dương không. Nếu chỉ một giai đoạn nổi bật đỡ toàn bộ kết quả, cần thận trọng.
Dùng Walk-Forward Analysis để phát hiện tối ưu hóa quá mức
Kiểm tra kết quả có bị suy giảm trong giai đoạn chưa dùng để tối ưu hóa (OOS) không. Đây là phương pháp đáng tin cậy nhất để phát hiện tối ưu hóa quá mức.
Dùng Forward Test để đối mặt với thị trường thực
Chạy ít nhất 3 tháng trên tài khoản demo — kiểm tra EA có duy trì được 70–130% kết quả backtest dưới điều kiện spread và slippage thực tế không.
🔬 Dùng Walk-Forward Analysis để phát hiện tối ưu hóa quá mức
Trong số các cạm bẫy của backtest, tối ưu hóa quá mức là thứ khó chịu nhất. Bài viết về Walk-Forward Analysis hướng dẫn cụ thể quy trình phát hiện.
Đọc bài về Walk-Forward Analysis →