Bỏ qua đến nội dung chính

Kiểm thử lịch sử EA: Kết quả cho biết và không cho biết điều gì?

Kiểm thử lịch sử EA mô phỏng chiến lược trên dữ liệu quá khứ, không phải dự báo hay bảo đảm lợi nhuận tương lai.

Kiểm thử lịch sử EA mô phỏng chiến lược trên dữ liệu quá khứ, không phải dự báo hay bảo đảm lợi nhuận tương lai.

Hiểu phép thử

Kết quả phụ thuộc vào mã giao dịch, giai đoạn, dữ liệu giá, cách mô hình hóa, chi phí giao dịch, giả định thực hiện và cài đặt EA. So sánh bằng các giả định giống nhau và được ghi lại; kết quả tốt chưa chứng minh thiết lập thực tế.
​

Kiểm thử lịch sử đánh giá cài đặt đã chọn. Tối ưu hóa thử nhiều cài đặt để tìm kết quả quá khứ tốt hơn. Chọn tổ hợp tốt nhất trong quá khứ có thể gây khớp quá mức với dữ liệu cũ.


Thiết lập một lần kiểm thử lịch sử EA trên MT4 máy tính

  1. Mở Xem → Bộ kiểm thử chiến lược hoặc nhấn Ctrl+R. Trong Cài đặt, chọn Cố vấn chuyên gia (EA) đã biên dịch và có sẵn trên nền tảng.

  2. Chọn tên Mã giao dịch đầy đủ và Khung thời gian của biểu đồ. Bật Sử dụng ngày, nhập Từ và Đến để giới hạn khoảng dữ liệu lịch sử.

  3. Chọn Mô hình: mọi tick, điểm kiểm soát hoặc chỉ giá mở cửa. Chỉ giá mở cửa không tái hiện mọi biến động trong nến. Lưu phương pháp đã chọn cùng kết quả.

  4. Kiểm tra Chênh lệch (Spread). Mặc định dùng chênh lệch khi bắt đầu kiểm thử để mô phỏng giá Ask từ lịch sử Bid; cũng có thể đặt giá trị riêng. Đây không phải chênh lệch lịch sử thay đổi liên tục.

  5. Trong Thuộc tính EA → Kiểm thử, đặt số dư ban đầu mô phỏng, tiền tệ và hướng giao dịch được phép. Trong Đầu vào, đặt từng Giá trị; khoảng Bắt đầu, Bước và Kết thúc dùng cho tối ưu hóa.

  6. Tắt Tối ưu hóa để kiểm thử một lần với tham số cố định. Có thể bật Chế độ trực quan, rồi nhấn Bắt đầu. Sau đó xem Kết quả, Đồ thị, Báo cáo và Nhật ký, gồm chất lượng mô hình và lỗi.


MT4: Tối ưu đầu vào và kiểm thử lại lượt đã chọn

Tối ưu hóa lặp lại mô phỏng dữ liệu quá khứ với các giá trị đầu vào được chọn khác nhau.

  1. Trong Trình kiểm thử → Cài đặt, chọn EA có sẵn, mã sản phẩm, khung thời gian, phương pháp mô hình hóa, khoảng ngày và chênh lệch giá. Bật Tối ưu hóa; nếu tắt, hệ thống chạy một kiểm thử với đầu vào cố định.

  2. Mở Thuộc tính chuyên gia → Kiểm thử. Đặt tiền nạp mô phỏng, loại tiền, hướng giao dịch được phép và tiêu chí xếp hạng. Chỉ chọn tìm kiếm bằng thuật toán di truyền nếu bạn muốn sử dụng.

  3. Trong Đầu vào, đánh dấu từng tham số cần thay đổi rồi đặt giá trị Bắt đầu, Bước và Kết thúc. Tham số không được đánh dấu giữ nguyên Giá trị cố định.

  4. Trong Thuộc tính chuyên gia → Tối ưu hóa, chỉ bật và đặt các giới hạn lượt chạy mà bạn muốn. Khi chạm giới hạn, lượt đó dừng lại và lượt tiếp theo tiếp tục.

  5. Chọn Bắt đầu. Xem Kết quả tối ưu hóa và Đồ thị tối ưu hóa; kết quả tóm tắt từng lượt, không phải từng giao dịch. Sắp xếp theo cột và kiểm tra xem Bỏ qua kết quả không hữu ích có đang ẩn các lượt không sinh lời hay không.

  6. Nhấp đúp một lượt hoặc chọn Đặt tham số đầu vào. MT4 đưa đầu vào của lượt đó về Cài đặt và tắt Tối ưu hóa. Kiểm tra các giá trị được khôi phục rồi chọn Bắt đầu để kiểm thử một lần.

