Estrategia de ruptura de la media móvil doble con retraso

El autor:¿ Qué pasa?, Fecha: 2024-04-01 11:58:55
Las etiquetas:

img

Resumen general

La Estrategia de Breakout de Lagging de la Media Móvil Doble es una estrategia comercial de análisis técnico comúnmente utilizada. Esta estrategia combina dos promedios móviles simples (SMA) con diferentes períodos y el indicador de Rango Verdadero Promedio (ATR), con el objetivo de capturar puntos de inflexión en las tendencias del mercado y lograr una negociación de bajo riesgo y alto rendimiento. Su idea central es utilizar la naturaleza rezagada de los promedios móviles y la volatilidad del mercado, generando señales comerciales cuando los precios rompen los promedios móviles y la volatilidad está dentro de un rango controlable.

Principio de la estrategia

Los principios principales de esta estrategia son los siguientes:

  1. Calcular dos promedios móviles simples (SMA) con períodos diferentes, con períodos de impago de 14 y 50.
  2. Calcular el indicador ATR para medir la volatilidad del mercado, con un período por defecto de 14.
  3. Trace las bandas superior e inferior de ATR como rangos de referencia para las fluctuaciones de precios. La banda superior se obtiene sumando el ATR multiplicado por un factor (por defecto 1.5) al precio más alto, y la banda inferior se obtiene restando el ATR multiplicado por el factor del precio más bajo.
  4. Cuando el precio de cierre cruza por encima del promedio móvil a corto plazo y el promedio móvil a corto plazo está por encima del promedio móvil a largo plazo, se genera una señal larga y se dibuja una flecha ascendente por debajo del candelabro.
  5. Cuando el precio de cierre cruza por debajo del promedio móvil a corto plazo y el promedio móvil a corto plazo está por debajo del promedio móvil a largo plazo, se genera una señal corta y se dibuja una flecha descendente sobre el candelabro.
  6. Establezca los niveles de stop-loss y take-profit. El nivel de stop-loss es el precio más bajo menos el ATR multiplicado por el factor, y el nivel de take-profit es el precio de entrada más (precio de entrada - nivel de stop-loss) multiplicado por 2.

A partir de los principios expuestos, puede observarse que esta estrategia combina el juicio de tendencia del sistema de medias móviles y la medición de la volatilidad del indicador ATR, centrándose en la tendencia y controlando el riesgo de extracción, por lo que es una estrategia de tendencia.

Análisis de ventajas

La Estrategia de ruptura con retraso de la media móvil dual tiene las siguientes ventajas:

  1. Seguimiento de tendencias: Juzga la dirección de la tendencia a través del sistema de promedios móviles, captura las principales tendencias del mercado y sigue el mercado.
  2. Control de riesgos: utiliza el indicador ATR para medir la volatilidad del mercado y establece niveles razonables de stop-loss para mantener las reducciones dentro de un rango aceptable.
  3. Parámetros flexibles: Parámetros como los períodos de media móvil, el período ATR y el multiplicador pueden optimizarse y ajustarse de acuerdo con diferentes mercados e instrumentos, lo que proporciona un cierto grado de universalidad.
  4. Simple y directo: Las señales de negociación son simples y claras, adecuadas para inversores de diferentes niveles.

Análisis de riesgos

Aunque esta estrategia presenta ciertas ventajas, presenta los siguientes riesgos:

  1. Comercio frecuente: cuando el mercado es altamente volátil y la tendencia no es clara, esta estrategia puede generar señales comerciales frecuentes, aumentando los costos de negociación.
  2. Retraso: El sistema de medias móviles tiene inherentemente un cierto retraso, y puede haber cierta reducción al comienzo de los puntos de inflexión del mercado.
  3. Optimización de parámetros: los diferentes parámetros tienen un impacto significativo en el rendimiento de la estrategia, lo que requiere la optimización de parámetros para diferentes mercados e instrumentos, lo que aumenta la dificultad de implementación.

Para hacer frente a los riesgos anteriores, la estrategia puede optimizarse y mejorarse en los siguientes aspectos:

  1. Introduzca el filtrado de tendencias: Antes de generar señales de negociación, primero determine la dirección de la tendencia del marco de tiempo más amplio y solo negocie cuando la tendencia sea clara en el marco de tiempo más amplio, reduciendo el comercio frecuente.
  2. Optimizar el stop-loss y el take-profit: considerar la introducción de métodos de stop-loss dinámicos como el stop-loss de seguimiento y el stop-loss de volatilidad, así como ajustar dinámicamente los niveles de take-profit en función de la volatilidad del mercado para mejorar la flexibilidad de la estrategia.
  3. Optimización de la combinación: Combinar esta estrategia con otros indicadores técnicos o factores fundamentales para mejorar la solidez de la estrategia.

