Estrategia de negociación del intervalo del RSI

El autor:¿ Qué pasa?, Fecha: 2023-11-06 16:12:23
Las etiquetas:

img

Resumen general

La estrategia de negociación de rango del RSI obtiene ganancias al operar contra la tendencia cuando el RSI alcanza niveles de sobrecompra o sobreventa. Se basa en la suposición de que los precios no tienden en una dirección para siempre, sino que oscilan hacia adelante y hacia atrás dentro de un rango.

Estrategia lógica

La estrategia calcula el indicador RSI para determinar si el precio ha alcanzado niveles de sobrecompra o sobreventa. Específicamente, el período RSI se establece en 2 barras. La línea de sobrecompra es 91 y la línea de sobreventa es 11. Se genera una señal corta cuando el RSI cruza por encima del nivel de sobrecompra. Se genera una señal larga cuando el RSI cruza por debajo del nivel de sobreventa. El tamaño de la posición se establece en el 5% del riesgo máximo por operación.

Para controlar los riesgos, se implementa un mecanismo de stop loss. Si el precio se mueve un 0,5% contra la posición larga después de abrir larga, la posición se cerrará. Del mismo modo para la posición corta. Esto evita pérdidas excesivas cuando la tendencia del precio es fuerte en una dirección.

En resumen, la lógica central es monitorear el RSI para detectar sobrecompra/sobreventa, operar en contra de la tendencia en función de los niveles de RSI configurados y gestionar los riesgos mediante el stop loss.

Análisis de ventajas

  • El RSI es un indicador comprobado para identificar los niveles de sobrecompra/sobreventa.

  • El comercio contra los extremos se ajusta a la suposición de oscilación de precios en lugar de tendencia unidireccional.

  • Las pérdidas de detención controlan las pérdidas de operaciones individuales.

  • Marco de backtesting simple y claro, fácil de entender y modificar.

  • Parámetros flexibles del RSI y nivel de stop loss adaptables a los cambios del mercado.

Análisis de riesgos

  • El RSI es un indicador de tendencia, las pérdidas continuas pueden ocurrir durante la tendencia persistente en lugar del precio limitado por el rango.

  • Los parámetros de RSI incorrectos pueden generar más señales pero con una tasa de ganancia más baja.

  • El stop loss puede ser activado por pequeños movimientos o causar grandes pérdidas si no se establece correctamente.

  • La estrategia funciona mejor en el mercado de rango, puede tener un rendimiento inferior en escenarios de tendencia fuerte.

  • El tamaño excesivo de la posición puede aumentar las pérdidas.

Direcciones de optimización

  • Combine RSI con otros indicadores como MACD para mejorar la precisión de la señal.

  • Investiga los comportamientos estadísticos de RSI con diferentes parámetros para encontrar ajustes óptimos.

  • Prueba de los mecanismos de dimensionamiento de posición dinámica en pruebas de retroceso.

  • Utilice ATR para establecer los niveles de pérdida de parada adaptativos.

  • Aplicar el aprendizaje automático para descubrir combinaciones óptimas de parámetros.

  • Explorar la combinación de otras estrategias de inversión de la media con el RSI para construir sistemas robustos.

Resumen de las actividades

La estrategia de trading de rango del RSI hace operaciones de reversión simples basadas en los niveles de sobrecompra/sobreventa del RSI y gestiona el riesgo a través del stop loss. Funciona para los mercados oscilantes de rango pero tiene limitaciones en escenarios de tendencias fuertes. Ajustar los parámetros, mejorar las reglas de stop loss, combinar con otros indicadores y estrategias puede mejorar su estabilidad y adaptabilidad.


/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simple RSI Strategy", overlay=true)

var rsiLength = input(2, title = "rsi Length")
var float rsiBuyLevel = input(11, title = "What rsi level triggers a long")
var float rsiShortLevel = input(91, title = "What rsi level triggers a short")
var float maxRisk =  input(.05, title="Maximum risk/ trade")
var chartEntryStop = input(.005, title="Max Movment in the opposite direction / trade")
var float longEntryPrice = na
var float shortEntryPrice = na 
rsiValue = ta.rsi(close, rsiLength)

var float maxRiskValue = (strategy.equity * maxRisk) / chartEntryStop
var float maxRsi = 0

//Conditions


// Strategy Execution
if( close <= longEntryPrice-(longEntryPrice*chartEntryStop ))
    strategy.close("Long")

if( close >= shortEntryPrice+(shortEntryPrice*chartEntryStop ))
    strategy.close("Short")

if (rsiValue <= rsiBuyLevel and maxRsi == rsiShortLevel)
    maxRsi := rsiBuyLevel 
    strategy.close("Short")
    strategy.entry("Long", strategy.long)
    longEntryPrice := close
    
   
else if (rsiValue >= rsiShortLevel and maxRsi == rsiBuyLevel)
    maxRsi := rsiShortLevel
    strategy.close("Long")
    strategy.entry("Short", strategy.short)
    shortEntryPrice := close

else if (rsiValue >= rsiShortLevel )
    maxRsi := rsiShortLevel
    strategy.close("Long")

else if (rsiValue <= rsiBuyLevel )
    maxRsi := rsiBuyLevel
    strategy.close("Short")

Más.