CFD và forex là các công cụ phức tạp, có rủi ro cao bị mất tiền nhanh chóng do đòn bẩy. Công bố rủi ro

Backtest MT5 bằng Strategy Tester

Trang này hướng dẫn từng bước chạy backtest trong MetaTrader 5, giải thích các thiết lập quan trọng và cách đọc báo cáo kết quả.

Ban biên tập Extrade Vietnam ·

Trong trang này
  1. Backtest là gì và Strategy Tester làm gì
  2. Cách backtest EA trong MT5: các bước
  3. Chọn chế độ mô phỏng (Modelling)
  4. Cài spread và độ trễ
  5. Đọc báo cáo backtest
  6. Cảnh báo overfitting
  7. Câu hỏi thường gặp

Backtest là gì và Strategy Tester làm gì

Backtest là chạy một chiến lược trên dữ liệu giá quá khứ để xem nó đã hoạt động ra sao. Trong MetaTrader 5, việc này do Strategy Tester (trình kiểm tra chiến lược) đảm nhận. Công cụ này chạy được Expert Advisor (EA, chương trình giao dịch tự động) và chỉ báo, trên một mã giao dịch hoặc nhiều mã.

Kết quả backtest chỉ mô tả quá khứ trong điều kiện mô phỏng. Nó không cho biết chiến lược sẽ có lãi trong tương lai. Giao dịch CFD và forex có đòn bẩy có thể làm mất tiền rất nhanh, kể cả với chiến lược có kết quả kiểm tra đẹp.

Nếu chưa có EA trong terminal, hãy xem trước cách cài đặt EA. Muốn hiểu mã nguồn của EA, xem ngôn ngữ lập trình của MetaTrader.

Dữ liệu quá khứ (đã tinh chỉnh)Dữ liệu mớiban đầu
Overfitting (quá khớp): chiến lược được tinh chỉnh theo dữ liệu quá khứ trông rất mượt trên chính dữ liệu đó và thường thất bại trên dữ liệu chưa từng thấy. Hãy kiểm tra trên một giai đoạn riêng và trên tài khoản demo trước. Ví dụ minh họa: số liệu tự đặt ra để học, không phải giá thực hay điều kiện của sàn.

Cách backtest EA trong MT5: các bước

  1. Mở terminal MetaTrader 5 và đăng nhập tài khoản. Dùng tài khoản demo MT5 là đủ để tải dữ liệu lịch sử.
  2. Mở Strategy Tester qua menu View → Strategy Tester (tiếng Việt: Xem → Trình kiểm tra chiến lược) hoặc phím tắt Ctrl+R.
  3. Ở thẻ Settings, chọn Expert là EA cần kiểm tra.
  4. Chọn Symbol (mã giao dịch) và Timeframe (khung thời gian của biểu đồ).
  5. Ở mục Date, chọn khoảng thời gian kiểm tra.
  6. Chọn Modelling (chế độ mô phỏng giá), xem phần dưới.
  7. Nhập Deposit (số dư ban đầu), đơn vị tiền tệ và Leverage (đòn bẩy).
  8. Ở thẻ Inputs, chỉnh tham số đầu vào của EA.
  9. Nhấn Start. Tester tải dữ liệu lịch sử từ máy chủ của broker rồi chạy lệnh mô phỏng.
  10. Sau khi chạy xong, xem kết quả ở các thẻ Backtest (báo cáo), Graph (đường số dư) và Journal (nhật ký lỗi).

Tên menu và thẻ có thể khác một chút tùy bản build và ngôn ngữ giao diện. Nếu tester báo lỗi tải dữ liệu, xem lỗi MetaTrader thường gặp.

Chọn chế độ mô phỏng (Modelling)

Chế độ mô phỏng quyết định giá được tái tạo chi tiết đến đâu. Đây là thiết lập ảnh hưởng nhiều nhất đến độ tin cậy của kết quả.

