Backtest một cBot trong cTrader
Bài viết này giải thích cách backtest các bot giao dịch trong cTrader Windows và Mac.
Backtesting là một công cụ để đánh giá cBot bằng cách cho phép chúng giao dịch trên dữ liệu thị trường lịch sử trong các điều kiện được xác định trước nhất định.
Khi backtesting, bạn có thể chạy một phiên bản cBot trên các biến động thị trường trong quá khứ. Sau đó, cTrader sẽ tạo một báo cáo chi tiết về các hoạt động giao dịch được thực hiện bởi cBot của bạn và thống kê vốn tức thời/số dư cuối cùng.
Ghi chú
Bất kỳ hành động giao dịch nào được thực hiện khi backtesting cBot sẽ không ảnh hưởng đến bất kỳ tài khoản nào của bạn. Backtesting không nhằm mục đích giao dịch với bất kỳ khoản tiền thực nào. Thay vào đó, tính năng này chỉ tồn tại cho mục đích phân tích.
Để backtest một cBot, chọn một trong các phiên bản của nó và chuyển sang tab Backtesting.

Cài đặt backtesting
Để thiết lập cách thức hoạt động của backtesting, nhấp vào biểu tượng bánh răng ở góc trên bên trái. cTrader sẽ mở menu sau.

Các tùy chọn trong menu này được định nghĩa như sau. Tất cả các tham số liên quan đến tiền (như vốn ban đầu) được chỉ định bằng USD.
| Tên tùy chọn | Hành động và mô tả |
|---|---|
| Vốn ban đầu | Xác định vốn ban đầu mà cBot của bạn sẽ sử dụng khi giao dịch. |
| Hoa hồng | Thiết lập tỷ lệ hoa hồng trên mỗi triệu đơn vị giao dịch. |
| Dữ liệu | Chọn dữ liệu chuỗi thời gian mà cBot của bạn sẽ được kiểm tra trên đó. Các tùy chọn có sẵn như sau.
|
| Chênh lệch giá | Chọn giá trị chênh lệch sẽ được áp dụng trong quá trình backtesting. Các tùy chọn sau đây có sẵn.
|
Dữ liệu CSV M1 mẫu
Để lấy dữ liệu giao dịch từ máy tính cục bộ của bạn, hãy đảm bảo tạo một tệp CSV phân cách bằng dấu phẩy chứa các dữ liệu sau:
- Ngày
- Hàng giờ
- Giá mở cửa
- Giá cao nhất
- Giá thấp nhất
- Giá đóng cửa
- Khối lượng
Ví dụ
1 2 3 4 | |
Quy trình và chế độ backtest
Xác định khoảng thời gian để kiểm tra bằng cách sử dụng các điều khiển được tóm tắt dưới đây:
- Sử dụng thanh trượt tương tác ở đầu tab Backtesting.
- Chọn các giá trị cần thiết từ menu lịch ở bên trái và bên phải của thanh trượt.
- Nhập các giá trị tùy chỉnh (sử dụng định dạng
DD:MM:YYYY) vào các trường ở cả hai bên của thanh trượt.

Bạn có thể chạy backtest bằng các chế độ sau:
- Kiểm tra không thời gian thực: Bot của bạn thực hiện tất cả các thao tác cần thiết theo trình tự; sau đó, bạn chỉ có quyền truy cập vào kết quả cuối cùng bao gồm thống kê giao dịch, biểu đồ vốn tức thời, v.v.
- Kiểm tra thời gian thực (chế độ trực quan): Dữ liệu lịch sử bạn đã cung cấp được chuyển đến cBot của bạn ở một tốc độ phát lại nhất định mà bạn có thể tùy chỉnh. Kết quả là, bạn có thể thấy các hoạt động giao dịch khi chúng được đặt. Tất cả thống kê giao dịch cũng được cập nhật theo tốc độ phát lại bạn đã chọn.
Kiểm tra không thời gian thực
Sau khi hoàn tất thiết lập, nhấp vào nút Phát ở bên phải thanh trượt. Tùy thuộc vào độ dài của khoảng thời gian đã chỉ định và thông số kỹ thuật của máy cục bộ của bạn, bạn có thể cần đợi vài phút trước khi cTrader tạo ra kết quả.
Backtest thời gian thực (chế độ trực quan)
Chỉ định các cài đặt cần thiết bao gồm khoảng thời gian kiểm tra và bật cờ Chế độ trực quan nằm bên dưới thanh trượt lịch.

Điều chỉnh tốc độ phát lại dữ liệu bằng cách kéo thanh trượt Tốc độ hoặc sử dụng menu bên phải nó. Sau khi bạn đã hoàn tất thiết lập, nhấp vào nút Phát.
cTrader sau đó sẽ bắt đầu hiển thị biểu đồ giao dịch cho khoảng thời gian đã chọn trong thời gian thực, được tăng tốc bằng cách sử dụng cài đặt tốc độ phát lại của bạn. Lưu ý rằng bạn có thể điều chỉnh tốc độ phát lại một cách linh hoạt khi đang thực hiện backtest.
Tùy thuộc vào mã của nó, cBot của bạn cũng sẽ thực hiện các hoạt động giao dịch trong thời gian thực, phản ứng với các tín hiệu phân tích kỹ thuật xuất hiện trên biểu đồ. Thống kê backtest sẽ được tự động cập nhật dựa trên các hành động được thực hiện bởi cBot của bạn.
Tùy thuộc vào khoảng thời gian bạn chọn và tốc độ phát lại, kiểm tra chế độ trực quan có thể tốn nhiều thời gian. Tuy nhiên, nếu cBot của bạn không hoạt động như mong đợi, bạn có thể kiểm tra phản ứng của nó đối với các điều kiện thị trường khác nhau bằng cách sử dụng kiểm tra chế độ trực quan và dữ liệu giao dịch tùy chỉnh được lấy từ tệp CSV.
Backtest sử dụng biểu đồ Renko và thanh phạm vi
cTrader hỗ trợ backtest cBot trên biểu đồ Renko và thanh phạm vi. Để thực hiện backtest như vậy, hãy tạo một phiên bản cBot mới và chọn biểu đồ Renko/thanh phạm vi làm biểu đồ giao dịch mà nó được gắn vào.

