Estrategia de negociación de fusión de RSI y bandas de Bollinger para LTC

El autor:¿ Qué pasa?, Fecha: 2024-02-06 10:48:03
Las etiquetas:

img

Resumen general

Esta estrategia combina el índice de fuerza relativa (RSI) y las bandas de Bollinger para implementar una estrategia automatizada que puede comprar y vender Litecoin (LTC).

Estrategia lógica

La estrategia se basa principalmente en los siguientes dos indicadores para las decisiones comerciales:

  1. Índice de fortaleza relativa (RSI): refleja la magnitud y velocidad de los cambios de precios para determinar si un activo está sobrecomprado o sobrevendido.

  2. Bandas de Bollinger: contiene tres líneas: línea media, banda superior y banda inferior. La línea media es el promedio móvil de n días. Las bandas superior e inferior son la línea media ± 2 desviación estándar de los precios en los últimos n días. El precio cerca de la banda superior sugiere una condición de sobrecompra y cerca de la banda inferior sugiere una condición de sobreventa.

De acuerdo con estos dos indicadores, las reglas de negociación son:

Compra señalSi el precio también se rompe por debajo de la banda inferior de las bandas de Bollinger, se activa una señal de compra.

Venda la señalSi el precio también se rompe por encima de la banda superior de las bandas de Bollinger, se activa una señal de venta.

Como podemos ver, la estrategia considera tanto la condición de sobrecompra / sobreventa del mercado como la ruptura de precios para generar señales comerciales.

Ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Combina el RSI y las bandas de Bollinger para juzgar de manera integral la condición del mercado, lo que resulta en señales confiables.

  2. Los indicadores RSI muestran los niveles de sobrecompra/sobreventa, mientras que las bandas de Bollinger muestran la desviación del precio de la distribución típica.

  3. Considera tanto las lecturas del indicador como la ruptura del precio para evitar señales falsas durante el mercado de rango.

  4. Ajustes razonables de los parámetros del período y de los umbrales del RSI y de las bandas de Bollinger basados en la optimización para evitar el fallo del indicador.

  5. Específicamente optimizado para LTC. El rendimiento es bueno basado en la prueba de retroceso de datos históricos.

Los riesgos

A pesar de las ventajas, existen algunos riesgos:

  1. Tanto el RSI como las bandas de Bollinger pueden fallar, especialmente durante condiciones anormales del mercado, lo que lleva a señales y pérdidas erróneas.

  2. La optimización de parámetros se basa en datos históricos. Un cambio significativo del régimen del mercado puede invalidar estos parámetros, deteriorando el rendimiento de la estrategia.

  3. Aunque se utilizan dos indicadores, aún pueden ocurrir cambios en el mercado de rango, causando pérdidas y costo de oportunidad.

  4. El costo de negociación se ignora en la estrategia. La alta frecuencia de negociación y la posición de gran tamaño pueden erosionar las ganancias rápidamente a través de los costos.

Para reducir los riesgos mencionados anteriormente, se pueden adoptar métodos tales como ajuste de parámetros, más indicadores, dimensionamiento de posiciones, limitación de la frecuencia de negociación, etc.

Direcciones de mejora

Algunas direcciones para mejorar la estrategia:

  1. Pruebe diferentes parámetros de RSI y Bandas de Bollinger para obtener mejores ajustes.

  2. Introducir reglas para el tamaño de las posiciones basadas en el patrimonio neto de las cuentas.

  3. Establezca el stop loss, o use otros indicadores para determinar el stop loss y tomar los niveles de ganancia para limitar el máximo de extracción.

  4. Considere el deslizamiento para ajustar los parámetros y detener la pérdida en el comercio en vivo.

  5. Añadir más factores como el índice de volatilidad, volumen, etc. para formar un modelo multifactor para una mayor precisión.

  6. Diseñar mecanismos de adaptación de acuerdo con diferentes regímenes y ciclos de mercado LTC para ajustar dinámicamente los parámetros de la estrategia.

Conclusión

Esta estrategia juzga los niveles de sobrecompra/sobreventa primero y luego se combina con la ruptura para generar señales comerciales, lo que la hace adecuada para LTC. Pero se deben tener en cuenta riesgos como el fallo del indicador, el cambio de régimen y los costos de negociación.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("LTCUSD BB + RSI 30MIN,", shorttitle="LTCUSD BBRSI 30MIN ", overlay=true)
     
     // Strategy Tester Start Time
sYear = input(2019, title = "Start Year")
sMonth = input(01, 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(5,title="RSI Period Length") 
RSIoverSold = input(20, minval=1,title="RSIL")
RSIoverBought = input(80, 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.