Giới thiệu MetaTrader 5 và MQL5

MetaTrader 5 (MT5)

MetaTrader là một nền tảng giao dịch điện tử được sử dụng rộng rãi bởi những nhà giao dịch ngoại hối (forex) trên thế giới. Nó được phát triển và tung ra thị trường vào năm 2005 bởi công ty MetaQuotes Software để các nhà môi giới ngoại hối (broker) cung cấp cho khách hàng giao dịch. Phần mềm này gồm nhiều bộ phận chia làm 2 nhóm là server và client, các broker sẽ điều hành bộ phận server và cung cấp bộ phận client cho khách hàng cập nhật giá, đồ thị trực tuyến, đặt lệnh và quản lý tài khoản của mình.  Bộ phận client chính là một phần mềm chạy trên nền Microsoft Windows và nó được nhiều nhà đầu tư ưa thích vì nó cho phép lập trình chiến lược và giao dịch tự động theo mục tiêu của nhà đầu tư. Đến năm 2010, MetaQuotes tung ra phiên bản mới nhất đến hiện tại là MetaTrader5, tuy nhiên thì MT5 vẫn không được sự chú ý và sử dụng phổ biến trong giới chuyên môn như phiên bản MT4 trước đó. Ở góc độ nhà đầu tư, chúng ta chỉ cần quan tâm đến bộ phận MT5 client (hay còn gọi là Meta Trading Platform) dùng để giao dịch và các hoạt động có liên quan với nền tảng là ngôn ngữ MetaQuotes Language 5 (MQL5).

Phần mềm MetaTrader5

Phần mềm MetaTrader5

MQL5 (MetaQuotes Language 5)

MQL5 là một ngôn ngữ lập trình gắn liền với việc lập trình hệ thống giao dịch. MetaQuotes Software Corp đã phát triển MQL5 dựa trên kinh nghiệm lâu dài của họ trong việc tạo ra nền tảng giao dịch trực tuyến (online trading platforms). MQL5 có thể dùng để lập trình nên các Expert Advisors giúp nhà đầu tư quản lý các giao dịch tự động và thực hiện chiến lược đầu tư của họ. Đặc biệt, với những ai có kỹ năng lập trình tốt có thể sử dụng MQL5 tạo ra các chỉ báo kỹ thuật (custom indicators) bên cạnh các chỉ báo truyền thống, các đoạn mã và thư viện thuật toán. MQL5 có sẵn một số lượng lớn các hàm cần thiết để phân tích giá hiện tại và dữ liệu thu được trước đó, ngoài ra còn có các chỉ báo cơ bản hỗ trợ việc quản lý và điều khiển vị trí giao dịch hiện tại của nhà đầu tư. Chúng ta sẽ sử dụng ứng dụng soạn thảo MetaEditor 5 trong MT5 để lập trình những công cụ/chỉ báo.

 

Lập trình Custom Indicator và Expert Advisor trên MetaEditor

Các chương trình được viết trên MT5 có 5 mục đích chính:

Expert Advisor (EA): là một cơ chế hệ thống giao dịch (tập hợp các lệnh được lập trình sẵn) gắn liền với một đồ thị nhất định. Expert Advisor bắt đầu chạy khi mà có một sự kiện trên đồ thị xảy ra mà nó được lập trình để xử lý như một sự kiện vừa xảy ra hay kết thúc, sự kiện vừa được đánh dấu, sự kiện thời gian hay sự thay đổi của đồ thị trên thị trường. Expert Advisor có thể thông báo cho nhà đầu tư nếu nó nhận thấy một cơ hội nào đó hoặc có thể tự động giao dịch bằng cách gửi lệnh trực tiếp đến server của broker mà không cần can thiệp. Các Expert Advisor được lưu trữ ở thư mục:  terminal_directory\MQL5\Experts.

Custom Indicator: là các chỉ báo kỹ thuật được viết bởi các người dùng ngoài những chỉ báo cơ bản đã được tích hợp sẵn vào phần mềm. Giống như các công cụ chỉ báo được tích hợp sắn, custom indicator không có khả năng thực hiện các cơ chế giao dịch mà chỉ có thể đưa ra các kết quả phân tích cho nhà đầu tư đánh giá và sử dụng. Custom Indicator được lưu trữ ở thư mục: terminal_directory \MQL5\Indicators

Script: là một đoạn lệnh dùng để thực hiện các hành động nào đó. Sự khác biệt giữa Script và Expert Advisor chính là Script chỉ thực thi một lần khi gọi nó, còn EA luôn luôn ở trong tình trạng hoạt động liên tục khi được chạy. Script được lưu trữ ở thư mục: terminal_directory\MQL5\Scripts

Library: Thư viện dùng để lưu trữ các hàm (function), thủ tục (procedure) hay một khối lệnh (block) nào đó thường được dùng nhiều lần. Các hàm/thủ tục này không thể tự động thực thi, để thực thi nó cần phải đưa vào các Script hay EA để biên dịch và chạy. Library được lưu trữ ở thư mục: terminal_directory\MQL5\Libraries

Include File: Gồm các đoạn mã lệnh (blocks/function/procedure) đã được biên dịch rồi. Mỗi file này có thể chứa các Expert Advisors, scripts, custom indicators, libraries. Include file thường được các chuyên gia sử dụng nhiều hơn do tính tiện lợi có thể gọi trực tiếp ra chạy so với việc dùng các đoạn mã trong library.

MQL5 là một ngôn ngữ khá tốt và được sử dụng rộng rãi trong giao dịch ngoại hối. Thứ nhất, nó kế thừa nền tảng ngôn ngữ C/C++ mạnh và linh hoạt. Ngoài ra, MQL5 được tích hợp ngay trong phần mềm giao dịch nên các Expert Advisor, Indicator, Script… có thể chạy trực tiếp một cách tiện lợi. Cuối cùng, bởi vì đây là một ngôn ngữ lập trình nên việc học nó sẽ cần một sự đầu tư xứng đáng và một tư duy tương đối tốt về thuật toán và việc sử dụng ngôn ngữ lập trình.

Xuân Bảo

Related Articles

BINH LUAN

Leave a Reply

Your email address will not be published. Required fields are marked *