Nội Dung
Backtest EA là gì?
Backtest EA là quá trình thử nghiệm chiến lược giao dịch dựa trên dữ liệu lịch sử, khi quá trình backtest diễn ra, sẽ cho bạn thấy chiến lược đã được thực hiện như thế nào trong quá khứ, bằng cách sử dụng tất cả dữ liệu có sẵn. Nhiều nhà giao dịch sử dụng EA đều tin rằng một hệ thống hoạt động tốt trong quá khứ thì nó cũng sẽ hoạt động tốt trong tương lai. Chính vì thế, Backtest thực sự là 1 quá trình quan trọng với những ai sử dụng EA. Trong bài viết sau đây tôi sẽ hướng dẫn chi tiết cho các bạn cách sử dụng Backtest EA trong phần mềm MT4. Nếu bạn đang quan tâm tới vấn đề này thì đừng bỏ qua bài viết sau đây nhé.
Trước khi đi vào vấn đề cụ thể về Backtest EA, bạn cần phải hiểu EA là gì.
Các bạn cần lưu ý: quy trình Backtest EA sẽ phải làm nhiều lần. Chính vì thế, trước khi thực hiện bạn nên thử Backtest trên tài khoản thử nghiệm (demo). Nếu Backtest thành công thì ít nhất nó sẽ mang lại hy vọng để bạn Backtest trên các tài khoản thực. Không những vừa giúp bạn tiết kiệm tiền, chúng còn mang lại cho bạn cái nhìn sâu sắc về cách EA xử lý các tình huống khác nhau của thị trường. Không có gì đảm bảo rằng nó sẽ hoạt động 100% trong tài khoản live, nhưng việc thực hiện trên tài khoản demo sẽ giúp bạn biết được các nhược điểm của chiến lược. Nếu bạn là dân IT, bạn có thể tự sửa chữa các lỗi đó. Trong trường hợp mua từ các coder khác, bạn có thể yêu cầu coder chỉnh sửa ở các phiên bản nâng cấp sau.
Dữ liệu báo giá tiền tệ – thứ nhất định phải có nếu muốn BackTest EA
Dữ liệu báo giá tiền tệ là một yếu tố quan trọng khi muốn Backtest. Một chương trình backtest tiêu chuẩn trên thiết bị đầu cuối MetaTrader 4 chỉ cần sử dụng dữ liệu từ trung tâm lịch sử MT4 và thường bấy nhiêu là đủ cho Expert Advisors (EA) không mở rộng. Tuy nhiên, với một số EA có quy mô mở rộng, đón giao dịch trong vòng 1- 15 pips, ngay cả sự thay đổi giá nhỏ nhất cũng có thể tạo ra sự khác biệt rất lớn. Vì vậy, để hiểu tác động cụ thể, bạn càng có nhiều dữ liệu kết quả bạn thu được sẽ càng khả quan hơn.
Các lưu ý khi thực hiện BackTest
Trước khi Backtest, điều quan là phải thiết lập phí spread một cách chính xác. Ví dụ, bạn không nên thử nghiệm chiến lược với mức chênh lệch quá thấp, có thể thử mức chênh lệch từ 3 pip trở lên. Nếu thử nghiệm hoạt động tốt, đồng nghĩa nó có thể hoạt động ổn định ở mức chênh lệch thấp hơn. Bên cạnh mức chênh lệch, bạn cũng nên thiết lập khung thời gian chính xác nhất.
Một tính năng hữu ích khác là backtest trong chế độ trực quan. Điều này sẽ làm mất nhiều thời gian hơn, nhưng biểu đồ sẽ chạy cùng với chiến lược giao dịch, để bạn thấy rõ việc vào lệnh và thoát lệnh là như thế nào.
Nếu gặp lỗi, bạn có thể truy cập vào Nhật ký nằm bên dưới cùng của trình kiểm tra chiến lược. Trong trường hợp bạn không phải là lập trình viên MQL, hãy chia sẻ báo cáo lỗi này với nhà phát triển EA của bạn để sửa chữa các lỗi trên.
Làm sao để phân tích được kết quả sau khi BackTest?
Sau khi hoàn thành backtest, bạn có thể tải kết quả báo cáo xuống bằng cách đặt con trỏ vào trình kiểm tra chiến lược và nhấp chuột phải chọn tải về hoặc Save:
Khi báo cáo tải xuống bạn có thể lưu nó lại, mỗi 1 mẫu báo cáo sẽ hiển thị giao dịch được thực hiện với cách cài đặt, cách vào lệnh, thoát lệnh, stop loss, v.v. Tốt nhất bạn nên lưu từng báo cáo trong các cài đặt khác nhau, và phân tích tất cả các dạng báo cáo để tìm ra phương pháp tối ưu nhất. Lưu ý backtest ở tài khoản demo không có nghĩa là chúng cũng sẽ hoạt động tốt trong môi trường giao dịch thực. Nên việc Backtest trực tiếp vẫn là cách duy nhất để kiểm tra, tìm kiếm các lỗi còn tồn đọng trong các chiến lược.
Hướng dẫn backtest trong Metatrader (MT4)
Để BackTest trước hết bạn cần phải có một EA. Bạn có thể tìm hiểu cách code chúng, hoặc mua từ một số nhà cung cấp đáng tin cậy.
Khi đã có Expert Advisor, hãy mở bảng điều khiển Strategy Tester bằng cách nhấp vào View và sau đó chọn Strategy Tester như bên dưới:
Một bảng điều khiển xuất hiện ở dưới cùng của nền tảng MT4:
Sau đó bạn làm theo hướng dẫn theo từng số thứ tự được đánh dấu để sử dụng Backtest EA như bên dưới nhé:
- Hãy chọn 1 EA bạn muốn cài đặt từ trong danh sách có tên gọi là “Expert ”
- Tại phần “ Symbol” chọn cặp tiền tệ và khung thời gian bạn muốn backtest ở mục “Period” nằm bên tay phải.
Lưu ý: hãy tải dữ liệu lịch sử cho cặp tiền tệ bạn Backtest trước khi tiếp tục, bạn có thể đọc hướng dẫn về cách tải dữ liệu trong Metatrader nếu bạn không biết cách thực hiện.
- Chọn giá trị Model. Có ba khả năng lựa chọn:
“Every tick” cho phép bạn có một backtest chính xác hơn, nhưng nó rất chậm vì MT4 sẽ phải đọc giá Mở cửa, giá Cao, giá Thấp và giá Đóng cửa từ tập dữ liệu lịch sử và tạo giá ngẫu nhiên bên trong mỗi nến, bắt đầu từ giá mở cho đến khi đóng.
“Open Close Only” Chỉ có một số thông số để chạy backtest nếu chiến lược của bạn là trung hạn, bạn không quan tâm đến các chuyển động bên trong nến đơn và bạn không cần đọc giá cao và thấp. Phương pháp này sẽ nhanh hơn nếu bạn cần chạy nhiều thử nghiệm để tối ưu hóa
“Control Points” khuyên bạn không nên sử dụng phương pháp này vì chúng sẽ chỉ chạy dựa trên các khung thời gian gần nhất.
- Chọn mức phí spread theo mức phí của sàn bạn giao dịch. Tốt nhất bạn nên chọn mức Spread lớn gấp 2 lần so với phí spread bạn phải trả thực sự.
- Bỏ chọn dòng “Use date” vì nó sẽ làm giảm phạm vi kiểm tra của bạn.
- Bỏ chọn dòng “Optimization” nếu bạn chạy backtest lần đầu tiên.
- Nhấp vào nút Start và bắt đầu chạy backtest.
Trong ví dụ dưới đây tôi đang chạy các backtest cho Expert Advisor có tên là “High Potential Days”, sử dụng khung thời gian M1 cho cặp EUR/USD cho toàn bộ lịch sử được tải trong lịch sử dữ liệu của tôi.
Sau khi chạy sẽ có một phần được gọi là “Graph” xuất hiện trong phần biểu đồ. Trong phần Kết quả trực tuyến, bạn có tất cả các thông số và hiệu suất trong chiến lược của mình, như các hình ảnh dưới đây:
Trên đây là toàn bộ hướng dẫn cách BackTest EA. Thực tế, backtest là công cụ hoàn hảo để kiểm tra chất lượng EA. Nhiều nhà phát triển tạo ra những lỗi nhỏ (lỗi) có thể được giải quyết chỉ bằng backtest. Các bạn cần lưu ý dữ liệu càng nhiều thì khả năng BackTest sẽ càng chính xác. Nên trước khi BackTest hãy đảm bảo bạn có đủ dữ liệu để thực hiện, bạn nhé. Chúc các bạn thành công!