
La estrategia utiliza el índice de fuerza relativa (RSI) para juzgar el estado de sobreventa del mercado, generando una señal de compra cuando el RSI está por debajo del umbral de sobreventa establecido, al mismo tiempo que establece un stop loss (Stop Loss) y un stop stop (Take Profit) para controlar el riesgo y bloquear las ganancias. La estrategia solo hace más, no hace nada.
La estrategia utiliza el indicador RSI para capturar la oportunidad de reversión de la venta por encima del mercado, y al mismo tiempo establece un stop loss fijo para controlar el riesgo. La lógica de la estrategia es simple y clara, y es adecuada para los principiantes. Sin embargo, la estrategia también tiene ciertas limitaciones, como la capacidad de captura de tendencias débiles, la fiabilidad de la señal debe mejorarse, etc. Por lo tanto, en la aplicación real, la estrategia se puede optimizar y mejorar para obtener un rendimiento comercial más estable, teniendo en cuenta el juicio de tendencias, la optimización del stop loss y la combinación de indicadores.
/*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")