Chiến lược này sử dụng chỉ số sức mạnh tương đối (RSI) để xác định tình trạng bán quá mức của thị trường. Khi chỉ số RSI giảm xuống dưới ngưỡng bán quá mức, nó tạo ra tín hiệu mua. Đồng thời, nó đặt dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro và khóa lợi nhuận. Chiến lược chỉ có các vị trí dài và không bán ngắn.
Chiến lược này sử dụng chỉ số RSI để nắm bắt các cơ hội đảo ngược bán quá mức trên thị trường trong khi thiết lập các lỗ dừng cố định và lấy lợi nhuận để kiểm soát rủi ro. Logic chiến lược đơn giản và rõ ràng, phù hợp với người dùng mới. Tuy nhiên, chiến lược này cũng có một số hạn chế nhất định, chẳng hạn như khả năng nắm bắt xu hướng yếu và độ tin cậy tín hiệu cần được cải thiện. Do đó, trong các ứng dụng thực tế, chúng ta có thể xem xét tối ưu hóa và cải thiện chiến lược từ các khía cạnh như đánh giá xu hướng, tối ưu hóa dừng lỗ và lấy lợi nhuận và kết hợp chỉ số để đạt được hiệu suất giao dịch mạnh mẽ hơn.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estratégia com RSI (Apenas Compras)", overlay=true) // Parâmetros de entrada rsiLength = input.int(14, title="Período do RSI") oversold = input.int(30, title="Nível de Sobrevenda (RSI)") stopLossPercent = input.float(2.0, title="Stop Loss (%)") takeProfitPercent = input.float(5.0, title="Take Profit (%)") // Cálculo do RSI rsi = ta.rsi(close, rsiLength) // Sinal de Compra buySignal = ta.crossover(rsi, oversold) // Plotando o sinal de compra plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Compra", text="Buy") // Variáveis para Stop Loss e Take Profit var float longStop = na var float longTake = na // Entrando na posição de compra if (buySignal) entryPrice = close longStop := entryPrice * (1 - stopLossPercent / 100) longTake := entryPrice * (1 + takeProfitPercent / 100) strategy.entry("Compra", strategy.long) label.new(x=bar_index, y=low, text="Compra", style=label.style_label_up, color=color.green) // Gerenciamento de Stop Loss e Take Profit if (strategy.position_size > 0) if (close <= longStop) strategy.close("Compra", comment="Stop Loss") label.new(x=bar_index, y=low, text="Stop Loss", style=label.style_label_down, color=color.red) if (close >= longTake) strategy.close("Compra", comment="Take Profit") label.new(x=bar_index, y=high, text="Take Profit", style=label.style_label_up, color=color.green) // Plotando as linhas de Stop Loss e Take Profit plot(longStop, color=color.red, linewidth=1, title="Stop Loss Long") plot(longTake, color=color.green, linewidth=1, title="Take Profit Long")