Giới thiệu
Một kế hoạch giao dịch mà không có backtesting chỉ là một đoán mò. Trong bài học này bạn sẽ kết hợp các công cụ phân tích kỹ thuật (mô hình nến, support/ resistance, RSI, MACD, đường trung bình động) và các quy tắc quản lý rủi ro (kích thước vị thế, placement dừng lỗ, tỷ lệ rủi ro/phần thưởng) được đề cập ở các bài học trước thành một kế hoạch cá nhân, bằng văn bản. Sau đó bạn sẽ chạy kế hoạch đó với dữ liệu lịch sử để kiểm tra liệu chiến lược có thực sự hiệu quả không — trước khi bỏ vốn thật.
Bước 1 — Viết Quy tắc Giao dịch của Bạn bằng Ngôn ngữ Đơn giản
Trước khi viết mã, hãy viết quy tắc entry, exit và rủi ro của bạn như một danh sách có đánh số. Ví dụ quy tắc cho giao dịch swing BTC/USDT:
Quy tắc 1 — Entry: Mở vị thế mua khi RSI(14) dưới 35, giá đóng cửa trên EMA 50 kỳ, và histogram MACD trở nên tích cực.
Quy tắc 2 — Dừng lỗ: Đặt stop cách thấp của nến entry 2%.
Quy tắc 3 — Take-profit: Đóng một nửa ở rủi ro/phần thưởng 1:2, di chuyển stop về mức hòa vốn, đóng phần còn lại ở 1:4.
Quy tắc 4 — Kích thước vị thế: Rủi ro không quá 1% tổng vốn tài khoản cho mỗi giao dịch.
Giữ cho danh sách ngắn gọn. Nếu một quy tắc không thể viết trong một câu, nó quá mơ hồ để mã hóa.
Bước 2 — Chuyển Quy tắc thành Mã có thể kiểm tra
Mã hóa mỗi quy tắc thành một hàm trả về một giá trị boolean (tín hiệu entry) hoặc một giá trị số (mức dừng, kích thước vị thế). Sử dụng Python và thư viện backtesting:
Hàm `next()` được gọi trên mỗi cây nến và đại diện cho một chu kỳ quyết định đầy đủ. Nếu bạn có thể ánh xạ mọi quy tắc từ Bước 1 vào một dòng trong hàm này, kế hoạch của bạn có thể được kiểm thử.
Bước 3 — Chạy Backtest và Đọc Kết quả
Tải dữ liệu OHLCV lịch sử và chạy:
Kết quả bao gồm các chỉ số chính: tổng lợi nhuận, tối đa rút vốn, hệ số Sharpe, tỷ lệ thắng và số lượng giao dịch. Đừng theo đuổi một con số lợi nhuận cao đơn thuần. Lợi nhuận 40% với tối đa rút vốn 12% thực tế hơn so với lợi nhuận 200% với rút vốn 60%.
Bước 4 — Những lỗi phổ biến cần tránh
Chạm trán Look-ahead: dùng giá đóng cửa ngày mai để quyết định giao dịch ngày hôm nay. Luôn dịch chuyển các chỉ báo bởi một thanh nến trước khi so sánh với giá hiện tại.
Overfitting: điều chỉnh tham số cho đến khi backtest có lợi nhuận. Nếu chiến lược của bạn chỉ hoạt động với độ dài EMA 47 trên dữ liệu BTC 4h từ năm 2022, nó là một đường cong-fitting.
Bỏ qua phí và slippage: các sàn tiền điện tử tính phí từ 0,05–0,10% mỗi bên. Một chiến lược có lợi nhuận trung bình 0,3% sẽ không tồn tại được.
Quá ít giao dịch: một backtest có 8 giao dịch trong một năm là về mặt thống kê vô nghĩa. Hãy hướng tới ít nhất 50–100 giao dịch trước khi tin tưởng kết quả.
Tóm tắt
Một kế hoạch giao dịch hoàn chỉnh là một tập quy tắc được đánh số, không phải là cảm giác. Mã hóa các quy tắc đó thành code buộc sự rõ ràng. Việc backtest cho thấy kế hoạch có sinh lợi, có độ bền và có đáng giao dịch thật hay không — hoặc liệu nó có cần quay lại Bước 1 hay không.
Bài học tiếp theo sẽ đề cập đến paper trading: thực thi kế hoạch đã được xác nhận trên tài khoản testnet ở thời gian thực trước khi cam kết vốn.
Bài kiểm tra cuối bài
Ôn lại kiến thức, thử sức và nhận góp ý cho bài làm.