
La stratégie utilise l’indice de force relative (RSI) pour juger de la survente du marché, générant un signal d’achat lorsque le RSI est inférieur au seuil de survente défini, tout en définissant un stop loss (stop loss) et un stop loss (take profit) pour contrôler le risque et verrouiller les bénéfices. La stratégie fait plus, pas moins.
La stratégie utilise l’indicateur RSI pour capturer les opportunités de reprise de la survente du marché, tout en définissant des arrêts de perte fixes pour contrôler les risques. La logique de la stratégie est simple et claire et convient aux débutants. Cependant, la stratégie présente également certaines limites, telles que la faible capacité de saisie de la tendance, la fiabilité du signal à améliorer, etc.
/*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")