Ghi biến toàn cục ra đĩa
Để tối ưu hóa hiệu suất, các biến toàn cục được lưu trong bộ nhớ trong khi terminal đang chạy. Tuy nhiên, như chúng ta đã biết, các biến được lưu trữ giữa các phiên trong một tệp đặc biệt. Điều này áp dụng cho tất cả các biến toàn cục, ngoại trừ các biến tạm thời. Thông thường, việc ghi các biến vào tệp diễn ra khi terminal đóng. Tuy nhiên, nếu máy tính của bạn đột nhiên gặp sự cố, dữ liệu của bạn có thể bị mất. Do đó, việc chủ động khởi tạo quá trình ghi có thể hữu ích để đảm bảo an toàn cho dữ liệu trong bất kỳ tình huống bất ngờ nào. Để phục vụ mục đích này, API MQL5 cung cấp hàm GlobalVariablesFlush
.
void GlobalVariablesFlush()
Hàm này buộc nội dung của các biến toàn cục được ghi ra đĩa. Hàm không có tham số và không trả về giá trị nào.
Ví dụ đơn giản nhất được đưa ra trong script GlobalsFlush.mq5
.
void OnStart()
{
GlobalVariablesFlush();
}
2
3
4
Với script này, bạn có thể ghi các biến ra đĩa bất kỳ lúc nào nếu cần. Bạn có thể sử dụng trình quản lý tệp yêu thích của mình và kiểm tra xem ngày và giờ của tệp gvariables.dat
thay đổi ngay sau khi script được chạy. Tuy nhiên, lưu ý rằng tệp chỉ được cập nhật nếu các biến toàn cục đã được chỉnh sửa theo bất kỳ cách nào hoặc chỉ được đọc (điều này thay đổi thời gian truy cập) kể từ lần lưu trước đó.
Script này hữu ích cho những người giữ terminal bật trong thời gian dài và các chương trình sửa đổi biến toàn cục được thực thi trong đó.