Thời gian Toàn cầu
Trong MQL5, bạn có thể tìm ra thời gian GMT (UTC) toàn cầu dựa trên thời gian cục bộ của máy tính và múi giờ của nó.
datetime TimeGMT()
datetime TimeGMT(MqlDateTime &dt)
Hàm này trả về GMT dưới định dạng datetime
, tính toán từ thời gian cục bộ của máy tính, có tính đến việc chuyển đổi sang giờ mùa đông hoặc mùa hè.
Công thức tính toán tổng quát:
TimeGMT() = TimeLocal() + TimeGMTOffset()
Do đó, độ chính xác của việc biểu diễn thời gian toàn cầu phụ thuộc vào việc cài đặt đồng hồ chính xác trên máy tính cục bộ. Lý tưởng nhất, giá trị thu được nên khớp với giá trị mà máy chủ biết.
Đối với các chiến lược giao dịch dựa trên tin tức kinh tế bên ngoài, cách dễ nhất là sử dụng lịch ở múi giờ GMT: sau đó, các sự kiện sắp tới có thể được theo dõi bằng TimeGMT
. Để gắn một sự kiện với thời gian máy chủ trên biểu đồ, bạn nên hiệu chỉnh sự kiện theo sự khác biệt giữa múi giờ máy chủ và GMT (TimeTradeServer() - TimeGMT()
). Nhưng hãy nhớ rằng MQL5 có lịch tích hợp riêng.
int TimeGMTOffset()
Hàm này trả về sự khác biệt hiện tại giữa GMT và thời gian cục bộ của máy tính tính bằng giây, dựa trên cài đặt múi giờ trong Windows, có tính đến giờ tiết kiệm ánh sáng ban ngày hiện tại. Trong hầu hết các trường hợp, múi giờ được biểu thị bằng một số giờ nguyên so với GMT, vì vậy TimeGMTOffset
bằng múi giờ nhân với -3600 (được chuyển đổi thành giây). Ví dụ, vào mùa đông, múi giờ có thể là UTC + 2, cho độ lệch là -7200, và vào mùa hè có thể là UTC + 3, cho -10800. Dấu trừ là cần thiết, vì các múi giờ dương khi chuyển đổi thời gian của chúng sang GMT yêu cầu trừ đi số giây trên, còn các múi giờ âm yêu cầu cộng thêm.
Một script sử dụng TimeGMT
và TimeGMTOffset
đã được trình bày trong phần trước.