Estrategia de ruptura de la media móvil doble

El autor:¿ Qué pasa?, Fecha: 2024-01-24 14:49:29
Las etiquetas:

img

Resumen general

La estrategia de ruptura de la media móvil doble es una estrategia de negociación cuantitativa basada en una media móvil rápida y una media móvil lenta. Utiliza dos medias móviles exponenciales (EMA) con diferentes períodos como señales de negociación. Cuando la EMA rápida cruza por encima de la EMA lenta, se genera una señal de compra. Cuando la EMA rápida cruza por debajo de la EMA lenta, se genera una señal de venta.

Estrategia lógica

La lógica central de esta estrategia es utilizar un promedio móvil rápido y un promedio móvil lento para formar señales de negociación. La estrategia define el período EMA rápido como 12 días y el período EMA lento como 26 días. El método de cálculo es el siguiente:

  1. Calcular el AP promedio móvil exponencial de la matriz de precios con un período de 2 días
  2. Calcular el promedio móvil rápido Basado en AP, con un período de 12 días
  3. Calcular la media móvil lenta basada en AP, con un período de 26 días
  4. Compare los promedios móviles rápidos y lentos:
    1. Cuando Fast cruza por encima de Slow, es una señal alcista.
    2. Cuando rápido cruza por debajo de lento, es una señal bajista
  5. Determinar señales de negociación específicas que combinen la relación entre el precio y la media móvil:
    1. Signo alcista: Rápido> Lento && AP> Rápido
    2. Signo bajista: Rápido < Lento & & AP < Rápido

El uso del cruce de la media móvil rápida y lenta para determinar las tendencias del mercado y generar señales de negociación es una estrategia típica de media móvil dual.

Análisis de ventajas

La estrategia de ruptura de la media móvil doble tiene las siguientes ventajas:

  1. La lógica de la estrategia es simple y clara, fácil de entender e implementar
  2. El período de media móvil puede ajustarse para adaptarse a los diferentes entornos de mercado
  3. Permitir que tanto las posiciones largas como las cortas obtengan mayores rendimientos
  4. Se pueden generar señales comerciales más precisas combinando precios y promedios móviles
  5. El retraso de las medias móviles puede filtrar eficazmente el ruido del mercado

Análisis de riesgos

La estrategia de ruptura de la media móvil doble también tiene algunos riesgos:

  1. Se pueden producir más señales falsas cuando el mercado está limitado al rango
  2. La doble estrategia de promedios móviles puede provocar ajuste de la curva, ignorando los cambios estructurales del mercado
  3. El hecho de basarse únicamente en indicadores técnicos es vulnerable a las rupturas falsas, con el riesgo de pérdidas

Soluciones:

  1. Optimizar el período de media móvil para adaptarse mejor a las condiciones actuales del mercado
  2. Confirmar las señales con otros indicadores como el volumen para evitar las rupturas falsas
  3. Adoptar estrategias de seguimiento de tendencias para controlar la relación pérdida/beneficio y reducir el riesgo

Direcciones de optimización

La estrategia de ruptura de la media móvil doble puede optimizarse en los siguientes aspectos:

  1. Encontrar combinaciones de períodos de media móvil más adecuadas para adaptarse a los cambios del mercado
  2. Añadir indicadores como el volumen para filtrar la señal para garantizar la validez
  3. Incorporar indicadores de estructura del mercado para identificar tendencias y ajustar parámetros
  4. Adoptar promedios móviles dinámicos que puedan ajustar automáticamente los períodos en función de los cambios del mercado
  5. Incorporar estrategias de stop loss para controlar eficazmente el riesgo y proteger el capital

Conclusión

La estrategia de ruptura de promedio móvil dual es una estrategia de negociación cuantitativa simple y práctica. Tiene ventajas como la lógica y la implementación fáciles, y también tiene algunos problemas de adaptabilidad al mercado. Podemos hacer que sea un sistema de negociación rentable estable a través de la optimización de parámetros, filtración de señales, control de riesgos, etc. En general, la estrategia de promedio móvil dual es un gran prototipo de estrategia que vale la pena una investigación en profundidad y aplicación para los operadores cuantitativos.


/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("CDC Action Zone V.2", overlay=true)

// CDC ActionZone V2 29 Sep 2016
// CDC ActionZone is based on a simple 2MA and is most suitable for use with medium volatility market
// 11 Nov 2016 : Ported to Trading View with minor UI enhancement
LSB = input(title="Long/Short", defval="Long only", options=["Long only", "Short only" , "Both"])
src = input(title="Data Array",type=input.source,defval=ohlc4)
prd1=input(title="Short MA period", type=input.integer,defval=12)
prd2=input(title="Long MA period",type=input.integer,defval=26)
AP = ema(src,2)
Fast = ema(AP,prd1)
Slow = ema(AP,prd2)


Bullish = Fast>Slow
Bearish = Fast<Slow

Green = Bullish and AP>Fast
Red = Bearish and AP<Fast
Yellow = Bullish and AP<Fast
Blue = Bearish and AP>Fast

Buy = Bullish and Bearish[1]
Sell = Bearish and Bullish[1]


alertcondition(Buy,"Buy Signal","Buy")
alertcondition(Sell,"Sell Signal","Sell")


//Plot

l1=plot(Fast,"Fast", linewidth=1,color=color.red)
l2=plot(Slow,"Slow", linewidth=2,color=color.blue)
bcolor = Green ? color.lime : Red ? color.red : Yellow ? color.yellow : Blue ? color.blue : na
barcolor(color=bcolor)
fill(l1,l2,bcolor)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2000, title = "From Year", minval = 1920)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 1921)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


if LSB == "Long only" and Buy and window()
    strategy.entry("L",true)
if LSB == "Long only" and Sell and window()
    strategy.close("L",qty_percent=100,comment="TP Long")
if LSB == "Both" and Buy and window()
    strategy.entry("L",true)
if LSB == "Both" and Sell and window()
    strategy.entry("S",false)
if LSB == "Short only" and Sell and window()
    strategy.entry("S",false)
if LSB == "Short only" and Buy and window()
    strategy.close("S",qty_percent=100,comment="TP Short")

Más.