Estrategia cuantitativa de RSI y bandas de Bollinger


Fecha de creación: 2024-01-24 14:56:02 Última modificación: 2024-01-24 14:56:02
Copiar: 3 Número de Visitas: 637
1
Seguir
1617
Seguidores

Estrategia cuantitativa de RSI y bandas de Bollinger

Descripción general

La estrategia utiliza principalmente un indicador relativamente fuerte (el RSI) y la banda de Brin para determinar las señales de negociación. En concreto, se hace más cuando el RSI baja cruza con la banda de Brin y baja cuando el RSI alto cruza con la banda de Brin.

Principio de estrategia

La estrategia comienza calculando el RSI y la banda de Brin. El RSI refleja la relativa debilidad de las operaciones, y las operaciones están en la zona de sobreventa cuando el RSI está por debajo de la zona de venta por adelantado. La banda de Brin incluye el alza, el medio y el descenso, lo que refleja el rango de fluctuación de los precios.

Ventajas estratégicas

  1. La combinación de RSI con la banda de Brin mejora la precisión de la señal
  2. El RSI ha filtrado algunas señales de ruido
  3. Las bandas Brin reflejan el rango más amplio de fluctuaciones actuales en el mercado, y la señal es más confiable.
  4. La estrategia de negociación es más estricta, evitando la aparición de operaciones no válidas.

Riesgo estratégico

  1. La configuración incorrecta de los parámetros de la banda de Bryn puede hacer que la señal de negociación sea inexacta
  2. El RSI sobrecompra y la configuración inadecuada de los parámetros de la zona de sobreventa también puede afectar el juicio de la señal
  3. Las estrategias son más estrictas y pueden perderse algunas oportunidades de negocio.

La solución al riesgo:

  1. Optimización de los parámetros de la banda de Bryn y el RSI para encontrar la mejor combinación de parámetros
  2. La flexibilización adecuada de las condiciones de negociación de las estrategias, el aumento de una cierta cantidad de operaciones no válidas para obtener más oportunidades

Dirección de optimización de la estrategia

  1. Prueba y optimización de los parámetros RSI y de las bandas de Brin para encontrar los parámetros óptimos
  2. Aumentar las estrategias de stop loss para controlar el riesgo de las transacciones
  3. Considere la posibilidad de agregar otros indicadores técnicos para la verificación de señales, como MACD
  4. Prueba de la optimización de parámetros para diferentes variedades y períodos de tiempo

Resumir

La estrategia en general es robusta y combina eficazmente el indicador RSI y el stop loss de la banda de Brin. Se puede mejorar aún más la eficacia de la estrategia mediante la prueba y optimización de los parámetros. Al mismo tiempo, se debe estar atento al riesgo de pérdida de señal que puede generar una estrategia más estricta.

Código Fuente de la Estrategia
/*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)