Bỏ qua

Cách backtest một cBot trong cTrader

Trong bài viết này và video tương ứng, chúng tôi muốn thảo luận về cách bạn có thể backtest một cBot. Bạn sẽ học được nơi có thể truy cập backtest, cách cấu hình cài đặt backtest và cách diễn giải kết quả backtest.

Backtest trong cTrader

cBot là các robot giao dịch có thể tùy chỉnh hoàn toàn mà bạn có thể cấu hình để thực hiện các hành động giao dịch khác nhau khi gặp các biến động và sự kiện thị trường nhất định như các giao cắt của chỉ báo MACD (Moving Average Convergence Divergence).

Tuy nhiên, khi lập trình một cBot, có thể khó để làm mọi thứ đúng ngay từ lần đầu tiên. Trong hầu hết các trường hợp, bạn sẽ muốn tinh chỉnh một cBot trước khi để nó giao dịch thay mặt bạn.

Đây là lúc backtest phát huy tác dụng. Hãy coi backtest như một sân chơi mà bạn có thể để cBot giao dịch trên dữ liệu thị trường lịch sử mà không phải chịu bất kỳ rủi ro hữu hình nào. Do đó, backtest rất quan trọng để đánh giá liệu cBot có thể đạt được kết quả dự định mà không phải chịu rủi ro với bất kỳ khoản tiền thực nào trong tài khoản giao dịch của bạn.

Chúng tôi đặc biệt khuyến nghị thực hiện backtest kỹ lưỡng đối với bất kỳ cBot nào mà bạn đã tự tạo hoặc có được thông qua các kênh khác.

Truy cập backtest

Để truy cập backtest, trước tiên hãy chọn một phiên bản hiện có của cBot mà bạn muốn đánh giá. Ngay bên dưới thanh trên cùng trong giao diện người dùng (thanh chứa nút Back), bạn sẽ thấy một số tab với tab đầu tiên chứa biểu đồ giao dịch mà phiên bản được chọn hiện tại đang hoạt động.

Tab Backtesting sẽ nằm ngay bên phải nó. Nhấp vào nó để chuyển đến khu vực backtest.

Image title

Sau khi mở tab này, bạn sẽ thấy giao diện sau.

Image title

Đặt khoảng thời gian

Như đã nói trước đó, backtest cho phép bạn chạy một phiên bản cBot trên dữ liệu thị trường lịch sử. Bạn có một số tùy chọn để xác định chính xác khoảng thời gian mà quá trình backtest nên bao gồm.

Sử dụng thanh trượt

Thanh trượt lịch nằm gần phía trên của tab Backtesting.

Image title

Kéo cả hai điểm màu xám trên thanh trượt để chỉ định phạm vi dữ liệu cho quá trình backtest tiếp theo. Trong ảnh chụp màn hình trên, chúng ta đã kéo một trong các điểm để bao quát một khoảng thời gian xấp xỉ bằng hai năm.

Sử dụng các menu

Bạn cũng có thể sử dụng các menu thả xuống lịch ở bên trái và bên phải của thanh trượt để chọn một khoảng ngày chính xác.

Image title

Để đảm bảo rằng khoảng thời gian backtest của chúng ta chính xác là 2 năm, chúng ta có thể mở menu bên trái để chọn ngày 30 tháng 11 năm 2020 làm ngày bắt đầu mới.

Cấu hình cài đặt

Trước khi thực hiện backtest, nhấp vào biểu tượng bánh răng ngay bên trái menu lịch ngoài cùng bên trái. Bạn sẽ thấy các cài đặt sau.

Image title

Khi phần này được mở, thực hiện các hành động sau.

  • Trong trường Vốn ban đầu, chỉ định số tiền ban đầu mà cBot của bạn sẽ bắt đầu.
  • Mở menu Hoa hồng và chọn (hoặc nhập) mức hoa hồng mà cBot của bạn sẽ trả sau khi giao dịch một triệu đơn vị khối lượng.
  • Trong menu Dữ liệu, thiết lập nguồn dữ liệu lịch sử cho quá trình backtest. Nhìn chung, việc nhận dữ liệu m1 từ máy chủ là một sự thỏa hiệp tốt giữa độ chính xác và mức độ sử dụng tài nguyên của quá trình backtest. Lưu ý rằng bạn cũng có thể tải lên dữ liệu tùy chỉnh từ tệp .CSV được lưu trữ cục bộ.
  • Chọn giữa spread cố định hoặc ngẫu nhiên trong phần phụ Spread. Nhấp vào Trực tiếp để khớp spread cố định (nếu được chọn) với spread ký hiệu hiện tại.

