Trang chủ > Kiến thức EA & MT5 > Tối ưu hóa tham số

Tối ưu hóaNâng cao

Cách tối ưu tham số EA và những điều cần lưu ý

Cập nhật: May 15, 2026

Vui lòng đọc trước khi tối ưu hóa

Tối ưu hóa tham số là một tính năng mạnh mẽ, nhưng nếu dùng sai, nó có thể tối ưu quá mức theo dữ liệu lịch sử (quá khớp), dẫn đến một EA hoàn toàn không hoạt động trên thị trường thực. Bài viết này cũng giải thích chi tiết những lưu ý đó.

Tối ưu hóa là gì?

Tối ưu hóa tham số EA là quá trình backtest nhiều tổ hợp tham số khác nhau — như chu kỳ EMA, hệ số ATR và tỷ lệ rủi ro — để tìm ra tổ hợp cho hiệu suất tốt nhất.

Strategy Tester của MT5 có 'Optimization Mode' tự động kiểm tra mọi tổ hợp tham số trong phạm vi chỉ định theo kiểu vét cạn. Xử lý đa luồng cho phép tối ưu hóa tốc độ cao.

Các bước tối ưu hóa

Chọn chế độ tối ưu hóa và tích vào tham số cần tối ưu
Chọn chế độ tối ưu hóa và tích vào tham số cần tối ưu
  1. 1

    Mở Strategy Tester

    Mở Strategy Tester bằng Ctrl+R và cấu hình EA cùng cặp tiền (XAUUSD H1).

  2. 2

    Chọn chế độ tối ưu hóa

    Bật ô 'Optimization' và chọn tiêu chí tối ưu (ví dụ Max Net Profit, Max Sharpe Ratio). Chúng tôi khuyên dùng Sharpe Ratio làm tiêu chí.

  3. 3

    Đặt phạm vi tham số

    Trong tab 'Input', chọn các tham số bạn muốn tối ưu và đặt giá trị bắt đầu, bước nhảy và giá trị kết thúc. Ví dụ: FastEMA_Period (Start: 10, Step: 5, End: 50)

  4. 4

    Nhấp Start

    Khi đã cài đặt xong, nhấp 'Start'. Tùy số lượng tổ hợp tham số, quá trình này có thể mất một lúc.

  5. 5

    Xem lại kết quả

    Sau khi tối ưu hóa xong, tab 'Optimization' hiển thị danh sách kết quả cho từng tổ hợp. Sắp xếp theo Sharpe Ratio hoặc Net Profit để xem các tổ hợp hàng đầu.

Overfitting là gì?

Trong tab Inputs, tích vào tham số cần tối ưu rồi đặt Start, Step và Stop
Trong tab Inputs, tích vào tham số cần tối ưu rồi đặt Start, Step và Stop

Quá khớp là hiện tượng EA bị tối ưu quá mức theo dữ liệu backtest lịch sử và hoàn toàn ngừng hoạt động trên thị trường thực.

Ví dụ, dù bạn nhận được kết quả backtest tuyệt vời với các tham số rất cụ thể như FastEMA_Period=23, SlowEMA_Period=47, điều này nhiều khả năng chỉ là do 'khớp quá sát' với dữ liệu lịch sử và có thể không hiệu quả trên thị trường tương lai.

Dấu hiệu cảnh báo:
• Đường lợi nhuận backtest cực kỳ mượt (hiệu suất tốt bất thường)
• Chỉ được tối ưu cho một giai đoạn cụ thể
• Nhạy cảm với thay đổi tham số — thay đổi nhỏ gây ra thay đổi lớn về kết quả

Cách tránh quá khớp

Thực hiện kiểm tra ngoài mẫu (Out-of-Sample)

Tách dữ liệu dùng để tối ưu hóa (in-sample) khỏi dữ liệu dùng để xác minh (out-of-sample). Ví dụ, tối ưu hóa trên dữ liệu 2018-2023 và xác minh trên dữ liệu 2024-2025. Nếu kết quả tốt cũng xuất hiện ở giai đoạn ngoài mẫu, có thể kỳ vọng hiệu quả trên thị trường thực.

Xác minh độ ổn định trước thay đổi tham số

Xác nhận rằng kết quả backtest không thay đổi đáng kể với các tham số gần giá trị tối ưu. Ví dụ, nếu FastEMA=20 là tối ưu, điều quan trọng là các kết quả tương tự cũng xuất hiện với 19 hoặc 21.

Hạn chế các tham số bạn tối ưu hóa

Tối ưu hóa đồng thời tất cả tham số là nguy hiểm. Chúng tôi khuyên tập trung vào các tham số có tác động lớn nhất (tỷ lệ rủi ro, chu kỳ EMA, v.v.).

Thực hành tốt nhất khi tối ưu hóa

Tab Optimization Results (kết quả của từng tổ hợp tham số)
Tab Optimization Results (kết quả của từng tổ hợp tham số)
  • ✓Dùng 'Max Sharpe Ratio' hoặc 'Max Recovery Factor' thay vì 'Max Net Profit' làm tiêu chí tối ưu hóa
  • ✓Dùng dữ liệu ít nhất 3+ năm cho giai đoạn tối ưu hóa
  • ✓Luôn thực hiện kiểm tra ngoài mẫu để phát hiện quá khớp
  • ✓Thực hiện phân tích độ nhạy (kiểm tra với các giá trị gần mức tối ưu)
  • ✓Sau khi tối ưu hóa, hãy giao dịch demo ít nhất 3 tháng trước khi dùng tài khoản thực. Lưu ý: các EA miễn phí của chúng tôi không chạy trên tài khoản demo. Hãy kiểm tra trong Strategy Tester rồi bắt đầu trên tài khoản thật đã đăng ký với lot tối thiểu (bản mua trên MQL5 Market thì chạy được trên tài khoản demo).
  • ✓Cân nhắc tối ưu hóa lại định kỳ (mỗi 6-12 tháng)

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