Estrategia de negociación de fluctuación de bandas de Bollinger RSI

El autor:¿ Qué pasa?, Fecha: 16 de septiembre de 2023 18:48:44
Las etiquetas:

Resumen general

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.

Principios

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.

Ventajas

  • 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 riesgos

  • 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.

Gestión de riesgos

  • 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.

Resumen de las actividades

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)

Más.