Ngoài ra, với một phiên bản cBot đã được chọn, hãy sử dụng menu chọn biểu đồ ở đầu màn hình bằng cách nhấp vào biểu tượng Thêm. Trong menu xuất hiện, chọn một trong các ngưỡng khối lượng có sẵn để tạo các khối Renko hoặc thanh phạm vi.

Sau khi cTrader tạo biểu đồ Renko/thanh phạm vi cho biểu tượng đã chọn, chuyển sang tab Backtesting. Trong đó, cấu hình chế độ/cài đặt backtest như bạn thường làm. Nhấp vào biểu tượng Phát để thực hiện backtest trên biểu đồ đã chọn.
Kết quả backtest
cTrader tạo ra một số thống kê giao dịch để hiển thị kết quả backtest. Để xem dữ liệu này, hãy chuyển đến các tab nằm ngay bên dưới biểu đồ giao dịch.

Biểu đồ vốn tức thời
Khi thực hiện backtest (bất kể bạn có sử dụng chế độ trực quan hay không), cTrader tạo ra một biểu đồ vốn tức thời với số lượng giao dịch trên trục X và số dư tài khoản trên trục Y. Nó chứa các thống kê sau:
- Đường màu vàng thể hiện số dư tài khoản khi nó thay đổi với mỗi giao dịch.
- Vùng màu xám làm nổi bật cách tổng vốn tức thời tăng hoặc giảm tùy thuộc vào các giao dịch được thực hiện bởi bot của bạn.
Để có ý tưởng tốt hơn về những gì biểu đồ vốn tức thời thể hiện, hãy xem xét ví dụ trên. Nó cho thấy rằng bot của chúng ta đã thực hiện hơn 290 giao dịch trong quá trình backtest. Với mỗi thay đổi trong số dư tài khoản, chúng ta cũng có thể thấy sự thay đổi tương ứng trong tổng vốn tức thời.
Thống kê giao dịch
Tab Thống kê giao dịch chứa dữ liệu về chính xác cách cBot của bạn đã hoạt động trong suốt quá trình backtest. Nó bao gồm các trường sau.
| Tên trường | Định nghĩa |
|---|---|
| Lãi ròng | Tổng lãi ròng của tất cả giao dịch. |
| Hệ số lợi nhuận | Tỷ lệ được tính bằng cách chia tổng lãi ròng cho tổng lỗ ròng. |
| Hoa hồng | Tổng số hoa hồng đã trả cho các giao dịch được thực hiện bởi cBot của bạn. |
| Mức sụt giảm số dư tối đa | Mức sụt giảm tối đa của số dư tài khoản. |
| Mức sụt giảm vốn tức thời tối đa | Mức sụt giảm tối đa của vốn tức thời. |
| Tổng giao dịch | Tổng số giao dịch được thực hiện bởi cBot của bạn. |
| Giao dịch thắng | Tổng số giao dịch đã tạo ra lãi đã thực hiện. |
| Số giao dịch thắng liên tiếp tối đa | Số lượng giao dịch liên tiếp lớn nhất đã tạo ra lãi đã thực hiện. |
| Giao dịch thắng nhiều nhất | Lãi đã thực hiện lớn nhất được tạo ra bởi một giao dịch. |
| Giao dịch thua | Tổng số giao dịch đã tạo ra lỗ đã thực hiện. |
| Số giao dịch thua liên tiếp tối đa | Số lượng giao dịch liên tiếp lớn nhất đã tạo ra lỗ đã thực hiện. |
| Giao dịch thua nhiều nhất | Số tiền lỗ đã thực hiện lớn nhất được tạo ra bởi một giao dịch. |
| Giao dịch trung bình | Lãi&Lỗ đã thực hiện trung bình được tạo ra bởi tất cả các giao dịch. |
Vị thế
Tab Vị thế hiển thị tất cả các vị thế hiện đang mở bởi cBot của bạn. Nó được cấu trúc tương tự như tab Vị thế trong hiển thị Màn hình theo dõi giao dịch thông thường và chứa cùng dữ liệu.

Nhấp vào biểu tượng bánh răng ở góc dưới bên phải để tùy chỉnh dữ liệu nào được hiển thị trong bảng trung tâm.
Lệnh
Tab Lệnh chứa thông tin về các lệnh đã được đặt bởi cBot của bạn. Cấu trúc và giao diện của nó sao chép tab Lệnh trong màn hình chính Màn hình theo dõi giao dịch.

Lịch sử
Tab Lịch sử hiển thị thống kê về tất cả các giao dịch mở và đóng đã được ghi lại trong quá trình backtest. Tương tự như các tab khác đã thảo luận ở trên, nó sao chép tab Lịch sử trong màn hình Màn hình theo dõi giao dịch.

Sự kiện
Tab Sự kiện liệt kê tất cả các giao tiếp liên quan đến máy chủ và hiển thị các thông số khác nhau của những sự kiện này.

Nhật ký
Cuối cùng, tab Nhật ký hiển thị đầu ra của cBot của bạn trong suốt quá trình backtest. Danh sách thông báo có thể được tìm kiếm đầy đủ và lọc theo loại sự kiện và trường hợp.
