Tài liệu tham khảo MQL5
MetaQuotes Language 5 (MQL5) là ngôn ngữ cấp cao được thiết kế để phát triển các chỉ báo kỹ thuật, robot giao dịch và các ứng dụng tiện ích, giúp tự động hóa giao dịch tài chính. MQL5 đã được MetaQuotes phát triển cho nền tảng giao dịch của họ. Cú pháp ngôn ngữ rất gần với C++ cho phép các lập trình viên phát triển các ứng dụng theo phong cách lập trình hướng đối tượng (OOP).
Ngoài ngôn ngữ MQL5, gói nền tảng giao dịch còn bao gồm MetaEditor IDE với các công cụ viết mã cực kỳ tiên tiến, chẳng hạn như template, snippets, công cụ gỡ lỗi, lập hồ sơ và hoàn thành tự động, cũng như MQL5 Storage tích hợp cho phép quản lý phiên bản tệp.
Hỗ trợ ngôn ngữ có sẵn trên trang web cộng đồng MQL5 Algotrading, nơi chứa một CodeBase miễn phí khổng lồ và vô số bài viết . Các bài viết này bao gồm tất cả các khía cạnh của giao dịch hiện đại, bao gồm mạng nơ-ron, thống kê và phân tích, giao dịch tần suất cao, chênh lệch giá, thử nghiệm và tối ưu hóa các chiến lược giao dịch, sử dụng rô-bốt tự động hóa giao dịch, v.v.
Các nhà giao dịch và nhà phát triển chương trình MQL5 có thể giao tiếp trên diễn đàn, đặt hàng và phát triển ứng dụng bằng dịch vụ Freelance , cũng như mua và bán các chương trình được bảo vệ trên Thị trường ứng dụng giao dịch tự động.
Ngôn ngữ MQL5 cung cấp các chức năng giao dịch chuyên biệt và trình xử lý sự kiện được xác định trước để giúp các lập trình viên phát triển Expert Advisors (EA), tự động kiểm soát các quy trình giao dịch theo các quy tắc giao dịch cụ thể. Ngoài EA, MQL5 cho phép phát triển các chỉ báo kỹ thuật , tập lệnh và thư viện tùy chỉnh.
Tài liệu tham khảo ngôn ngữ MQL5 này chứa các hàm, hoạt động, từ dành riêng và các cấu trúc ngôn ngữ khác được chia thành các danh mục. Tài liệu tham khảo cũng cung cấp mô tả về các lớp Thư viện chuẩn được sử dụng để phát triển các chiến lược giao dịch, bảng điều khiển, đồ họa tùy chỉnh và cho phép truy cập tệp.
Ngoài ra, CodeBase còn chứa thư viện phân tích số ALGLIB , có thể được sử dụng để giải quyết nhiều bài toán khác nhau.
Các loại ứng dụng MQL5
Các chương trình MQL5 được chia thành năm loại chuyên biệt dựa trên các tác vụ tự động hóa giao dịch mà chúng triển khai:
- Expert Advisor là một hệ thống giao dịch tự động được liên kết với biểu đồ. Một Expert Advisor chứa các trình xử lý sự kiện để quản lý các sự kiện được xác định trước kích hoạt việc thực hiện các yếu tố chiến lược giao dịch phù hợp. Ví dụ, sự kiện khởi tạo và hủy khởi tạo chương trình, các tick mới, sự kiện hẹn giờ, thay đổi Độ sâu thị trường, biểu đồ và các sự kiện tùy chỉnh. Ngoài việc tính toán các tín hiệu giao dịch dựa trên các quy tắc đã triển khai, Expert Advisor cũng có thể tự động thực hiện các giao dịch và gửi chúng trực tiếp đến máy chủ giao dịch. Expert Advisor được lưu trữ trong
<Terminal_Directory>\MQL5\Experts
. - Custom Indicator là một chỉ báo kỹ thuật do người dùng phát triển ngoài các chỉ báo tiêu chuẩn được tích hợp vào nền tảng giao dịch. Các chỉ báo tùy chỉnh, cũng như các chỉ báo tiêu chuẩn, không thể giao dịch tự động mà chỉ triển khai các chức năng phân tích. Các chỉ báo tùy chỉnh có thể sử dụng các giá trị của các chỉ báo khác để tính toán và có thể được gọi từ Expert Advisors.Các chỉ báo tùy chỉnh được lưu trữ trong
<Terminal_Directory>\MQL5\Indicators
. - Script là chương trình thực hiện một hành động duy nhất. Không giống như Expert Advisors, script không xử lý bất kỳ sự kiện nào ngoại trừ trigger. Mã script phải chứa hàm xử lý OnStart. Script được lưu trữ trong
<Terminal_DIrectory>\MQL5\Scripts
. - Service là một chương trình, không giống như các chỉ báo, Expert Advisors và script, không cần phải liên kết với biểu đồ để hoạt động. Giống như script, các dịch vụ không xử lý bất kỳ sự kiện nào ngoại trừ trigger. Để khởi chạy một dịch vụ, mã của nó phải chứa hàm xử lý OnStart. Các dịch vụ không chấp nhận bất kỳ sự kiện nào khác ngoại trừ Start, nhưng chúng có thể gửi các sự kiện tùy chỉnh đến biểu đồ bằng EventChartCustom . Các dịch vụ được lưu trữ trong
<terminal_directory>\MQL5\Services
. - Library là một tập hợp các hàm tùy chỉnh. Thư viện được dùng để lưu trữ và phân phối các thuật toán thường dùng của các chương trình tùy chỉnh. Thư viện được lưu trữ trong
<Terminal_Directory>\MQL5\Libraries
. - Include File là văn bản nguồn của các khối chương trình tùy chỉnh được sử dụng thường xuyên nhất. Các tệp như vậy có thể được đưa vào văn bản nguồn của Expert Advisors, tập lệnh, chỉ báo tùy chỉnh và thư viện ở giai đoạn biên dịch. Việc sử dụng các tệp include được ưu tiên hơn so với việc sử dụng thư viện vì có thêm gánh nặng phát sinh khi gọi các hàm thư viện. Các tệp include có thể được lưu trữ trong cùng thư mục nơi tệp gốc được đặt. Trong trường hợp này, chỉ thị #include với dấu ngoặc kép được sử dụng. Một tùy chọn khác là lưu trữ các tệp include trong <Terminal_Directory>\MQL5\Include . Trong trường hợp này, nên sử dụng #include với dấu ngoặc nhọn.