Tạo Cố vấn Chuyên gia
Trong chương này, chúng ta bắt đầu nghiên cứu API giao dịch MQL5 được sử dụng để triển khai Cố vấn Chuyên gia. Loại chương trình này có lẽ là phức tạp và đòi hỏi cao nhất về mặt mã hóa không lỗi và số lượng cũng như sự đa dạng của các công nghệ liên quan. Đặc biệt, chúng ta sẽ cần sử dụng nhiều kỹ năng đã học từ các chương trước, từ OOP đến các khía cạnh ứng dụng của việc làm việc với các đối tượng đồ họa, chỉ báo, ký hiệu và cài đặt môi trường phần mềm.
Tùy thuộc vào chiến lược giao dịch được chọn, nhà phát triển Cố vấn Chuyên gia có thể cần chú ý đặc biệt đến các yếu tố sau:
- Tốc độ ra quyết định và gửi lệnh (đối với HFT, Giao dịch Tần suất Cao)
- Lựa chọn danh mục công cụ tối ưu dựa trên mối tương quan và độ biến động của chúng (đối với giao dịch cụm)
- Tính toán động số lot và khoảng cách giữa các lệnh (đối với chiến lược martingale và lưới)
- Phân tích tin tức hoặc nguồn dữ liệu bên ngoài (sẽ được thảo luận trong phần thứ 7 của cuốn sách)
Tất cả các tính năng như vậy nên được nhà phát triển áp dụng tối ưu vào các cơ chế giao dịch được mô tả do API MQL5 cung cấp.
Tiếp theo, chúng ta sẽ xem xét chi tiết các hàm tích hợp để quản lý hoạt động giao dịch, mô hình sự kiện của Cố vấn Chuyên gia, và các cấu trúc dữ liệu cụ thể, đồng thời ôn lại các nguyên tắc cơ bản của sự tương tác giữa thiết bị đầu cuối và máy chủ, cũng như các khái niệm cơ bản cho giao dịch thuật toán trong MetaTrader 5: lệnh, giao dịch và vị thế.
Đồng thời, do tính đa dạng của tài liệu, nhiều sắc thái quan trọng của việc phát triển Cố vấn Chuyên gia, chẳng hạn như kiểm tra và tối ưu hóa, được làm nổi bật trong chương tiếp theo.
Chúng ta đã xem xét trước đây về Thiết kế các chương trình MQL thuộc nhiều loại khác nhau, bao gồm Cố vấn Chuyên gia, cũng như bắt đầu nghiên cứu Các tính năng của việc khởi động và dừng chương trình. Mặc dù một Cố vấn Chuyên gia được khởi chạy trên một biểu đồ cụ thể, nơi một ký hiệu làm việc được xác định, không có trở ngại nào để quản lý tập trung việc giao dịch của một tập hợp các công cụ tài chính bất kỳ. Những Cố vấn Chuyên gia như vậy thường được gọi là đa tiền tệ, mặc dù trên thực tế, danh mục của chúng có thể bao gồm CFD, cổ phiếu, hàng hóa và mã giao dịch của các thị trường khác.
Trong Cố vấn Chuyên gia, cũng như trong các chỉ báo, có Các sự kiện chính OnInit
và OnDeinit
. Chúng không bắt buộc, nhưng thường có mặt trong mã để chuẩn bị và hoàn thành định kỳ chương trình: chúng ta đã sử dụng chúng và sẽ tiếp tục sử dụng chúng trong các ví dụ. Trong một phần riêng, chúng ta đã cung cấp Tổng quan về tất cả các hàm xử lý sự kiện: chúng ta đã nghiên cứu chi tiết một số trong số chúng cho đến nay (ví dụ, sự kiện chỉ báo OnCalculate
và bộ đếm thời gian OnTimer
). Các sự kiện đặc thù của Cố vấn Chuyên gia (OnTick
, ontrade
, OnTradeTransaction
) sẽ được mô tả trong chương này.
Cố vấn Chuyên gia có thể sử dụng phạm vi rộng nhất của dữ liệu nguồn làm tín hiệu giao dịch: báo giá, tick, độ sâu thị trường, lịch sử tài khoản giao dịch, hoặc giá trị chỉ báo. Trong trường hợp sau, các nguyên tắc tạo các phiên bản chỉ báo và đọc giá trị từ bộ đệm của chúng không khác với những gì đã thảo luận trong chương Sử dụng các chỉ báo có sẵn từ các chương trình MQL. Trong các ví dụ về Cố vấn Chuyên gia trong các phần sau, chúng ta sẽ thể hiện hầu hết các kỹ thuật này.
Cần lưu ý rằng các hàm giao dịch không chỉ có thể được sử dụng trong Cố vấn Chuyên gia mà còn trong các tập lệnh. Chúng ta sẽ thấy các ví dụ cho cả hai tùy chọn.