CFD và forex là các công cụ phức tạp, có rủi ro cao bị mất tiền nhanh chóng do đòn bẩy. Công bố rủi ro

MQL4 và MQL5 là gì

Trang này giải thích MQL4 và MQL5 dùng để làm gì, người mới có thể tự động hóa những việc nào, nên học theo thứ tự nào và cần cẩn thận gì khi dùng code của người khác.

Ban biên tập Extrade Vietnam ·

Trong trang này
  1. MQL4 và MQL5 là gì
  2. Khác biệt giữa MQL4 và MQL5
  3. Người mới có thể tự động hóa gì
  4. Lộ trình học
  5. Viết EA MT5: các bước cơ bản
  6. Rủi ro khi sao chép code
  7. Câu hỏi thường gặp

MQL4 và MQL5 là gì

MQL (MetaQuotes Language) là ngôn ngữ lập trình do MetaQuotes, hãng làm ra MetaTrader, phát triển. MQL4 là ngôn ngữ lập trình của MT4. MQL5 là ngôn ngữ của MT5. Cú pháp của cả MQL4 và MQL5 gần giống C++.

Code được viết trong MetaEditor, trình soạn thảo đi kèm MetaTrader. Bạn viết mã nguồn, bấm biên dịch (compile), và MetaEditor tạo ra tệp mà terminal chạy được.

Có các loại chương trình chính:

Khác biệt giữa MQL4 và MQL5

Tiêu chí MQL4 MQL5
Nền tảng MT4 MT5
Mô hình giao dịch Làm việc trực tiếp với lệnh (order) Tách riêng lệnh (order), giao dịch khớp (deal) và vị thế (position)
Chế độ tài khoản Hedging Netting hoặc Hedging, xem Hedging và Netting MT5
Lập trình hướng đối tượng Có, ở mức cơ bản Đầy đủ hơn, có thư viện chuẩn (ví dụ lớp CTrade)
Kiểm thử Strategy Tester của MT4 Strategy Tester của MT5, hỗ trợ kiểm thử nhiều cặp tiền

Code MQL4 không chạy trực tiếp trên MT5 và ngược lại. Muốn chuyển, phải viết lại phần đặt lệnh và phần lấy dữ liệu chỉ báo. So sánh chung giữa hai nền tảng có ở MT4 so với MT5.

Người mới có thể tự động hóa gì

Không cần bắt đầu bằng một hệ thống giao dịch tự động hoàn chỉnh. Những việc nhỏ, dễ kiểm tra thường hữu ích hơn:

Lộ trình học

  1. Nắm kiến thức nền: biến, kiểu dữ liệu, điều kiện, vòng lặp, hàm. Đồng thời hiểu rõ pip, spread, margin, stop-out, xem Thuật ngữ tài chính.
  2. Làm quen MetaEditor: mở từ menu Công cụ (Tools) của MetaTrader hoặc nút IDE trên thanh công cụ. Tài liệu tham khảo MQL có sẵn trong mục Trợ giúp.
  3. Viết script đơn giản: in thông tin tài khoản, giá Bid/Ask ra tab Experts.
  4. Viết chỉ báo: học cách đọc dữ liệu nến và vẽ đường. Cách cài chỉ báo vào terminal: Cài indicator tùy chỉnh.
  5. Viết EA đầu tiên, chạy trên tài khoản demo.
  6. Kiểm thử bằng Strategy Tester, sau đó chạy tiếp trên demo để so sánh với kết quả backtest.

Viết EA MT5: các bước cơ bản

  1. Trong MetaEditor, chọn New, rồi chọn Expert Advisor trong MQL Wizard.
  2. Đặt tên, MetaEditor tạo khung với các hàm OnInit (chạy khi gắn EA), OnDeinit (khi gỡ EA) và OnTick (mỗi khi có giá mới).
  3. Viết logic trong OnTick, dùng lớp CTrade để gửi lệnh.
  4. Bấm Compile, sửa hết lỗi ở tab Errors.
  5. Trong MetaTrader, EA xuất hiện ở cửa sổ Navigator. Kéo vào biểu đồ và bật nút Algo Trading.

Hướng dẫn chi tiết phần cài đặt: Cài đặt EA. Nếu EA không chạy, xem tab Experts và Journal hoặc trang Lỗi MetaTrader thường gặp. Điều kiện cụ thể của từng broker như mã giao dịch hay giờ giao dịch cần kiểm tra trong khu vực cá nhân hoặc trên trang chính thức của broker.

Rủi ro khi sao chép code

EA không loại bỏ rủi ro. Giao dịch forex và CFD có đòn bẩy có thể làm mất tiền rất nhanh, và EA chạy sai còn có thể làm điều đó nhanh hơn người. Đọc thêm Quản lý rủi ro.

Câu hỏi thường gặp

MQL5 là gì, có khó hơn MQL4 không?

MQL5 là ngôn ngữ lập trình của MT5. Phần đặt lệnh chi tiết hơn MQL4 vì tách order, deal và position, nhưng thư viện chuẩn giúp viết gọn hơn.

Ngôn ngữ lập trình MT4 có dùng được trên MT5 không?

Không trực tiếp. Code MQL4 phải được viết lại, nhất là phần giao dịch và chỉ báo.

Không biết lập trình có viết EA được không?

MQL Wizard tạo được khung EA, nhưng để hiểu và kiểm soát EA bạn vẫn cần học kiến thức lập trình cơ bản.

Backtest tốt có nghĩa là EA sẽ có lãi không?

Không. Backtest chỉ cho thấy kết quả trên dữ liệu quá khứ trong điều kiện mô phỏng. Kết quả thực tế có thể khác và có thể lỗ.

Có nên mua EA trên mạng không?

Trang này không khuyến nghị mua hay dùng EA nào. Nếu dùng code của người khác, hãy ưu tiên mã nguồn đọc được, không cho phép DLL lạ và chạy thử trên demo trước.

Trang liên quan