Các hoạt động giao dịch của cBot
Trong hướng dẫn này, chúng tôi giải thích chi tiết các hoạt động giao dịch chính mà bạn có thể thực hiện bằng cách sử dụng cBot được phát triển thông qua Algo API.
Đây là một số hoạt động được hỗ trợ cho cBot:
- Gửi lệnh thị trường.
- Đặt lệnh chờ.
- Sửa đổi lệnh chờ và vị thế mở.
- Đóng vị thế và hủy lệnh.
- Đăng ký các sự kiện giao dịch (vị thế, lệnh và hoạt động liên quan).
Gửi lệnh thị trường
Một lệnh thị trường được gửi đến máy chủ giao dịch khi phương thức ExecuteMarketOrder() được gọi. Sau khi tạo một cBot mới, bạn có thể thêm phương thức này với một số thuộc tính đã định nghĩa của lệnh thị trường (ký hiệu, khối lượng, chốt lời, cắt lỗ, v.v.). Ví dụ dưới đây đặt một lệnh thị trường khi cBot bắt đầu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
1 2 3 4 5 6 7 8 9 10 | |
Mẹo
Trong ví dụ, một số tham số lệnh cố ý được để trống "". Kiểm tra Tài liệu tham khảo để biết chữ ký và thứ tự của tất cả các tham số ExecuteMarketOrder().
Sau khi xây dựng cBot và thêm một phiên bản, bạn sẽ thấy rằng một lệnh thị trường với các tham số đã chỉ định đã được thực thi khi bắt đầu. Các tab Vị thế và Nhật ký trong bảng Màn hình theo dõi giao dịch hiển thị các mục vị thế và nhật ký tương ứng.
Đặt lệnh chờ
cTrader hỗ trợ ba loại lệnh chờ, cụ thể là lệnh dừng, lệnh giới hạn và lệnh dừng-giới hạn. Để đặt lệnh chờ khi bắt đầu, bạn có thể thay thế lệnh thị trường bằng các đoạn mã sau trong ví dụ cBot trước đó.
1 2 3 | |
1 2 3 | |
Mẹo
Để nhanh chóng kiểm tra các tham số của một phương thức, hãy bắt đầu nhập tên phương thức và một dấu ngoặc đơn mở. Bạn sẽ thấy một cửa sổ pop-up IntelliSense với thông tin bổ sung.

Mẹo
Nếu bạn nhấp vào một phương thức/tham số trong cTrader Algo và nhấn F1, bảng trợ giúp ở bên phải cửa sổ mã sẽ hiển thị kết quả tìm kiếm phù hợp. Nếu con trỏ văn bản vẫn ở ngoài cửa sổ mã và bạn nhấn F1, cửa sổ Trung tâm trợ giúp sẽ xuất hiện để hỗ trợ bạn.
Bạn sẽ thấy các bản ghi sau trong bảng Màn hình theo dõi giao dịch sau khi xây dựng và chạy cBot thành công.
Sửa đổi lệnh chờ và vị thế mở
Khi các lệnh chờ được đặt, chúng sẽ có sẵn trong bộ sưu tập PendingOrders của cBot của bạn. Thông qua bộ sưu tập này, bạn có thể truy cập và sửa đổi chúng. Các lệnh chờ hiện có có thể được sửa đổi bằng cách điều chỉnh mức cắt lỗ của chúng như sau.
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 | |
Tab Nhật ký của bảng Màn hình theo dõi giao dịch hiển thị rằng ba lệnh chờ đã được sửa đổi thành công ngay sau khi được đặt.

Sau khi các loại lệnh khác nhau được thực hiện thành công, các vị thế sẽ được mở cho tài khoản của bạn. Tất cả các vị thế mở có sẵn trong bộ sưu tập Positions của cBot của bạn. Tương tự như việc chỉnh sửa các lệnh chờ trong ví dụ trước, bạn có thể chỉnh sửa vị thế mở. Vì lệnh thị trường là cách nhanh nhất để mở vị thế, hãy thêm phương thức OnBar() với hành động chỉnh sửa vị thế vào cBot đầu tiên trong hướng dẫn này.
1 2 3 4 5 6 7 | |
1 2 3 4 | |
Như được phản ánh trong nhật ký, vị thế mở đã được chỉnh sửa trên nến đầu tiên được mở.

Đóng vị thế và hủy lệnh
Bạn có thể tìm thấy một ví dụ cBot bên dưới đóng tất cả các vị thế mở và hủy tất cả các lệnh chờ vào thứ Sáu lúc 11:00 (UTC) bằng cách gọi phương thức OnTick().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |

Đăng ký các sự kiện giao dịch
cTrader cho phép các nhà phát triển thuật toán đăng ký các sự kiện giao dịch và theo dõi hoạt động giao dịch, bất kể chúng được khởi tạo bởi cBot hay thủ công. Điều này đạt được bằng cách lắng nghe các sự kiện có sẵn trong hai bộ sưu tập đã được trình bày trước đó, Positions và PendingOrders.
Có ba sự kiện có sẵn cho các vị thế:
OpenModifiedClosed
Chúng được kích hoạt khi bạn mở, chỉnh sửa và đóng các vị thế trên tài khoản của mình, tương ứng.
Trong đoạn mã dưới đây, ba sự kiện được khai báo trong phương thức OnStart() và các phương thức được gọi được chỉ định. Những điều này sẽ tự động tạo ra các chữ ký mã cho chúng ta sử dụng. Sau đó, các câu lệnh Print() được thêm vào mỗi phương thức sự kiện.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Cho dù là bạn hay cBot thực hiện các sự kiện Open, Modified và Closed, thuật toán sẽ phản ứng với chúng mỗi lần với các thông báo được in ra như hiển thị trong nhật ký bên dưới.

Tương tự, bạn có thể đăng ký các sự kiện liên quan đến lệnh chờ. Có bốn sự kiện có sẵn cho lệnh chờ:
CreatedModifiedFilledCancelled
Bốn sự kiện được khai báo trong phương thức OnStart(), và các trình xử lý sự kiện được thêm vào như sau.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Nếu đăng ký các sự kiện liên quan đến lệnh chờ, cBot sẽ phản ứng với cả hoạt động giao dịch thủ công và được lập trình.

Tổng quan
Để kết luận, cTrader trang bị cho các nhà phát triển thuật toán một kho vũ khí ấn tượng các hoạt động giao dịch có thể được thực hiện bởi cBot. Bằng cách áp dụng chúng một cách khéo léo, bạn có thể theo đuổi các chiến lược giao dịch được điều chỉnh và tinh vi.