Tham khảo hướng dẫn này để tìm hiểu thêm về cài đặt backtest và cách chúng có thể ảnh hưởng đến kết quả backtest.

Chọn giữa các chế độ

Bạn có thể chọn xem kết quả backtest (các vị thế được mở bởi cBot của bạn) khi chúng xảy ra. Chức năng này đặc biệt hữu ích để phát hiện các sự kiện và điều kiện nhất định mà cBot của bạn không hoạt động như mong đợi.

Để truy cập chức năng này, hãy bật cờ Chế độ trực quan ngay bên dưới và bên trái thanh trượt lịch. Trong menu Tốc độ, chọn tốc độ mà biểu đồ giao dịch đã chọn sẽ được phát lại. Lưu ý rằng bạn luôn có thể thay đổi tốc độ phát lại trong khi quá trình backtest đang diễn ra.

Image title

Ngoài ra, hãy để cờ Chế độ trực quan ở trạng thái tắt. Thay vì xem quá trình backtest theo thời gian thực, bạn sẽ nhận được một báo cáo một lần chứa kết quả backtest vào cuối quá trình.

Hiện tại, chúng ta sẽ giữ chức năng chế độ trực quan ở trạng thái tắt.

Khởi chạy backtest

Để thực hiện backtest với các cài đặt đã cho và ở chế độ đã chọn, nhấp vào nút Phát ở bên phải menu lịch ngoài cùng bên phải.

cTrader sẽ bắt đầu tải dữ liệu lịch sử cần thiết. Quá trình này có thể mất vài phút tùy thuộc vào khoảng thời gian bạn đã chọn và phần cứng mà bạn đang chạy cTrader.

Trong trường hợp của chúng ta, quá trình này tương đối nhanh vì chúng ta chỉ yêu cầu thông tin cho 2 năm. Khi quá trình backtest diễn ra, bạn sẽ thấy thanh ở bên phải cờ Chế độ trực quan di chuyển dần từ trái sang phải.

Khi nó di chuyển hoàn toàn sang bên phải, quá trình backtest sẽ kết thúc.

Xem kết quả

Có một số cách bạn có thể sử dụng để đánh giá kết quả của quá trình backtest. Sau khi quá trình backtest kết thúc, con số ở giữa phía trên của biểu đồ giao dịch sẽ tổng kết tổng lợi nhuận ròng được tạo ra bởi cBot của bạn.

Image title

Trong trường hợp của chúng ta, cBot đã tạo ra lợi nhuận ròng đáng kể là 503%.

Một cách khác để đánh giá hiệu suất của cBot là chuyển sang tab Vốn tức thời trong bảng giao dịch ngay bên dưới biểu đồ giao dịch. Bạn sẽ thấy một biểu đồ với tổng số giao dịch mà cBot của bạn đã thực hiện trên trục X và số tiền trên trục Y.

Đường màu vàng sẽ theo dõi số dư cBot của bạn trong khi đường màu xám sẽ theo dõi vốn tức thời của nó.

Image title

Chúng ta có thể thấy rằng cBot của chúng ta đã hoạt động tốt trong suốt quá trình backtest nhưng có thể có một số trường hợp mà chúng ta muốn thực hiện điều chỉnh trước khi cho phép nó truy cập vào tiền thật.

Cuối cùng nhưng không kém phần quan trọng, tab Thống kê giao dịch sẽ hiển thị thống kê tích lũy về tất cả các hành động giao dịch được thực hiện bởi cBot của bạn.

Image title

Chúng ta có thể thấy rằng tổng lợi nhuận của chúng ta rất tốt. Robot đã thực hiện tổng cộng 271 giao dịch thắng và một phần lớn (33.009,55) của tổng lợi nhuận được tạo ra chỉ bởi một giao dịch! Rõ ràng là cBot có tiềm năng thực hiện các giao dịch rủi ro.

Backtest là một cách tuyệt vời để đảm bảo rằng cBot của bạn hoạt động như mong đợi. Sử dụng thống kê chi tiết và biểu đồ vốn tức thời, bạn có thể xác định chính xác những thời điểm giá cả khi robot bạn đang kiểm tra đã thực hiện các bước đi đúng (hoặc sai). Backtest cũng hoàn toàn có thể tùy chỉnh, cho phép bạn huấn luyện cBot của mình trong các điều kiện khác nhau rất nhiều.