El índice de variabilidad de las bandas de Bollinger (RSI)

El autor:¿ Qué pasa?, Fecha: 2024-01-24 14:56:02
Las etiquetas:

img

Resumen general

Esta estrategia utiliza principalmente el Índice de Fuerza Relativa (RSI) combinado con las Bandas de Bollinger para el juicio de señales comerciales.

Estrategia lógica

La estrategia primero calcula el indicador RSI y las bandas de Bollinger. El indicador RSI refleja la fortaleza relativa del instrumento de negociación. Cuando el RSI está por debajo de la zona de sobreventa (default 30), significa que el instrumento está sobrevendido y debe comprar. Las bandas de Bollinger incluyen la banda superior, la banda media y la banda inferior, lo que refleja bien el rango de fluctuación de los precios. Comprar cerca de la banda inferior y vender cerca de la banda superior puede proporcionar señales relativamente confiables. Esta estrategia combina el indicador RSI y las bandas de Bollinger para el juicio de la señal de negociación.

Ventajas

  1. La combinación de RSI y Bandas de Bollinger mejora la precisión de la señal
  2. RSI filtra un poco de ruido
  3. Las bandas de Bollinger reflejan el rango de volatilidad actual del mercado, señales fiables
  4. Reglas comerciales estrictas, evita operaciones no válidas

Los riesgos

  1. Los parámetros incorrectos de las bandas de Bollinger pueden causar señales inexactas
  2. El RSI de una zona de sobrecompra/sobreventa puede afectar a los juicios
  3. La estrategia es estricta, puede perder algunas oportunidades

Soluciones:

  1. Optimizar las bandas de Bollinger y los parámetros del RSI para encontrar la mejor combinación
  2. Relaja las condiciones moderadamente, permita algunas operaciones no válidas para más oportunidades

Direcciones de optimización

  1. Prueba y optimiza los parámetros de RSI y Bollinger para optimizar
  2. Añadir un stop loss al control de los riesgos
  3. Considere agregar otros indicadores como MACD para la verificación de señales
  4. Resultados de optimización de pruebas en diferentes productos y plazos

Resumen de las actividades

La estrategia general es robusta, combina eficazmente el RSI y las bandas de Bollinger para detener la pérdida. Se puede lograr una mejora adicional probando y optimizando los parámetros. También es necesario ser consciente de los riesgos potenciales de falta de señal debido a reglas estrictas. En general, esta es una estrategia de negociación cuantitativa confiable.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BB + RSI 20MIN,", shorttitle="BBRSI 20MIN", overlay=true )
     
     // Strategy Tester Start Time
sYear = input(2019, title = "Start Year")
sMonth = input(04, title = "Start Month", minval = 01, maxval = 12)
sDay = input(01, title = "Start Day", minval = 01, maxval = 31)
sHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = true


///////////// RSI
RSIlength = input(9,title="RSI Period Length") 
RSIoverSold = input(30, minval=1,title="RSIL")
RSIoverBought = input(69, minval=1,title="RSIh")
price = open
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(60, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bb")
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=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, 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] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long and startTime, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short and startTime, stop=BBupper,comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Más.