Chế độ Cách hoạt động Phù hợp khi
Every tick based on real ticks Dùng tick thật đã lưu của broker, kèm spread thật Cần độ chính xác cao nhất, EA vào lệnh trong nến
Every tick Tạo tick giả lập từ dữ liệu nến phút Không có đủ tick thật
OHLC theo nến phút Chỉ dùng giá mở, cao, thấp, đóng của từng nến phút Kiểm tra nhanh EA không phụ thuộc biến động trong phút
Open prices only Chỉ dùng giá mở của mỗi nến ở khung đã chọn EA chỉ ra quyết định khi nến mới mở
Math calculations Không dùng dữ liệu giá Tính toán toán học, không phải giao dịch

Với EA có stop loss hoặc take profit gần, chế độ thô có thể cho kết quả sai lệch lớn, vì nó không biết giá chạm mức nào trước trong một nến. Cách an toàn là tối ưu nhanh bằng chế độ thô, sau đó kiểm tra lại bằng tick thật.

Cài spread và độ trễ

Spread là chênh lệch giữa giá mua và giá bán, là chi phí bạn trả cho mỗi lệnh. Spread trong tester lấy như sau:

Spread cố định quá thấp làm kết quả đẹp hơn thực tế, nhất là với EA lướt sóng nhiều lệnh. Hãy thử thêm với spread rộng hơn mức bình thường để xem chiến lược có chịu được không.

Mục Delays cho phép giả lập độ trễ khớp lệnh. Chế độ không trễ là điều kiện lý tưởng, không có trong thực tế. Chế độ trễ ngẫu nhiên gần với giao dịch thật hơn.

Ngoài spread, còn có phí qua đêm và hoa hồng tùy loại tài khoản. Xem phí swap và thông số hợp đồng để biết các thông số cần đối chiếu. Nếu kiểm tra trên dữ liệu của Exness, điều kiện hiện tại của từng tài khoản cần được kiểm tra trong khu vực cá nhân Exness hoặc trên trang chính thức.

Kiểu tài khoản hedging hoặc netting cũng ảnh hưởng đến cách tester xử lý nhiều lệnh cùng mã.

Đọc báo cáo backtest

Thẻ Backtest hiển thị nhiều chỉ số. Các chỉ số chính:

Hãy xem thêm đường cong ở thẻ Graph. Đường số dư đi lên đều nhưng đường vốn có những cú sụt sâu thường cho thấy EA giữ lệnh lỗ lâu, chẳng hạn kiểu gồng lỗ hoặc nhồi lệnh. Mức drawdown nên được so với số vốn bạn chấp nhận mất, theo nguyên tắc ở trang quản lý rủi ro.

Cảnh báo overfitting

Overfitting (quá khớp) là khi tham số được tinh chỉnh quá sát dữ liệu quá khứ. Chiến lược "học thuộc" nhiễu của lịch sử thay vì một quy luật thật, nên thường thất bại trên dữ liệu mới.

Dấu hiệu thường gặp:

Cách giảm rủi ro:

Ý tưởng chiến lược nói chung có ở trang chiến lược giao dịch.

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

Strategy Tester MT5 có miễn phí không?

Strategy Tester là một phần có sẵn trong MetaTrader 5, không phải cài thêm. Dữ liệu lịch sử được tải từ máy chủ của tài khoản bạn đang đăng nhập.

Nên chọn chế độ mô phỏng nào?

Khi có dữ liệu tick thật, chế độ dựa trên tick thật cho kết quả sát nhất. Các chế độ thô nhanh hơn, phù hợp cho tối ưu ban đầu.

Vì sao kết quả backtest khác giao dịch thật?

Vì spread, trượt giá, độ trễ và thanh khoản thực tế khác với mô phỏng, cùng với rủi ro overfitting. Backtest không bảo đảm kết quả tương lai.

Profit factor bao nhiêu là đủ?

Không có ngưỡng chung. Chỉ số này phải đọc cùng số lệnh, drawdown và kết quả trên dữ liệu forward.

Có thể kiểm tra chiến lược MT5 mà không có EA không?

Tester chạy chương trình tự động. Chiến lược giao dịch tay cần được viết thành EA, hoặc kiểm tra bằng cách ghi lại lệnh trên tài khoản demo.

Trang liên quan