Strategi ini menggunakan Indeks Kekuatan Relatif (RSI) untuk menentukan kondisi oversold pasar. Ketika RSI jatuh di bawah ambang oversold yang ditetapkan, ia menghasilkan sinyal beli. Pada saat yang sama, ia menetapkan stop loss dan mengambil keuntungan untuk mengendalikan risiko dan mengunci keuntungan. Strategi hanya mengambil posisi panjang dan tidak short.
Strategi ini menggunakan indikator RSI untuk menangkap peluang pembalikan oversold di pasar sambil mengatur stop loss tetap dan mengambil keuntungan untuk mengendalikan risiko. Logika strategi sederhana dan jelas, cocok untuk pengguna pemula. Namun, strategi ini juga memiliki keterbatasan tertentu, seperti kemampuan yang lemah untuk memahami tren dan keandalan sinyal perlu ditingkatkan. Oleh karena itu, dalam aplikasi praktis, kita dapat mempertimbangkan mengoptimalkan dan meningkatkan strategi dari aspek seperti penilaian tren, pengoptimalan stop loss dan take profit, dan kombinasi indikator untuk mendapatkan kinerja perdagangan yang lebih kuat.
/*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")