Các hàm toán học
Các hàm toán học phổ biến nhất thường có sẵn trong tất cả các ngôn ngữ lập trình hiện đại, và MQL5 không phải là ngoại lệ. Trong chương này, chúng ta sẽ xem xét một số nhóm hàm có sẵn ngay lập tức. Chúng bao gồm các hàm làm tròn, lượng giác, hyperbolic, lũy thừa, logarit, và hàm mũ, cũng như một vài hàm đặc biệt, chẳng hạn như tạo số ngẫu nhiên và kiểm tra tính hợp lệ của số thực.
Hầu hết các hàm có hai tên: đầy đủ (với tiền tố "Math" và viết hoa) và rút gọn (không có tiền tố, viết thường). Chúng ta sẽ cung cấp cả hai tùy chọn: chúng hoạt động theo cùng một cách. Việc lựa chọn có thể dựa trên phong cách định dạng của mã nguồn.
Vì các hàm toán học thực hiện một số phép tính và trả về kết quả dưới dạng số thực, các lỗi tiềm ẩn có thể dẫn đến tình huống mà kết quả không được xác định. Ví dụ, bạn không thể lấy căn bậc hai của một số âm hoặc lấy logarit của số không. Trong những trường hợp như vậy, các hàm trả về các giá trị đặc biệt không phải là số (NaN, Not A Number). Chúng ta đã gặp chúng trong các phần Số thực, Phép toán số học, và Chuyển đổi số sang chuỗi và ngược lại. Tính đúng đắn của số và sự vắng mặt của lỗi có thể được phân tích bằng các hàm MathIsValidNumber
và MathClassify
(xem phần Kiểm tra tính hợp lệ của số thực).
Sự hiện diện của ít nhất một toán hạng có giá trị NaN sẽ khiến bất kỳ phép tính nào tiếp theo liên quan đến toán hạng này, bao gồm cả các lệnh gọi hàm, cũng dẫn đến kết quả là NaN.
Để tự học và sử dụng tài liệu trực quan, bạn có thể sử dụng script
MathPlot.mq5
đính kèm, cho phép hiển thị đồ thị của các hàm toán học với một đối số từ những hàm được mô tả. Script sử dụng thư viện vẽ tiêu chuẩnGraphic.mqh
được cung cấp trong MetaTrader 5 (ngoài phạm vi của cuốn sách này). Dưới đây là một ví dụ về cách đường cong hyperbolic sine có thể trông như thế nào trong cửa sổ MetaTrader 5.
Đồ thị hyperbolic sine trong cửa sổ MetaTrader 5