
Chiến lược này dựa trên chỉ số vượt xu hướng để đánh giá điểm vào, khi chỉ số đảo ngược, bạn sẽ có thêm khoảng trống. Ngoài ra, bạn cũng có thể đặt 3 lệnh dừng ở tỷ lệ khác nhau, mỗi lệnh dừng được cố định 2% , 5% và 10% để khóa mức lợi nhuận khác nhau.
Chiến lược này sử dụng chỉ số siêu xu hướng để xác định xu hướng của thị trường. Chỉ số siêu xu hướng dựa trên độ dài sóng thực trung bình và một nhân số. Khi giá vượt quá đường lên, nó là mua quá mức, và khi giá giảm xuống, nó là bán quá mức.
Cụ thể, khi chỉ số siêu xu hướng thay đổi nhỏ hơn 0, nghĩa là chỉ số đảo ngược từ trên xuống, tạo ra tín hiệu giao dịch nhiều; khi chỉ số siêu xu hướng thay đổi lớn hơn 0, nghĩa là chỉ số đảo ngược từ dưới lên, tạo ra tín hiệu giao dịch ngắn. Sau khi nhận được tín hiệu giao dịch dài hoặc ngắn, hãy ghi lại giá vào và đặt hàng vào.
Chiến lược này đồng thời đặt 3 lệnh dừng với tỷ lệ khác nhau, giá dừng của chúng lần lượt là 1.02 lần, 1.05 lần và 1.10 lần giá nhập, tương ứng với mức dừng cố định 2% , 5% và 10% lợi nhuận. Ba tỷ lệ số của ba lệnh dừng được đặt ở mức 25%, 50% và 25% . Sau khi nhận được tín hiệu mở vị trí, chiến lược này sẽ treo 3 lệnh dừng cùng một lúc, với mục đích khóa mức lợi nhuận khác nhau.
Chiến lược này có một số lợi thế:
Sử dụng chỉ số siêu xu hướng để đánh giá nhập cảnh, có thể nắm bắt hiệu quả các điểm đảo ngược xu hướng, làm nhiều việc trống chính xác.
Thiết lập nhiều tỷ lệ lệnh dừng để khóa lợi nhuận ở mức độ khác nhau và giảm rút tiền.
Cài đặt Stop-Loss là bảo thủ, chủ yếu là lợi nhuận mục tiêu là 2%, 5% và 10%, tránh mở rộng tổn thất do theo đuổi lợi nhuận quá cao.
Chiến lược logic đơn giản và rõ ràng, dễ hiểu và sửa đổi, phù hợp với người mới bắt đầu giao dịch số lượng.
Chiến lược này cũng có một số rủi ro:
Chỉ số siêu xu hướng được thiết lập không chính xác, có thể bỏ lỡ điểm đảo ngược xu hướng, dẫn đến việc nhập cảnh không chính xác.
Đặt điểm dừng quá bảo thủ và có thể bỏ lỡ cơ hội tiếp tục hoạt động mang lại lợi nhuận lớn hơn.
Sự kiện đột ngột dẫn đến nhảy nhanh hoặc ngắt đầu, chỉ số siêu xu hướng không phản ứng kịp thời, gây ra thiệt hại dừng được kích hoạt.
Chiến lược không có điều kiện dừng lỗ, có nguy cơ mất mát không giới hạn.
Chiến lược này cũng có thể được tối ưu hóa theo các khía cạnh sau:
Kiểm tra các tham số chỉ số siêu xu hướng khác nhau, tối ưu hóa độ nhạy của chỉ số.
Tăng điều kiện dừng lỗ, đặt mức tổn thất tối đa, kiểm soát rủi ro.
Điều chỉnh tỷ lệ và số lượng stop cho các loại khác nhau và chu kỳ giao dịch.
Thêm các bộ lọc cho các chỉ số khác để tránh mở các vị trí thường xuyên trong tình trạng chấn động.
Tối ưu hóa tỷ lệ sử dụng vốn, giảm rủi ro đơn lẻ bằng cách điều chỉnh số lượng giao dịch mặc định của chiến lược.
Chiến lược này khá đơn giản và thực tế. Nó sử dụng các chỉ số siêu xu hướng để xác định thời điểm nhập cảnh, sau đó sử dụng nhiều thẻ dừng để khóa lợi nhuận, có thể kiểm soát rủi ro hiệu quả. Tuy nhiên, có những nơi trong chiến lược có thể được tối ưu hóa hơn nữa, chẳng hạn như thiết lập dừng lỗ, tham số tối ưu hóa, tất cả đều cung cấp hướng dẫn để cải thiện sau này.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy( "Supertrend with TP", overlay=true )
// Supertrend Settings
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
// TP's
tp1Open = input.bool(true, "TP1")
tp1 = input.float(2.0, "TP Level (%)", step = 0.1) / 100
tp1Amount = input.int(25, "Amount (%)", step = 1)
tp2Open = input.bool(true, "TP2")
tp2 = input.float(5.0, "TP Level (%)", step = 0.1) / 100
tp2Amount = input.int(50, "Amount (%)", step = 1)
tp3Open = input.bool(true, "TP3")
tp3 = input.float(10.0, "TP Level (%)", step = 0.1) / 100
tp3Amount = input.int(25, "Amount (%)", step = 1)
[_, direction] = ta.supertrend(factor, atrPeriod)
entryPrice = 0.0
entryPrice := entryPrice[1]
if ta.change(direction) < 0
strategy.entry("Long", strategy.long)
entryPrice := close
if ta.change(direction) > 0
strategy.entry("Short", strategy.short)
entryPrice := close
if (tp1Open)
strategy.exit ("TP1", from_entry="Long", limit=entryPrice * (1 + tp1), qty_percent=tp1Amount)
strategy.exit ("TP1", from_entry="Short", limit=entryPrice * (1 - tp1), qty_percent=tp1Amount)
if (tp2Open)
strategy.exit ("TP2", from_entry="Long", limit=entryPrice * (1 + tp2), qty_percent=tp2Amount)
strategy.exit ("TP2", from_entry="Short", limit=entryPrice * (1 - tp2), qty_percent=tp2Amount)
if (tp3Open)
strategy.exit ("TP3", from_entry="Long", limit=entryPrice * (1 + tp3), qty_percent=tp3Amount)
strategy.exit ("TP3", from_entry="Short", limit=entryPrice * (1 - tp3), qty_percent=tp3Amount)