Giới thiệu MetaQuotes Language 5 (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, tự động hóa giao dịch tài chính. MQL5 đã được MetaQuotes Software Corp 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 kiểu 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ũng bao gồm MetaEditor IDE với các công cụ viết mã tiên tiến, chẳng hạn như mẫu, đoạn trích, gỡ lỗi, lược tả và công cụ hoàn thành tự động, cũng như Bộ lưu trữ MQL5 tích hợp cho phép tạo phiên bản tệp.

Hỗ trợ ngôn ngữ có sẵn trên trang web MQL5.community, chứa CodeBase miễn phí khổng lồ và rất nhiều 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 lưới thần kinh, thống kê và phân tích, giao dịch tần số 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 robot tự động hóa giao dịch, v.v.

Ngôn ngữ MQL5 cung cấp các chức năng giao dịch chuyên biệt và các 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ỉ số 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 chức năng, 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. Tham chiếu cũng cung cấp các 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 chứa thư viện phân tích số ALGLIB , có thể được sử dụng để giải các 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 bốn loại chuyên biệt dựa trên các nhiệm vụ tự động hóa giao dịch mà chúng thực hiện:

Expert Advisor là một hệ thống robot giao dịch tự động được liên kết với biểu đồ. Expert Advisor (EA) 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 thực thi các yếu tố chiến lược giao dịch phù hợp. Ví dụ: một sự kiện khởi tạo và khử nhiễu chương trình, đánh dấu mới, sự kiện hẹn giờ, thay đổi trong Độ sâu của 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 đã thực hiện, Expert Advisors cũng có thể tự động thực hiện giao dịch và gửi chúng trực tiếp đến một máy chủ giao dịch. EA được lưu trữ trong \ MQL5 \ Experts.

Custom Indicators là một chỉ số kỹ thuật được phát triển bởi một người dùng thêm vào chỉ số tiêu chuẩn tích hợp vào các sàn giao dịch. Các chỉ số tùy chỉnh, cũng như các tiêu chuẩn, không thể giao dịch tự động mà chỉ thực hiện các chức năng phân tích. Các chỉ số tùy chỉnh có thể sử dụng các giá trị của các chỉ số khác để tính toán và có thể được gọi từ EA. Custom Indicators được lưu trữ trong \ MQL5 \ Indicator.

Script là một chương trình để thực hiện một hành động. Không giống như Expert Advisors, các script không xử lý bất kỳ sự kiện nào ngoại trừ kích hoạt. Mã tập lệnh phải chứa hàm xử lý OnStart. Các tập lệnh được lưu trữ trong \ MQL5 \ Sc scripts.

Service là một chương trình, không giống như các chỉ số, Expert Advisors và script, không yêu cầu phải ràng buộc với biểu đồ để hoạt động. Giống như các tập lệnh, các dịch vụ không xử lý bất kỳ sự kiện nào ngoại trừ kích hoạt. Để 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ừ Bắt đầu, nhưng chúng có thể gửi các sự kiện tùy chỉnh đến các biểu đồ bằng EventChartCustom. Các Service được lưu trữ trong \ MQL5 \ Services.

Library là một tập hợp các chức năng tùy chỉnh. Các thư viện nhằm lưu trữ và phân phối các thuật toán thường được sử dụng của các chương trình tùy chỉnh. Các thư viện được lưu trữ trong \ MQL5 \ Thư viện.

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 bao gồm trong các văn bản nguồn của Expert Advisors, script, Custom Indicators và Service ở giai đoạn biên dịch. Việc sử dụng Include File là tốt hơn so với sử dụng các thư viện vì có thêm gánh nặng xảy ra khi gọi các chức năng của thư viện.
Include File có thể được lưu trữ trong cùng thư mục chứa tệp gốc. Trong trường hợp này, lệnh #incoide có 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 trong \ MQL5 \ Include . Trong trường hợp này, #incolee với dấu ngoặc góc nên được sử dụng.