Trường đầu vào

Ý nghĩa

Bắt đầu

Giá trị ban đầu

Bước

Mức tăng

Kết thúc

Giá trị cuối

Giá trị

Giá trị cố định khi tham số không được đánh dấu

Lưu đầu vào đã chọn và khoảng thời gian thực sự được kiểm thử. Chọn kết quả quá khứ tốt nhất không phải là kiểm chứng độc lập bằng dữ liệu tương lai và không chứng minh khả năng sinh lời trong tương lai.


Thiết lập một lần kiểm thử lịch sử EA trên MT5 máy tính

  1. Trong Bộ điều hướng, mở menu ngữ cảnh của EA và chọn Kiểm thử. Trong Cài đặt của bộ kiểm thử, chọn kiểm thử một lần thay vì tối ưu hóa tham số.

  2. Chọn Mã giao dịch chính, khung thời gian và phạm vi Ngày; ngày kết thúc không được tính. Với EA đa mã, bật các mã cần thiết trong Bảng giá → Mã giao dịch.

  3. Kiểm tra mô hình tick và độ trễ thực thi. Tick tạo ra và tick thực có sẵn là dữ liệu khác nhau. Kiểm thử không độ trễ mô phỏng thực thi lý tưởng, không chứng minh hiệu suất thực tế.

  4. Đặt số dư ban đầu mô phỏng, tiền tệ và Đòn bẩy, rồi nhập Đầu vào của EA. Lưu các giả định mô phỏng này cùng lần kiểm thử.

  5. Để phát lại biểu đồ, dùng tác nhân cục bộ, tắt tối ưu hóa và bật kiểm thử trực quan. Nhấn Bắt đầu trong Cài đặt; tải lịch sử có thể mất thời gian.

  6. Xem Kết quả, Đồ thị và Nhật ký. Kiểm tra thông báo dữ liệu hay thay đổi ngày bắt đầu; lưu báo cáo cùng phiên bản và cài đặt EA. Đọc giải thích dưới đây trước khi so sánh.


Thiết lập tối ưu hóa tham số trên MT5 máy tính

  1. Mở lệnh Kiểm thử của EA trong Bộ điều hướng. Trong Cài đặt, kiểm tra mã giao dịch, khung thời gian, ngày và các giả định mô phỏng.

  2. Chọn tối ưu hóa tham số thay vì kiểm thử đơn lẻ.

  3. Trong Đầu vào, đánh dấu các tham số cần thay đổi. Đặt giá trị Bắt đầu, Bước và Kết thúc; tham số không được đánh dấu sẽ giữ nguyên. Kiểm tra số tổ hợp hiển thị.

  4. Chọn phương pháp tìm kiếm và, với tối ưu hóa di truyền, tiêu chí xếp hạng.

  5. Nếu cần, thiết lập giai đoạn kiểm thử kỳ sau trước khi bắt đầu theo hướng dẫn bên dưới.

  6. Nhấp Bắt đầu. Sau khi hoàn tất, sắp xếp Kết quả tối ưu hóa bằng tiêu đề cột. Nhấp đúp một kết quả để kiểm thử bộ tham số đó trong một lần kiểm thử đơn lẻ.


Chọn phương pháp tối ưu hóa

Thuật toán đầy đủ chậm đánh giá mọi tổ hợp đã chọn và có thể mất nhiều thời gian. Thuật toán di truyền nhanh tìm kiếm trong tập nhỏ hơn; điều này không chứng minh mọi tổ hợp đã được kiểm thử. Tiêu chí chỉ xếp hạng kết quả, không xác nhận chiến lược có lợi nhuận. Hãy ghi lại phương pháp và tiêu chí.

Ước tính lợi nhuận theo pip bỏ qua phí qua đêm, hoa hồng và kiểm tra ký quỹ. Hãy dùng chế độ chi tiết hơn trước khi đánh giá rủi ro; cách tính nhanh này không tái hiện mọi chi phí giao dịch.


