Estrategia de trading cuantitativo combinada con soporte y resistencia para RSI y MACD


Fecha de creación: 2024-01-05 16:24:58 Última modificación: 2024-01-05 16:24:58
Copiar: 1 Número de Visitas: 1179
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo combinada con soporte y resistencia para RSI y MACD

Descripción general

La estrategia se basa en el RSI y el MACD para determinar las señales de negociación en combinación con la resistencia del soporte. Se llama la estrategia del panda de la lengua de la lengua. La estrategia se basa en el RSI para determinar la sobreventa y la sobreventa, el MACD para determinar la tendencia a la baja, y la combinación de los precios más altos y más bajos en 100 períodos para trazar la resistencia del soporte, generando una señal de compra cerca del soporte y una señal de venta cerca de la resistencia.

Principio de estrategia

La estrategia se basa principalmente en dos indicadores, el RSI y el MACD, el RSI determina el estado de sobreventa y el MACD determina el estado de la tendencia a la baja. En primer lugar, se calcula el valor del RSI de 14 ciclos y se especifica una línea de sobreventa de 70 y una línea de sobreventa de 30. Luego se calcula el valor del MACD de la línea rápida de 12 días, la línea lenta de 26 días y la línea de señal de 9 días.

Además, la estrategia también calcula los precios más altos y más bajos en 100 ciclos como puntos de resistencia de soporte. Cuando se genera una señal de compra, se requiere que el precio esté cerca del nivel de soporte, es decir, el precio de cierre está dentro del 1% del nivel de soporte para que se realice la compra; Cuando se produce una señal de venta, también se requiere que el precio de cierre esté por debajo del 1% del nivel de resistencia para que se realice la venta.

Ventajas estratégicas

La estrategia combina análisis de tendencias y juicio de sobreventa y sobreventa, evitando las falsas señales causadas por la dependencia de un solo indicador. Al mismo tiempo, la introducción de los niveles de resistencia de soporte como breakouts reduce los errores de negociación causados por rebotes en las posiciones de resistencia de soporte más comunes. La línea rápida MACD se combina con el indicador RSI para determinar con mayor precisión el movimiento de los precios y el estado de sobreventa y sobreventa.

Riesgo estratégico

La estrategia tiene los siguientes riesgos:

  1. En un momento de fuerte movimiento, la estrategia puede perder la mayor parte de sus ganancias, ya que tiende a entrar en juego después del final del ciclo de reversión;

  2. La configuración incorrecta de los parámetros RSI y MACD puede causar errores en las señales de negociación;

  3. El algoritmo de detección de resistencia de soporte es simple y puede sobreestimar o subestimar el punto de resistencia de soporte real;

  4. La ausencia de mecanismos para detener los daños. En casos extremos, no se puede controlar eficazmente los daños.

Para estos riesgos, se puede optimizar mediante la introducción de MACD adaptativo, optimizando los parámetros RSI para que estén más cerca de las características de las diferentes variedades; mejorando los algoritmos de determinación de la resistencia de soporte, agregando juicios de modelado de mercado, etc.

Dirección de optimización de la estrategia

La estrategia puede ser optimizada en las siguientes dimensiones:

  1. Introducción de mecanismos de detención de pérdidas, como el indicador de AMO de la tela combinado con la detención móvil

  2. Utiliza el MACD de adaptación para optimizar los parámetros de MACD en tiempo real

  3. Introducción de criterios de clasificación del mercado para determinar puntos de resistencia más científicos para apoyar

  4. Combinación de más datos para establecer un juicio de estado de mercado, diferentes estados usan diferentes parámetros

  5. Optimización de extremo a extremo de las estrategias con algoritmos de aprendizaje automático

Con estas mejoras, se puede reducir aún más la retirada y mejorar la estabilidad de la estrategia.

Resumir

Esta estrategia utiliza el RSI y el MACD para determinar el estado de sobreventa y sobreventa, para operar cerca del soporte y la resistencia, y es una estrategia de seguimiento de tendencias que refleja mejor. Al mismo tiempo, la combinación de la determinación de la resistencia al soporte reduce el riesgo. La estrategia tiene la ventaja de que la señal de la estrategia es estable, el riesgo es controlable y adecuado para ser mantenido a medio y largo plazo.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI + MACD with Support and Resistance", shorttitle="RSI_MACD_SR", overlay=true)

// Input for RSI and MACD values
rsiOverbought = input(70, title="RSI Overbought Threshold")
rsiOversold = input(30, title="RSI Oversold Threshold")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalSmoothing = input(9, title="MACD Signal Smoothing")

// Calculating RSI and MACD
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)

// Support and Resistance
support = ta.lowest(100)
resistance = ta.highest(100)

// Drawing support and resistance lines
// line.new(x1=bar_index[0], y1=support, x2=bar_index[-1], y2=support, color=color.green, width=1)
// line.new(x1=bar_index[0], y1=resistance, x2=bar_index[-1], y2=resistance, color=color.red, width=1)

// Buy Condition: If RSI is oversold and MACD line crosses above the signal line
// Additionally, check if price is near the support line
longCondition = ta.crossover(macdLine, signalLine) and rsiValue < rsiOversold and (close - support) < (close * 0.01)
strategy.entry("Long", strategy.long, when=longCondition, comment="Buy")

// Sell Condition: If RSI is overbought and MACD line crosses below the signal line
// Additionally, check if price is near the resistance line
shortCondition = ta.crossunder(macdLine, signalLine) and rsiValue > rsiOverbought and (resistance - close) < (close * 0.01)
strategy.entry("Short", strategy.short, when=shortCondition, comment="Sell")

// Plot values on the chart for visualization
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")