Giới hạn của các hàm trong tester
Khi sử dụng tester, bạn nên lưu ý một số hạn chế áp đặt lên các hàm tích hợp. Một số hàm trong API MQL5 không bao giờ được thực thi trong tester chiến lược và một số chỉ hoạt động trong các lần chạy đơn lẻ nhưng không hoạt động trong quá trình tối ưu hóa.
Vì vậy, để tăng hiệu suất khi tối ưu hóa Expert Advisors, các hàm Comment
, Print
, và PrintFormat
không được thực thi.
Ngoại lệ là việc sử dụng các hàm này bên trong trình xử lý OnInit
, điều này được thực hiện để dễ dàng tìm ra nguyên nhân có thể gây ra lỗi khởi tạo.
Các hàm cung cấp tương tác với "thế giới" không được thực thi trong tester chiến lược. Bao gồm MessageBox
, PlaySound
, SendFTP
, SendMail
, SendNotification
, WebRequest
, và các hàm làm việc với sockets
.
Ngoài ra, nhiều hàm làm việc với biểu đồ và đối tượng không có hiệu lực. Cụ thể, bạn sẽ không thể thay đổi biểu tượng hoặc chu kỳ của biểu đồ hiện tại bằng cách gọi ChartSetSymbolPeriod
, liệt kê tất cả các chỉ báo (bao gồm cả các chỉ báo phụ) với ChartIndicatorGet
, làm việc với mẫu ChartSaveTemplate
, v.v.
Trong tester, ngay cả ở chế độ trực quan, các sự kiện tương tác với biểu đồ, đối tượng, bàn phím và chuột không được tạo ra cho trình xử lý OnChartEvent
.