Dành riêng và so sánh giai đoạn kiểm thử kỳ sau

  1. Trong Cài đặt → Kiểm thử kỳ sau, chọn 1/2, 1/3, 1/4 hoặc Tùy chỉnh.

  2. Phần cuối của khoảng Ngày được dành riêng; tối ưu hóa dùng phần đầu. Với Tùy chỉnh, đặt ngày bắt đầu giai đoạn kỳ sau.

  3. Sau khi hoàn tất, so sánh các kết quả được chọn trong Kết quả tối ưu hóa và Kết quả kiểm thử kỳ sau. Không nhất thiết mọi tổ hợp đều được kiểm thử trong giai đoạn kỳ sau.

  4. Lưu cả hai giai đoạn và bộ tham số cùng báo cáo. Điều chỉnh lại dựa trên giai đoạn kỳ sau sẽ làm mất tính độc lập của giai đoạn đó.


Chọn chế độ mô phỏng tick MT5 có chủ đích

Chế độ

Ý nghĩa của lựa chọn

Mọi tick

Mô phỏng giá trung gian từ các thanh một phút; đây không phải lịch sử tick thực đã được ghi lại.

Mọi tick dựa trên tick thực

Dùng tick hiện có của nhà môi giới, với chênh lệch giá có thể thay đổi trong một phút. Tick của những phút thiếu dữ liệu có thể được tạo từ các thanh một phút.

OHLC 1 phút

Dùng các điểm mở cửa, cao nhất, thấp nhất và đóng cửa của mỗi phút. Chế độ này không đổi khung thời gian kiểm thử EA thành M1.

Chỉ giá mở cửa

Gọi EA khi thanh mở cửa; W1/MN1 được mô phỏng theo ngày. Kết quả lệnh dừng/lệnh chờ và quyền truy cập khung thời gian có giới hạn; không có Độ trễ ngẫu nhiên.

Các chế độ này kiểm thử những giả định khác nhau. Kết quả từ chế độ đơn giản không tương đương kiểm thử bằng tick thực. Chọn chế độ phù hợp với logic EA và lưu tên chế độ trong báo cáo.


Kiểm tra khâu chuẩn bị và giai đoạn lịch sử thực tế

  1. Chờ lịch sử của các mã cần thiết đồng bộ. Chiến lược nhiều mã có thể tạm dừng trong khi tải lịch sử khác.

  2. So sánh ngày yêu cầu và ngày thực tế trong Nhật ký. Thiếu dữ liệu trước ngày bắt đầu có thể khiến thời điểm bắt đầu bị lùi về sau.

  3. Ghi lại sự thay đổi đó trong báo cáo; không trình bày toàn bộ giai đoạn yêu cầu là đã được kiểm thử.

  4. Đổi khung thời gian để rút ngắn khâu chuẩn bị sẽ thay đổi thử nghiệm. Kiểm tra thiết kế EA trước khi so sánh kết quả từ khung thời gian khác đó.


MT5: các điều kiện kỹ thuật ảnh hưởng đến kiểm thử

Cần phân biệt hành vi sau của bộ kiểm thử MT5 với giả định của MT4 và hoạt động trên Tài khoản thực.

Điều kiện

Hành vi kiểm thử

Chênh lệch (Spread)

MT5 dùng giá trị lịch sử theo dạng thả nổi. Nếu giá trị lịch sử bằng không hoặc âm, giá trị gần nhất đã biết được dùng.

Lịch sử trước kiểm thử

Yêu cầu tối thiểu: D1 trở xuống, một năm; W1, 100 thanh; MN1, tám năm (96 tháng). Thiếu dữ liệu chuẩn bị có thể đẩy thời điểm bắt đầu thực tế về sau.

Nhiều mã

Thanh mới ở một mã không bảo đảm mã khác cũng có thanh mới. Kiểm thử chỉ giá mở cửa cần đặc biệt chú ý việc đồng bộ này.

Thời gian mô phỏng

GMT, giờ địa phương và giờ máy chủ bằng nhau trong bộ kiểm thử. Điều này không xác lập múi giờ máy chủ thực.

Đối tượng đồ họa

Không vẽ đối tượng khi kiểm thử/tối ưu hóa không trực quan; truy vấn thuộc tính trả về không. Giới hạn này không áp dụng cho kiểm thử trực quan.

