Đừng để bộ nhớ đệm tham số của MT5 Tester đánh lừa
Mục lục
- Kết luận: hãy coi tham số trong Tester là "giá trị của lần trước" còn sót lại
- Vì sao lại kiểm tra nhầm cấu hình khác?
- Tester lưu và tái sử dụng tham số đầu vào
- Điều phiền toái là kết quả trông vẫn "hợp lý"
- Quy trình kiểm tra của chúng tôi
- 1. Ghi toàn bộ tham số vào [TesterInputs] của file cấu hình
- 2. Đối chiếu tham số đầu vào trong báo cáo
- 3. Cập nhật EA thì coi như một "EA khác"
- Danh sách kiểm tra
- Giới hạn và lưu ý
- Tóm tắt
Kết luận: hãy coi tham số trong Tester là "giá trị của lần trước" còn sót lại
Strategy Tester của MT5 ghi nhớ tham số đầu vào lần trước cho từng EA. Đây là tính năng tiện lợi, nhưng sau khi cập nhật EA hoặc ngay sau một lần kiểm tra khác, cấu hình bạn tưởng mình đang kiểm tra và cấu hình thực sự được chạy có thể không khớp nhau.
Cách xử lý của chúng tôi rất đơn giản: không tin các giá trị hiển thị trên màn hình Tester. Ghi toàn bộ tham số vào mục [TesterInputs] của file cấu hình, rồi đối chiếu với các tham số được lưu trong báo cáo. Bài viết này giải thích lý do và quy trình.
📧 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.
Vì sao lại kiểm tra nhầm cấu hình khác?
Tester lưu và tái sử dụng tham số đầu vào
Tester của MT5 lưu các tham số đã dùng gần nhất theo từng EA và nạp lại khi bạn chọn lại EA đó. Bạn đỡ phải nhập tay, nhưng sự cố có thể xảy ra trong những tình huống sau:
- Bạn đã chỉnh sửa EA và đổi giá trị mặc định, nhưng Tester vẫn giữ giá trị cũ
- Sau khi thử một giá trị cực đoan khi tối ưu hóa, bạn chạy backtest thông thường mà vẫn để nguyên giá trị đó
- Lot hoặc bộ lọc đã đổi cho một cặp tiền khác bị mang sang lần kiểm tra tiếp theo
Cả ba trường hợp này đều có thể nhận ra nếu nhìn kỹ màn hình. Nhưng với EA có vài chục tham số, chỉ lệch một mục là rất dễ bỏ sót.
Điều phiền toái là kết quả trông vẫn "hợp lý"
Dù cấu hình sai, Tester vẫn không báo lỗi. Nếu kết quả lệch hẳn thì bạn sẽ nhận ra, nhưng rắc rối nằm ở trường hợp ra con số trông có vẻ hợp lý.
Ví dụ, đặt cạnh nhau hai EA họ Donchian chạy trên USDJPY H1 (cả hai đều là số liệu thực đo từ backtest MT5 thực tế):
| EA | PF | Số lệnh | DD hiệu dụng |
|---|---|---|---|
| DONCHIAN ENGINE | 1.5 | 631 | 10.8% |
| MEGAMAX DONCHIAN | 1.55 | 629 | 58.6% |
PF và số lệnh gần như không khác nhau, nhưng DD hiệu dụng chênh lệch rất lớn. Sự khác biệt trong thiết kế của hai EA được ghi ở trang của từng EA. Điều chúng tôi muốn nói ở đây là: nếu chỉ nhìn PF và số lệnh thì không thể biết kết quả được chạy bằng cấu hình nào. Chỉ cần lệch một tham số, việc đánh giá rủi ro có thể thay đổi hoàn toàn.
Quy trình kiểm tra của chúng tôi
1. Ghi toàn bộ tham số vào [TesterInputs] của file cấu hình
MT5 cho phép khởi động Tester bằng một file cấu hình (ini). Trong mục [TesterInputs] của file đó, hãy ghi toàn bộ tham số đầu vào, không chỉ những mục cần thay đổi.
[Tester]
Expert=MyEA
Symbol=USDJPY
Period=H1
Model=4
[TesterInputs]
InpLots=0.10||0.10||0.01||1.00||N
InpPeriod=20||10||5||50||N
Cú pháp là "giá trị||bắt đầu||bước||kết thúc||có tối ưu hóa hay không (Y/N)". Với backtest thông thường, phần cuối là N.
Những mục không được ghi ở đây sẽ chạy với giá trị nào có thể thay đổi tùy môi trường, nên chúng tôi không dựa vào chúng. Vì chính cái suy nghĩ "chắc là vẫn để mặc định" là nguyên nhân của sự cố mà bài này nói đến.
2. Đối chiếu tham số đầu vào trong báo cáo
Báo cáo của Tester lưu lại các tham số thực sự đã dùng. Sau khi kiểm tra xong, hãy đối chiếu tham số trong ini với tham số trong báo cáo. Chuyển cả hai sang dạng văn bản rồi so sánh sự khác biệt sẽ chắc chắn hơn là nhìn bằng mắt.
3. Cập nhật EA thì coi như một "EA khác"
Với EA đã đổi giá trị mặc định sau khi chỉnh sửa, hãy gắn phiên bản vào tên file và lưu thành tên mới. Làm vậy là để chặn ngay từ đầu con đường tự động nạp các giá trị cũ đã lưu.
Danh sách kiểm tra
- Đã ghi toàn bộ tham số đầu vào vào
[TesterInputs] - Sau khi tối ưu hóa, phần cuối của mọi mục đã trở về
N - Tham số trong báo cáo khớp với ini
- Đã đổi tên file sau khi chỉnh sửa EA
- Đã chỉ định rõ symbol, khung thời gian và mô hình hóa trong
[Tester]
Giới hạn và lưu ý
Quy trình này cũng không ngăn được mọi sự cố.
- Các hằng số nội bộ của EA không hiển thị thành tham số đầu vào không thể quản lý bằng ini. Cần xác nhận mã nguồn có giống nhau hay không bằng cách khác.
- Dù tham số đúng, nếu dữ liệu lịch sử hoặc điều kiện spread khác nhau thì kết quả vẫn thay đổi. Việc đối chiếu tham số chỉ là một yếu tố để giữ khả năng tái lập.
- Chính chúng tôi cũng không dám khẳng định mọi lần kiểm tra thực hiện trước khi áp dụng triệt để quy trình này đều đúng. Chúng tôi đã kiểm tra lại những gì phát hiện được, nhưng không thể nói rằng tuyệt đối không có sót.
Cách cài đặt các EA đang phân phối có trong hướng dẫn cài đặt EA, còn các kinh nghiệm kiểm tra khác được tổng hợp ở Kiến thức.
Tóm tắt
- Tester của MT5 nhớ tham số lần trước và có thể kế thừa mà bạn không hay biết
- Cấu hình lệch cũng không báo lỗi, lại ra con số trông hợp lý nên khó nhận ra
- Cách xử lý: ghi toàn bộ tham số vào
[TesterInputs]và đối chiếu với tham số trong báo cáo - Khi chỉnh sửa EA, hãy lưu dưới tên mới để các giá trị cũ đã lưu không bị nạp lại
- Dù vậy vẫn không ngăn được khác biệt về hằng số nội bộ và điều kiện dữ liệu, nên quản lý tham số chỉ là một phần của việc kiểm tra
Liên quan
2026-10-10
Sharpe Ratio có đánh giá được EA không — Giới hạn cần biết
2026-10-02
Giới Thiệu Thuật Toán Di Truyền Trong Tối Ưu Hóa EA trên MT5
2026-07-15
Cùng một EA, kết quả trái ngược: tick thực và OHLC
2026-05-18
Backtest MT5: 1 minute OHLC, Every tick hay tick thực?
📧 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 ↗