La estrategia de negociación de oscilación Bollinger Bands RSI combina los indicadores Bollinger Bands e índice de fuerza relativa (RSI) para el comercio de oscilación de rango a corto plazo.
En primer lugar, el indicador Bollinger Bands analiza los rangos de fluctuación de los precios: los precios cerca de la banda superior están sobrecomprados, mientras que los precios cerca de la banda inferior están sobrevendidos.
En segundo lugar, el indicador RSI determina la fuerza de sobrecompra/sobreventa: RSI por encima de 70 es sobrecompra, mientras que por debajo de 30 es sobreventa.
Cuando el precio llega a la banda inferior y el RSI muestra sobreventa, vaya largo.
Las bandas de Bollinger localizan con precisión los niveles de fluctuación de precios.
RSI evita las entradas ciegas largo / corto.
Alta tasa de ganancias capitalizando en la reversión media.
El comercio frecuente permite una rentabilidad sostenida.
Aplicable a diferentes productos y plazos.
Los parámetros BB incorrectos no identifican los niveles clave.
Los parámetros de RSI generan señales falsas.
El retracement insuficiente desencadena el stop loss.
La alta frecuencia de comercio conduce a mayores costos de deslizamiento.
Es difícil manejar las tendencias en mercados volátiles.
Optimice los parámetros para que los BB coincidan con la volatilidad real.
Ajuste el período RSI para filtrar el ruido.
Utilice paradas de trailing para reducir las devoluciones de ganancias.
Seleccione productos líquidos para minimizar el impacto del deslizamiento.
Añadir otros indicadores para determinar la dirección de la tendencia.
La estrategia de negociación de swing BB RSI captura eficazmente los cambios de precios de dos vías dentro de rangos. Con el ajuste adecuado de parámetros y la gestión de riesgos, proporciona ganancias constantes. Esta es una estrategia de negociación de cantidades recomendada a corto plazo.
/*backtest start: 2023-08-16 00:00:00 end: 2023-09-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Swing trading strategy FOREX ", shorttitle="BB+RSI", overlay=true) //////////////////////////////////////////////////////////////////////////////// // BACKTESTING RANGE // From Date Inputs fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2020, title = "From Year", minval = 1970) // To Date Inputs toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2022, title = "To Year", minval = 1970) // Calculate start/end date and time condition startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true // // ///////////// RSI RSIlength = input(6,title="RSI Period Length") RSIoverSold = input(defval = 65, title = "RSIoverSold", minval = 1, maxval = 100) RSIoverBought = input(defval = 35, title = "RSIoverBought", minval = 1, maxval = 100) price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(200, minval=1,title="Bollinger Period Length") BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = crossover(source, BBlower) sellEntry = crossunder(source, BBupper) plot(BBbasis, color=color.aqua,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=color.silver,title="Bollinger Bands Upper Line") p2 = plot(BBlower, color=color.silver,title="Bollinger Bands Lower Line") fill(p1, p2) ///////////// Colors switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? color.red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? color.green : na barcolor(switch1?TrendColor:na) bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy //for buy cond1=crossover(vrsi, RSIoverSold) cond2=crossover(source, BBlower) //for sell cond3=crossunder(vrsi, RSIoverBought) cond4=crossunder(source, BBupper) if (not na(vrsi)) if (cond1 and cond2 and time_cond) strategy.entry("RSI_BB_LONG", strategy.long, stop=BBlower, comment="LONG",alert_message = "long") else strategy.cancel(id="RSI_BB_LONG") if (cond3 and cond4 and time_cond) strategy.entry("RSI_BB_SHORT", strategy.short, stop=BBupper, comment="SHORT",alert_message = "short") //strategy.close("RSI_BB_LONG") else strategy.cancel(id="RSI_BB_SHORT") //strategy.exit("closelong", "RSI_BB_LONG" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closelong") //strategy.exit("closeshort", "RSI_BB_SHORT" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closeshort") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)