Lời gọi DLL

Tác nhân từ xa cấm gọi DLL. Tác nhân cục bộ cần quyền nhập tương ứng; có quyền không chứng minh chương trình đáng tin cậy.

Không bật nhập DLL chỉ để chạy kiểm thử. Xác định nhu cầu cụ thể và độ tin cậy của chương trình trước; giữ tắt các quyền không liên quan.


Kiểm tra kiểm thử quá khứ trực quan trong MT5

  1. Sau khi bắt đầu kiểm thử trực quan như hướng dẫn ở trên, dùng cửa sổ trực quan hóa riêng. Biểu đồ chính sử dụng khung thời gian kiểm thử; hãy chọn trước khi bắt đầu vì không thể đổi trong cửa sổ này.

  2. Đọc các dấu giao dịch trên biểu đồ cùng với giá kiểm thử. Đây là hoạt động mô phỏng, không phải giao dịch hoặc giá đang diễn ra trong tài khoản thực của bạn.

  3. Mở Xem → Theo dõi thị trường hoặc nhấn Ctrl+M để xem giá và thời gian hiện tại trong mô phỏng.

  4. Mở Xem → Cửa sổ dữ liệu hoặc nhấn Ctrl+D. Di chuyển con trỏ lên một thanh giá để xem ngày, giá OHLC, chênh lệch giá, khối lượng và giá trị chỉ báo.

  5. Mở Xem → Hộp công cụ hoặc nhấn Ctrl+T. Đối chiếu Giao dịch cho vị thế và lệnh chờ mô phỏng, Lịch sử cho lệnh và khớp lệnh, Hoạt động cho yêu cầu của EA và Nhật ký cho nhật ký kiểm thử.

  6. Khi điều tra một hoạt động ngoài dự kiến, đối chiếu thời gian mô phỏng giữa yêu cầu, khớp lệnh và mục nhật ký liên quan. Hoạt động được yêu cầu và giao dịch đã khớp là các bản ghi khác nhau.


Kiểm tra thử nghiệm MT5 không hoàn tất

  1. Đọc Nhật ký theo thứ tự thời gian. Quá trình chuẩn bị lịch sử có thể tải dữ liệu của mã chính và các mã dùng để quy đổi tiền tệ; chuẩn bị dữ liệu khác với việc EA đã chạy.

  2. OnInit thất bại nghĩa là EA không thể khởi tạo. Kiểm tra đầu vào và thông báo kèm theo; đây không phải bằng chứng lệnh thực bị từ chối.

  3. Lỗi bộ nhớ, chỉ số mảng ngoài phạm vi và phép chia cho không có thể kết thúc thử nghiệm. Ghi đúng thông báo lỗi và trao đổi với nhà phát triển, thay vì xem báo cáo một phần là thử nghiệm hoàn chỉnh.

  4. So sánh khoảng ngày yêu cầu với điểm dừng thực tế. Đóng vị thế bắt buộc trong mô phỏng hoặc EA tự gỡ có thể làm thử nghiệm kết thúc sớm. Lưu phiên bản EA, thiết lập và thông báo nhật ký liên quan cùng báo cáo; kết thúc sớm tự nó không xác định được nguyên nhân.


MT5: Đọc các trường trong báo cáo kiểm thử

Hãy so sánh các chỉ số mô phỏng lịch sử này cùng nhau. Chỉ một tỷ lệ cao không chứng minh khả năng sinh lời tương lai.

Trường

Diễn giải

Chất lượng lịch sử

Chất lượng dữ liệu giá một phút, gồm cả khoảng trống; không phải tỷ lệ giao dịch thắng.

Hệ số lợi nhuận

Tổng lãi chia tổng lỗ; giá trị một nghĩa là chúng bằng nhau.

Hệ số phục hồi

Lợi nhuận thu được chia mức sụt giảm tối đa.

Tỷ lệ Sharpe

Lợi suất trừ lãi suất phi rủi ro, chia độ lệch chuẩn lợi suất. Bộ kiểm thử giả định lãi suất phi rủi ro bằng không.

Sụt giảm số dư / vốn chủ sở hữu

Tuyệt đối so sánh tiền ban đầu với giá trị thấp nhất bên dưới nó. Tối đa đo mức giảm lớn nhất từ đỉnh cục bộ đến đáy tiếp theo bằng tiền; Tương đối đo bằng phần trăm. Kiểm tra số dư và vốn chủ sở hữu riêng.

