Estrategia de cruce de medias móviles axiales RSI


Fecha de creación: 2023-11-23 16:45:55 Última modificación: 2023-11-23 16:45:55
Copiar: 2 Número de Visitas: 751
1
Seguir
1617
Seguidores

Estrategia de cruce de medias móviles axiales RSI

Descripción general

La estrategia de cruce de la línea de la mediana del RSI se determina mediante el cálculo del RSI y su promedio móvil simple, y observando el forcado de oro de ambos jugadores. La estrategia se combina con el aumento de la resistencia de soporte de la banda de Brin a la mediana del RSI.

Principio de estrategia

La estrategia primero calcula el indicador RSI de 14 días, y luego calcula el promedio móvil simple de 8 días del indicador RSI. La señal de compra se produce cuando el indicador RSI rompe su promedio móvil de abajo hacia arriba; la señal de venta se produce cuando el RSI rompe su promedio móvil de arriba hacia abajo.

Al mismo tiempo, la estrategia determina que la banda de Brin se incrementa a la media axial del RSI. La banda de Brin determina si la media axial del RSI ya está relativamente demasiado congestionada mediante el cálculo de la diferencia estándar, evitando así comprar los puntos altos y vender los puntos bajos.

Análisis de las ventajas

La estrategia de cruce de la línea media axial RSI combina el indicador de tendencia RSI y el indicador de avance de la curva con el promedio móvil, lo que permite determinar con eficacia la tendencia y la aleatoriedad del mercado. El promedio aritmético del indicador RSI puede suavizar mejor el efecto de las fluctuaciones de precios en las señales.

La estrategia utiliza el principio de la diferencia estándar para ajustar automáticamente el ancho de las subidas y bajadas, lo que evita la confusión de las señales de negociación. Cuando la banda de Brin se estrecha, los cambios se suavizan, lo que es adecuado para buscar oportunidades de reversión; y cuando la banda de Brin se expande, lo que significa un período de gran volatilidad, lo que es adecuado para seguir la tendencia.

Análisis de riesgos

El mayor riesgo de la estrategia de cruce de la línea de la media axial del RSI reside en el retraso del indicador RSI y el promedio móvil en sí mismo. Cuando se trata de un movimiento rápido, el cálculo del indicador y la determinación de la tendencia tienen un cierto retraso. Esto puede provocar que los puntos de compra sean elevados y los puntos de venta sean presionados.

Otro de los principales riesgos es la confusión de los indicadores cuando la tendencia se convierte en una tendencia alcista o bajista. Cuando se produce una reversión en el mercado y el RSI y el indicador de la línea media no han reaccionado, se producen señales de negociación erróneas y se producen pérdidas.

Las soluciones incluyen un ajuste adecuado de los parámetros RSI para reducir el ciclo de la media; la adición de un indicador de tendencia para ayudar a juzgar; y una ampliación adecuada del rango de stop loss.

Dirección de optimización

La estrategia de cruce de la medianía axial RSI se puede optimizar en las siguientes direcciones:

  1. Optimización de los parámetros del RSI: ajustar la longitud del RSI equilibra la sensibilidad y la estabilidad

  2. Optimización de los parámetros de las medias móviles: ajuste de los tipos de medias y los parámetros de los períodos, optimización de la tendencia de los indicadores

  3. Mecanismo de aumento de la pérdida: establezca una pérdida móvil o una pérdida de tiempo para controlar la pérdida individual

  4. Combinación de indicadores de tendencia: incluye indicadores como MACD, KDJ y otros para evitar errores de reversión

  5. Verificación de múltiples marcos de tiempo: identificación de tendencias en marcos de tiempo más altos para evitar ser engañados

Resumir

La estrategia RSI es una estrategia de comercio cuantitativa más madura en general. Combina las ventajas de varios indicadores tecnológicos y puede entrar en el mercado a través de ajustes de parámetros y optimización multidimensional. El mayor riesgo de la estrategia reside en el atraso de los indicadores, que requieren un stop loss para controlar las pérdidas.

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

//@version=5
// Copyright (c) 2020-present, Alex Orekhov (everget)
// Corrected Moving Average script may be freely distributed under the terms of the GPL-3.0 license.
strategy('rsisma', shorttitle='rsisma')

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiMA = ma(rsi, maLengthInput, maTypeInput)
isBB = maTypeInput == "Bollinger Bands"

plot(rsi, "RSI", color=#7E57C2)
plot(rsiMA, "RSI-based MA", color=color.blue)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
bbUpperBand = plot(isBB ? rsiMA + ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Upper Bollinger Band", color=color.green)
bbLowerBand = plot(isBB ? rsiMA - ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Lower Bollinger Band", color=color.green)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill")


long = ta.crossover(rsi, rsiMA)
short = ta.crossunder(rsi, rsiMA)
if long
    strategy.entry("long", strategy.long)
if short
    strategy.close("long", comment = "long TP")

 
// long1 = close * 9
// long2 = long1 / 100
// long3 = long2 + close


//plot(long3,color=color.blue)
// if short
//     strategy.entry("short", strategy.short)
// if long
//     strategy.close("short", comment = "short TP")