
Strategi ini menggunakan indeks kekuatan relatif (RSI) untuk menilai keadaan oversold di pasaran, menghasilkan isyarat beli apabila RSI berada di bawah paras oversold yang ditetapkan, sambil menetapkan stop loss (Stop Loss) dan stop loss (Take Profit) untuk mengawal risiko dan mengunci keuntungan. Strategi ini hanya melakukan lebih banyak, tidak kosong.
Strategi ini menggunakan RSI untuk menangkap peluang untuk membalikkan pasaran yang terlalu banyak, sambil menetapkan stop loss tetap untuk mengawal risiko. Logik strategi mudah dan jelas, sesuai untuk digunakan oleh pemula. Tetapi strategi ini juga mempunyai beberapa batasan, seperti kemampuan menangkap trend yang lemah, kebolehpercayaan isyarat yang perlu ditingkatkan, dan sebagainya. Oleh itu, dalam aplikasi praktikal, strategi dapat dioptimumkan dan diperbaiki dengan mempertimbangkan penilaian trend, pengoptimuman stop loss, kombinasi indikator, dan sebagainya, untuk mendapatkan prestasi perdagangan yang lebih stabil.
/*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")