Chiến lược dừng lỗ động theo xu hướng RSI
Tổng quan
Chiến lược này là một chiến lược giao dịch tự động sử dụng chỉ báo RSI để nhận diện xu hướng, kết hợp với đường trung bình động (MA) để xác nhận xu hướng, và thiết lập các điểm cắt lỗ và chốt lời. Khi RSI lớn hơn 68 và đường trung bình động hiện tại cắt lên trên đường trung bình động trước đó, vào lệnh mua (long); khi RSI nhỏ hơn 28 và đường trung bình động hiện tại cắt xuống dưới đường trung bình động trước đó, vào lệnh bán (short). Đồng thời thiết lập các điểm cắt lỗ và chốt lời.
Nguyên lý chiến lược
Chiến lược này chủ yếu sử dụng chỉ báo RSI để xác định hiện tượng quá mua/quá bán nhằm nhận diện xu hướng. Khi RSI lớn hơn 70 là vùng quá mua, nhỏ hơn 30 là vùng quá bán. Kết hợp với đường trung bình động (golden cross và death cross) để xác nhận xu hướng. Tín hiệu giao dịch cụ thể như sau:
Tín hiệu long: RSI lớn hơn 68 và đường trung bình động hiện tại cắt lên trên đường trung bình động trước đó, vào lệnh mua.
Tín hiệu short: RSI nhỏ hơn 28 và đường trung bình động hiện tại cắt xuống dưới đường trung bình động trước đó, vào lệnh bán.
Cài đặt cắt lỗ và chốt lời được thiết lập với các tỷ lệ khác nhau cho mỗi điểm, từ thoải hơn đến chặt hơn, cụ thể như sau:
Chốt lời long: chốt lời một nửa vị thế tại mức 1.4% so với đỉnh, chốt lời toàn bộ vị thế tại mức 0.8% so với đỉnh.
Cắt lỗ long: cắt lỗ tại mức 2% so với giá vào lệnh.
Chốt lời short: chốt lời một nửa vị thế tại mức 0.4% so với đáy, chốt lời toàn bộ vị thế tại mức 0.8% so với đáy.
Cắt lỗ short: cắt lỗ tại mức 2% so với giá vào lệnh.
Đồng thời khi xu hướng đảo chiều, ví dụ khi đang long mà RSI phá vỡ xuống dưới 30 thì đóng toàn bộ vị thế theo giá thị trường; khi đang short mà RSI phá vỡ lên trên 60 thì đóng toàn bộ vị thế theo giá thị trường.
Lợi thế của chiến lược
- Sử dụng chỉ báo RSI để xác định hiện tượng quá mua/quá bán, tránh mua đuổi đỉnh và bán đáy.
- Đường trung bình động lọc xu hướng, giảm thiểu giao dịch ngược hướng chính.
- Thiết lập chốt lời theo bậc để tối đa hóa lợi nhuận.
- Thiết lập cắt lỗ tương đối rộng, tạo không gian thích hợp cho xu hướng.
- Kết hợp chiến lược đóng vị thế ngược hướng khi xu hướng đảo chiều, phản ứng nhanh với các sự kiện bất ngờ.
Rủi ro của chiến lược
- Vấn đề cài đặt tham số RSI dẫn đến hiệu quả nhận diện kém.
- Vấn đề cài đặt tham số đường trung bình động dẫn đến hiệu quả lọc kém.
- Rủi ro điểm cắt lỗ quá rộng làm gia tăng thua lỗ.
- Điểm chốt lời quá chặt khiến lợi nhuận không được tối đa hóa.
- Sai lầm trong chiến lược thanh lý đảo chiều gây ra thua lỗ không cần thiết.
Đối với các rủi ro trên, cần tối ưu hóa tham số qua nhiều lần kiểm tra. Cài đặt cắt lỗ/chốt lời phải phù hợp, nới lỏng một khoảng nhất định, và điều chỉnh tham số theo biến động thị trường. Chiến lược thanh lý cần thận trọng, tránh tổn thất do chỉ báo đánh giá sai.
Hướng tối ưu hóa
- Thêm nhiều chỉ báo lọc hơn, nâng cao độ chính xác của tín hiệu. Ví dụ thêm bộ lọc khối lượng giao dịch.
- Điều chỉnh chiến lược cắt lỗ, theo dõi giá cao nhất/thấp nhất để thực hiện cắt lỗ di động (trailing stop).
- Điều chỉnh một phần chốt lời thành chốt lời di động (trailing take profit) để tối đa hóa lợi nhuận.
- Thêm chuyển đổi nguồn dữ liệu, sử dụng các tổ hợp tham số chu kỳ khác nhau cho các sản phẩm khác nhau.
- Thêm cân nhắc chi phí nắm giữ vị thế bán (short) trong hợp đồng tương lai, điều chỉnh động cắt lỗ/chốt lời.
Tổng kết
Chiến lược này nhìn chung là một chiến lược giao dịch theo xu hướng khá chín muồi và đáng tin cậy. Sử dụng RSI để xác định hiện tượng quá mua/quá bán nhằm xác định hướng giao dịch. Sử dụng đường trung bình động để lọc và xác nhận. Đồng thời thiết lập cắt lỗ và chốt lời theo bậc phù hợp. Có thể mang lại lợi nhuận tốt trong xu hướng. Nếu tối ưu hóa tham số đúng cách, sẽ hoạt động xuất sắc trong thị trường có xu hướng. Sau khi tối ưu hóa thêm có thể đạt được hiệu suất vượt trội.
// © CRabbit
//@version=5
// Starting with $100 and using 10% of the account per trade
strategy("RSI Template", shorttitle="RSI", overlay=false, initial_capital=100, default_qty_value=10, default_qty_type=strategy.percent_of_equity)
// RSI Indicator
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)- 1