Thời gian giữ vị thế

Từ mở đến đóng hoàn toàn. Đóng một phần và đảo chiều không được tính là đóng hoàn toàn cho chỉ số này.

Biểu đồ vào lệnh nhóm các lần mở, tăng và đảo chiều. Biểu đồ lãi/lỗ nhóm các lần thoát, gồm đóng một phần và đảo chiều. Phân bố theo giờ, ngày trong tuần hoặc tháng mô tả kiểm thử; không chỉ ra thời điểm giao dịch bảo đảm sinh lời.


Đọc kết quả trong toàn bộ quá trình

Ví dụ, kiểm thử bắt đầu với 10.000 và kết thúc với 12.000 cho thấy lợi nhuận ròng trong mô phỏng đó. Nó không cho biết mức giảm trong quá trình, số vốn chịu rủi ro hay mức phụ thuộc vào vài giao dịch. Hãy xem cả đường vốn chủ sở hữu, mức sụt giảm, số giao dịch và phân bố kết quả. Các số liệu chỉ để minh họa, không phải mục tiêu lợi nhuận hay khuyến nghị chiến lược.
​

Đường số dư chủ yếu phản ánh giao dịch đã hoàn tất; đường vốn chủ sở hữu còn phản ánh lãi lỗ chưa thực hiện. Vì thế đường số dư ổn định có thể che giấu khoản lỗ thả nổi lớn. Trước khi so sánh báo cáo, hãy kiểm tra loại đường và chỉ tiêu sụt giảm được dùng.


Kiểm tra dữ liệu và chi phí trước khi so sánh

Xác nhận chính xác mã sản phẩm, thời gian, phạm vi dữ liệu, phương pháp mô hình hóa và giả định chi phí. Chênh lệch giá, hoa hồng, phí qua đêm và độ trễ khớp lệnh có thể làm thay đổi kết quả. Không mặc định mọi chi phí hoặc điều kiện khớp lệnh thực tế hiện tại đều được tái hiện. Dữ liệu thiếu hay nguồn giá khác cũng có thể thay đổi chuỗi giao dịch.
​

Phân biệt kiểm thử MT4 với MT5. EA dành cho hai nền tảng không tự động là cùng một chương trình; nền tảng, phiên bản EA và cài đặt phải khớp với báo cáo. Nếu không có giao dịch, kiểm tra nhật ký, dữ liệu khả dụng và tham số đầu vào trước khi kết luận EA lỗi hoặc chiến lược không giao dịch.


Tách lựa chọn tham số khỏi kiểm chứng độc lập

Nếu liên tục chỉnh tham số đến khi một giai đoạn lịch sử có kết quả tốt, giai đoạn đó không còn là kiểm chứng độc lập. Giữ riêng một giai đoạn trước khi chọn tham số, rồi đánh giá cài đặt đã chọn mà không tinh chỉnh theo giai đoạn ấy. Liên tục chọn kết quả tốt nhất có thể tạo báo cáo đẹp nhưng không áp dụng được cho thời kỳ khác.
​

Lưu hồ sơ có thể tái lập: nền tảng và phiên bản EA, mã sản phẩm, thời gian, số dư thử ban đầu, bộ tham số, mô hình, chi phí và báo cáo. So sánh từng thay đổi riêng lẻ. Kiểm thử lịch sử, tối ưu hóa và vận hành demo trả lời các câu hỏi khác nhau; không mục nào tự chứng minh sự phù hợp hay khả năng sinh lời.


Sử dụng kết quả hợp lý

Xem mức sụt giảm và số giao dịch bên cạnh lợi nhuận. Giữ một giai đoạn riêng chưa dùng để chọn tham số rồi so sánh hiệu suất tại đó. Thử nghiệm demo bổ sung kinh nghiệm vận hành nhưng không bảo đảm kết quả giao dịch thật.

Lưu phiên bản EA, cài đặt, giai đoạn và giả định cùng báo cáo để điều tra khác biệt. EA chạy trong MT4/MT5 không có nghĩa FXTRADING.com chứng nhận khả năng sinh lời. Không thể cài đặt hoặc chạy EA trong FXTRADING.com App.

Nội dung này có giải đáp được câu hỏi của bạn không?