Dirección de optimización

Esta estrategia se puede optimizar a partir de los siguientes aspectos:

  1. Optimización adaptativa de parámetros: para diferentes instrumentos y marcos de tiempo, encuentra automáticamente la combinación óptima de parámetros para reducir la carga de trabajo del ajuste manual de parámetros.
  2. Filtración de señales: después de generar señales comerciales, introduzca otros indicadores técnicos o factores fundamentales para la confirmación secundaria de las señales para mejorar la calidad de la señal.
  3. Gestión de posiciones: al abrir posiciones, ajuste dinámicamente el tamaño de la posición en función de factores como la volatilidad del mercado y el riesgo de la cuenta para controlar el riesgo de una sola operación.
  4. Trailing stop-loss: El nivel inicial de stop-loss está fijo. A medida que el precio se mueve en una dirección favorable, considere mover el nivel de stop-loss en la dirección favorable, así como para reducir la reducción y mejorar la eficiencia de la utilización del capital. Los métodos comunes incluyen trailing stop-loss y breakout stop-loss.

Las optimizaciones anteriores pueden mejorar la adaptabilidad, robustez y rentabilidad de la estrategia, pero debe tenerse en cuenta que la optimización excesiva puede conducir a un ajuste de curva, lo que resulta en un mal rendimiento fuera de la muestra.

Resumen de las actividades

La Estrategia de ruptura de retraso de media móvil doble es una estrategia clásica de seguimiento de tendencias que determina la dirección de la tendencia a través del sistema de media móvil y controla el riesgo utilizando el indicador ATR, capturando los movimientos de tendencia mientras gestiona el riesgo.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="2 Moving Averages", shorttitle="2MA", overlay=true)

// Moving Averages
len = input(14, minval=1, title="Length MA1")
src = input(close, title="Source MA1")
ma1 = sma(src, len)

len2 = input(50, minval=1, title="Length MA2")
src2 = input(close, title="Source MA2")
ma2 = sma(src2, len2)

// Plotting Moving Averages
plot(ma1, color=#0b6ce5, title="MA1")
plot(ma2, color=#00ff80, linewidth=2, title="MA2")

// ATR Bands
atrLength = input(14, title="ATR Length")
atrMultiplier = input(1.5, title="ATR Multiplier")
upperBand = high + atr(atrLength) * atrMultiplier
lowerBand = low - atr(atrLength) * atrMultiplier

u =plot(upperBand, color=color.rgb(217, 220, 223, 84), title="ATR Upper Band")
l = plot(lowerBand, color=color.rgb(217, 220, 223, 84), title="ATR Lower Band")
fill(u, l, color=#471eb821, title="ATR Background")

// Conditions for plotting arrows
upArrowCondition = ma1 > ma2 and crossover(close, ma1)
downArrowCondition = ma1 < ma2 and crossunder(close, ma1)

// Plotting arrows
plotshape(upArrowCondition, style=shape.arrowup, color=color.rgb(66, 45, 255), size=size.normal, location=location.belowbar, title="Up Arrow")
plotshape(downArrowCondition, style=shape.arrowdown, color=color.red, size=size.normal, location=location.abovebar, title="Down Arrow")
// Checkbox for trade execution
showTrades = input(true, title="Hiển thị giao dịch")

// Buy Condition
if (upArrowCondition and showTrades)
    strategy.entry("Buy", strategy.long)

// Sell Condition
if (downArrowCondition and showTrades)
    strategy.entry("Sell", strategy.short)

// Stop Loss and Take Profit
stopLossBuy = low - atr(14) * atrMultiplier
takeProfitBuy = close + (close - stopLossBuy) * 2

stopLossSell = high + atr(14) * atrMultiplier
takeProfitSell = close - (stopLossSell - close) * 2

strategy.exit("Exit Buy", "Buy", stop=stopLossBuy, limit=takeProfitBuy)
strategy.exit("Exit Sell", "Sell", stop=stopLossSell, limit=takeProfitSell)



Más.