Đây là một chiến lược giao dịch năng động dựa trên chỉ số sức mạnh tương đối (RSI) kết hợp với một cơ chế dừng lỗ linh hoạt. Chiến lược chủ yếu nhắm mục tiêu các điều kiện thị trường bán quá mức, nhằm mục đích nắm bắt sự phục hồi giá để kiếm lợi nhuận. Cách tiếp cận cốt lõi bao gồm sử dụng chỉ số RSI để xác định các điều kiện bán quá mức tiềm ẩn, thực hiện stop-loss dựa trên tỷ lệ phần trăm để kiểm soát rủi ro và sử dụng các đột phá cao trước đây làm tín hiệu kiếm lợi nhuận.
Chiến lược hoạt động dựa trên các yếu tố chính sau:
Chiến lược giao dịch được thiết kế tốt này đạt được sự cân bằng tốt giữa kiểm soát rủi ro và nắm bắt cơ hội lợi nhuận thông qua sự kết hợp của các điều kiện bán quá mức RSI và cơ chế dừng lỗ. Khả năng điều chỉnh cao của chiến lược làm cho nó phù hợp với tối ưu hóa hiệu suất trong các điều kiện thị trường khác nhau. Mặc dù có một số rủi ro tiềm ẩn, các hướng tối ưu hóa được đề xuất có thể tăng thêm sự ổn định và lợi nhuận của chiến lược.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Strategy with Adjustable RSI and Stop-Loss", overlay=false, default_qty_type=strategy.fixed, default_qty_value=2, initial_capital=10000, pyramiding=2, commission_type=strategy.commission.percent, commission_value=0.05, slippage=1) // Input fields for RSI parameters rsi_length = input.int(8, title="RSI Length", minval=1) rsi_threshold = input.float(28, title="RSI Threshold", minval=1, maxval=50) // Input for Stop-Loss percentage stop_loss_percent = input.float(5, title="Stop-Loss Percentage", minval=0.1, maxval=100) // Calculate the RSI rsi = ta.rsi(close, rsi_length) // Condition for buying: RSI below the defined threshold buyCondition = rsi < rsi_threshold // Condition for selling: Close price higher than yesterday's high sellCondition = close > ta.highest(high, 1)[1] // Calculate the Stop-Loss level based on the entry price var float stop_loss_level = na if (buyCondition) stop_loss_level := close * (1 - stop_loss_percent / 100) strategy.entry("Long", strategy.long) // Create Stop-Loss order strategy.exit("Stop-Loss", from_entry="Long", stop=stop_loss_level) // Selling signal if (sellCondition) strategy.close("Long") // Optional: Plot the RSI for visualization plot(rsi, title="RSI", color=color.blue) hline(rsi_threshold, "RSI Threshold", color=color.red)