Estrategia de cruce de medias móviles e indicador RSI


Fecha de creación: 2023-12-21 11:30:27 Última modificación: 2023-12-21 11:30:27
Copiar: 0 Número de Visitas: 762
1
Seguir
1621
Seguidores

Estrategia de cruce de medias móviles e indicador RSI

Descripción general

La estrategia de cruce de indicadores RSI con la media es una estrategia de negociación cuantitativa que combina indicadores relativamente fuertes (RSI) y promedios móviles. La estrategia utiliza el indicador RSI para juzgar sobrecompras y sobreventas en el valor de los valores, y combina la señal de cruce de oro y de la horca muerta del RSI con su media para decidir si se debe establecer una posición de venta o venta.

Principio de estrategia

  1. Calcula el valor del RSI. El RSI se basa en las subidas y bajadas durante un período de tiempo para determinar si un título está sobrecomprado o sobrevendido, comparando el aumento y la caída del cierre promedio.

  2. Calcula el MA de la media móvil del RSI. Utiliza el EMA de la media móvil del índice o la media móvil simple SMA.

  3. Cuando el indicador RSI sobrepasa su media móvil, produce una señal de cruz dorada, haciendo más; cuando el indicador RSI bajopasa su media móvil, produce una señal de horquilla muerta, haciendo vacío.

  4. Cuando el RSI está por encima de la línea de sobrecompra, se considera que el título está por encima de la línea de sobreventa, y se hace un descubierto. Cuando el RSI está por debajo de la línea de sobreventa, se considera que el título está por encima de la línea de sobreventa, y se hace un descubierto.

Análisis de las ventajas

  1. La combinación de indicadores con señales cruzadas de medias evita la dependencia de un solo indicador y mejora la precisión de la toma de decisiones.

  2. Utilice el indicador RSI para determinar cuándo es el momento de sobrecomprar y vender, configure la línea de sobrecompra y venta, determine cuándo se debe establecer una posición y detener los pérdidas.

  3. El uso de indicadores cruzados con medias para hacer más operaciones de pronóstico permite capturar los puntos de inflexión del mercado a tiempo.

Análisis de riesgos

  1. El RSI es propenso a generar señales erróneas en situaciones de agitación.

  2. El RSI es sobrecomprado y sobrevendido, y su base de cálculo puede ser ajustable, ya que una configuración incorrecta puede resultar demasiado flexible o estricta.

  3. El sistema de línea media es demasiado sensible a las fluctuaciones anormales a corto plazo y puede ser bloqueado por los estancamientos.

Dirección de optimización

  1. Ajuste el RSI para encontrar el valor óptimo de longitud.

  2. Optimización de los parámetros de las medias móviles para encontrar el ciclo de medias óptimo.

  3. Prueba diferentes parámetros de la línea de compra y venta para optimizar la oportunidad de crear una posición.

  4. En combinación con otros indicadores, las señales de filtración evitan transacciones erróneas.

Resumir

El indicador RSI se combina con la estrategia de cruce de la línea media, que utiliza el RSI para juzgar sobrecompras y sobreventa en combinación con la señal de cruce de la línea media móvil, para determinar con eficacia las zonas de mercado calientes y capturar las oportunidades de reversión en los puntos clave. A través de la optimización de parámetros y la filtración de señales, se puede mejorar el rendimiento de la estrategia y reducir el riesgo de negociación.

Código Fuente de la Estrategia
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//dfurrer45
strategy(title="Relative Strength Index", shorttitle="RSI", overlay=true)
src = close, len = input(13, minval=1, title="Length"), maLen = input(9, minval=1, title="MA Lenght"), exponential = input(false, title="Exponential")

// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay   = input(defval = 3, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)
// ===  BACKTEST END  ===
backtestdaterange = (time > timestamp(FromYear, FromMonth, FromDay, 00, 00))

rsioverbought = input(90, minval=1, title="RSI % start overbought")
rsioversold = input(10, minval=1, title="RSI % start oversold")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = exponential ? ema(rsi, maLen) : sma(rsi, maLen)
rsimacrossup = cross(rsi,ma) and rsi > ma
rsimacrossdown = cross(rsi,ma) and rsi < ma
plotchar(rsimacrossup, char='⇧', location = location.belowbar, color = green, text = "", textcolor = green, size=size.small)
plotchar(rsimacrossdown, char='⇩', location = location.abovebar, color = red, text = "", textcolor = red, size=size.small)
plotchar(rsi > rsioverbought, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
plotchar(rsi < rsioversold, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)


closetrade = rsimacrossup or rsimacrossdown
strategy.close_all(closetrade)
strategy.close_all((rsi > rsioverbought) or (rsi < rsioversold))
strategy.entry("Short Overbought",strategy.short, when=(rsi > rsioverbought) and backtestdaterange)
strategy.entry("Buy Overbought",strategy.long, when=(rsi < rsioversold) and backtestdaterange)
strategy.entry("Long Cross", strategy.long, when=rsimacrossup and backtestdaterange)
strategy.entry("Short Cross", strategy.short, when=rsimacrossdown and backtestdaterange)