Tạo một cBot trong cTrader
Bài viết này phác thảo các bước để tạo một bot giao dịch cho giao dịch thuật toán bằng Python hoặc C#, triển khai robot và chạy nó trong cTrader.
Mẹo
Sử dụng cTrader Windows hoặc Mac, bạn có thể tạo robot giao dịch nhanh chóng, hoặc nhận hỗ trợ từ AI.
Trong tab cBots của ứng dụng Algo, nhấp vào nút New để mở trình hướng dẫn tạo thuật toán.
Nhập tên cho cBot của bạn, sau đó chọn ngôn ngữ lập trình giữa C# và Python.
Chọn một phương thức tạo từ:
-
From scratch - bot giao dịch mới sẽ chỉ chứa một mẫu cơ bản.
-
Using a template - bạn sẽ có thể chọn một thuật toán có sẵn từ danh sách các mẫu Python# hoặc C#, bao gồm nhiều loại cBot và hành động giao dịch tự động.
Ghi chú
Các thuật toán có sẵn đã chứa logic giao dịch và các tham số có thể tùy chỉnh. Các cBot như vậy đã sẵn sàng chạy sau khi bạn lưu và xây dựng chúng.
Sau khi bạn nhấp vào Create, trình soạn thảo mã mở ra và bạn có thể bắt đầu chỉnh sửa mã của robot giao dịch.
Chỉnh sửa mã
Tùy thuộc vào phương pháp tạo mà bạn đã chọn, mẫu robot giao dịch có thể chứa một hoặc nhiều thành phần 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
Thuộc tính Robot của cBot cùng với các thuộc tính tùy chọn như TimeZone và AccessRights, đứng trước khai báo lớp cBot (SupercBot).
Các phương thức sau thường được bao gồm theo mặc định:
- Phương thức
OnStart()được gọi mỗi khi một thể hiện của cBot của bạn được khởi chạy. - Phương thức
OnTick()được gọi trên mỗi tick. - Phương thức
OnBar()được gọi trên mỗi nến. - Phương thức
OnStop()được gọi mỗi khi một thể hiện của cBot mới của bạn ngừng hoạt động.
Phương thức OnTick() thực hiện một hành động nhất định trên mỗi tick, điều này khiến nó tiêu tốn nhiều CPU. Trong nhiều trường hợp giao dịch, việc thực hiện các hoạt động giao dịch trên mỗi tick là không cần thiết. Sử dụng phương thức OnBar() sẽ thực tế hơn.
Các phương thức và loại mã được hiển thị trong đoạn mã mẫu ở trên không phải là cách duy nhất để thiết lập và cấu hình hành vi của một bot. Tuy nhiên, chúng là cách dễ nhất để làm việc nếu bạn mới bắt đầu với việc lập trình. Để tìm hiểu thêm về thuật toán, hãy bắt đầu với C# cơ bản và khám phá các ví dụ mã cBot.
Ghi chú
Tài liệu tham khảo bao gồm tất cả các lớp, sự kiện, phương thức, biến, v.v. để xây dựng thuật toán trong cTrader, trong khi các ví dụ và mẫu thuật toán đầy đủ có sẵn trong kho lưu trữ GitHub.
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 29 30 31 32 33 34 35 36 37 38 39 40 | |
Các phương thức sau thường được bao gồm theo mặc định:
- Phương thức
on_startđược gọi mỗi khi một thể hiện của cBot của bạn được khởi chạy. - Phương thức
on_tickđược gọi trên mỗi tick. - Phương thức
on_bar_closedđược gọi trên mỗi nến. - Phương thức
on_stopđược gọi mỗi khi một thể hiện của cBot mới của bạn ngừng hoạt động.
Phương thức on_tick thực hiện một hành động nhất định trên mỗi tick, điều này khiến nó tiêu tốn nhiều CPU. Trong nhiều trường hợp giao dịch, việc thực hiện các hoạt động giao dịch trên mỗi tick là không cần thiết. Sử dụng phương thức on_bar_closed sẽ thực tế hơn.
Các phương thức và loại mã được hiển thị trong đoạn mã mẫu ở trên không phải là cách duy nhất để thiết lập và cấu hình hành vi của một cBot. Tuy nhiên, chúng là cách dễ nhất để làm việc nếu bạn mới bắt đầu với việc lập trình. Để tìm hiểu thêm về thuật toán, hãy bắt đầu với Python cơ bản và khám phá các ví dụ mã cBot.
Áp dụng kiến thức mới của bạn để chỉnh sửa mã robot giao dịch và điều chỉnh nó theo nhu cầu của bạn.
Lưu và biên dịch
Lưu mã của bạn bằng cách nhấp vào nút Lưu ở đầu trình soạn thảo mã hoặc sử dụng phím tắt Ctrl+S.
Trước khi có thể sử dụng cBot của bạn, bạn cần xác thực mã của nó bằng cách biên dịch dự án cBot. Nhấp vào nút Biên dịch ở đầu trình soạn thảo mã hoặc nhấn Ctrl+B.
Lưu mã của bạn bằng cách nhấp vào biểu tượng Lưu ở đầu trình soạn thảo mã hoặc sử dụng phím tắt Cmd+S.
Trước khi có thể sử dụng cBot của bạn, bạn cần xác thực mã của nó bằng cách biên dịch dự án cBot. Nhấp vào biểu tượng Biên dịch ở đầu trình soạn thảo mã hoặc nhấn Cmd+B.
Khi quá trình biên dịch thành công, bạn sẽ thấy một thông báo xác nhận trong Kết quả biên dịch. Nếu quá trình biên dịch thất bại, một bản tóm tắt tất cả các lỗi gặp phải sẽ xuất hiện thay vào đó.
Nếu có thay đổi trong mã kể từ lần biên dịch cuối cùng, một dấu sao sẽ xuất hiện bên cạnh biểu tượng Biên dịch. Trong trường hợp này, bạn nên biên dịch lại cBot trước khi khởi chạy một thể hiện của nó.
Khi bạn biên dịch thành công một cBot, cBot sẽ sẵn sàng hoạt động, nhưng nó chỉ bắt đầu làm việc khi bạn khởi chạy một thể hiện.
