
Esta estrategia combina la banda de Brin y el indicador RSI para identificar posibles puntos de inflexión en el mercado a través de un método de doble confirmación. Cuando el precio cruza la banda de Brin y el RSI confirma la condición de sobreventa, se entra en una posición de más; cuando el precio cruza la banda de Brin y el RSI confirma la condición de sobreventa, se entra en una posición de más.
La estrategia se basa en el principio de la regresión de la media y el mecanismo de confirmación de la dinámica. Las bandas de Brin ayudan a identificar los extremos de los precios en relación con la volatilidad reciente, mientras que el RSI confirma si el mercado está realmente sobrecomprado o sobrevendido.
En la implementación del código, la estrategia utiliza el SMA de 30 días para calcular el eje central de la banda de Brin, con una diferencia estándar de 2.0 y el uso del RSI de 14 días como confirmación de la dinámica. Se activa una señal de cabeza vacía cuando el precio cruza la vía ascendente y el RSI es superior a 70; se activa una señal de cabeza múltiple cuando el precio cruza la vía descendente y el RSI es inferior a 30.
La estrategia de doble confirmación de la reversión media de la banda de Brin y el RSI con protección de seguimiento de la parada representan un método de negociación de reversión de mercado muy pensado. La estrategia, que combina la confirmación de la señal de volatilidad de la banda de Brin con la de la dinámica del RSI, tiene como objetivo capturar reversiones de alta probabilidad y filtrar las falsas señales. El mecanismo de gestión de riesgos incorporado proporciona una importante capa de protección mediante la fijación y el seguimiento de la parada.
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("BB & RSI Trailing Stop Strategy", overlay=true, initial_capital=10000)
// --- Inputs for Bollinger Bands, RSI, and Trade Management ---
bb_length = input.int(30, title="BB Length", minval=1)
bb_mult = input.float(2.0, title="BB StdDev", minval=0.001, maxval=50)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1)
rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1)
// We only need an input for the fixed stop loss now.
fixed_stop_points = input.int(40, title="Fixed Stop Loss Points", minval=1)
// --- Define Trailing Stop Value ---
// The trailing stop is hardcoded to 40 points as requested.
trailing_stop_points = 40
// --- Calculate Indicators ---
// Bollinger Bands
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// RSI
rsi_value = ta.rsi(close, rsi_length)
// --- Plot the Indicators on the chart ---
plot(basis, "Basis", color=color.new(color.gray, 0))
plot(upper, "Upper", color=color.new(color.red, 0))
plot(lower, "Lower", color=color.new(color.green, 0))
// --- Define Entry Conditions ---
// Short entry when price crosses upper band AND RSI is overbought
short_condition = ta.crossover(close, upper) and (rsi_value > rsi_overbought)
// Long entry when price crosses under lower band AND RSI is oversold
long_condition = ta.crossunder(close, lower) and (rsi_value < rsi_oversold)
// --- Execute Trades and Manage Exits ---
if (strategy.position_size == 0)
// Logic for SHORT trades
if (short_condition)
strategy.entry("BB/RSI Short", strategy.short)
// Logic for LONG trades
if (long_condition)
strategy.entry("BB/RSI Long", strategy.long)
// Apply the fixed stop loss and trailing stop to any open position
strategy.exit(id="Exit Order",
loss=fixed_stop_points,
trail_points=trailing_stop_points,
trail_offset=0)