Estrategia de posición dinámica de cruce de medias móviles dobles

SMA MA
Fecha de creación: 2024-07-30 16:04:59 Última modificación: 2024-07-30 16:04:59
Copiar: 1 Número de Visitas: 459
1
Seguir
1617
Seguidores

Estrategia de posición dinámica de cruce de medias móviles dobles

Descripción general

La estrategia de mantenimiento de posiciones dinámicas de cruce de dos medias simples móviles (SMA) de diferentes períodos es una estrategia de comercio cuantitativa que se basa en señales de cruce de dos medias móviles simples móviles (SMA) de diferentes períodos. La estrategia utiliza el cruce de medias móviles de corto y largo plazo para juzgar la tendencia del mercado y ajustar la dirección de la posición en función de las señales de cruce y la relación entre el precio y la dinámica de la línea de medias de largo plazo. La estrategia se ejecuta en un gráfico de línea de sol, y la sensibilidad y la velocidad de respuesta de la estrategia se pueden ajustar de manera flexible mediante la configuración de diferentes parámetros de medias móviles.

Principio de estrategia

  1. Calculación de las medias móviles: la estrategia utiliza dos medias móviles simples (SMA) el día 9 y el 21.
  2. Se generan señales de transacción:
    • Señales de compra: el promedio a corto plazo (SMA de 9 días) sobre el promedio a largo plazo (SMA de 21 días)
    • Señales de venta: la línea media a corto plazo está por debajo de la línea media a largo plazo
  3. Gestión de las posiciones:
    • Abrir posiciones: abrir posiciones múltiples cuando se produce una señal de compra; abrir posiciones en blanco cuando se produce una señal de venta
    • La posición en blanco y la posición en reverso: a) Cuando se mantiene una posición de más de un título, se aplanará el título y se abrirá un título en blanco si el precio de apertura es inferior a la media a largo plazo o si hay una señal de venta b) Cuando se mantiene una posición en blanco, si el precio de apertura es superior a la media a largo plazo o si se produce una señal de compra, se borra el blanco y se abre un polinomio
  4. Control de riesgo: la estrategia no establece un stop loss fijo, sino que controla el riesgo mediante el ajuste dinámico de la dirección de la posición

Ventajas estratégicas

  1. Seguimiento de tendencias: captura de tendencias del mercado con el uso de cruces de medias líneas, lo que ayuda a obtener ganancias significativas en las grandes tendencias
  2. Mantenimiento de posiciones dinámico: ajuste flexible de las posiciones en función de la relación entre el precio y la media a largo plazo, lo que aumenta la flexibilidad y adaptabilidad de la estrategia
  3. Sencillo y fácil de entender: la lógica de la estrategia es clara, fácil de entender e implementar
  4. Parámetros ajustables: puede adaptarse a diferentes entornos de mercado y variedades de transacción mediante el ajuste del ciclo promedio
  5. Trata todo el día: las estrategias pueden operar continuamente en diferentes condiciones de mercado, sin restricciones por el estado del mercado
  6. Ejecución automatizada: las estrategias pueden programarse para que las transacciones sean completamente automatizadas y reduzcan la interferencia emocional humana.
  7. Gestión de riesgos: evita las pérdidas de puntos de deslizamiento que pueden ser causadas por paradas fijas al ajustar dinámicamente la dirección de la posición

Riesgo estratégico

  1. Desventajas de los mercados convulsivos: en los mercados de liquidación horizontal o convulsivos, las operaciones frecuentes pueden causar pérdidas
  2. Retraso: las medias móviles son un indicador retrasado en su naturaleza, y pueden perderse la etapa inicial de un evento dramático
  3. Riesgo de falsa ruptura: las fluctuaciones de precios a corto plazo pueden causar una falsa ruptura de la línea media, lo que genera una señal de negociación errónea.
  4. Falta de stop loss: la estrategia no tiene un stop loss fijo, lo que puede provocar grandes pérdidas en situaciones extremas
  5. Exceso de operaciones: los ajustes frecuentes en las posiciones pueden generar mayores costos de operaciones
  6. Sensibilidad a los parámetros: el rendimiento de la estrategia es sensible a la selección de parámetros de la línea media, y diferentes parámetros pueden dar lugar a resultados muy diferentes
  7. Limitaciones de un solo indicador: depender solo de la intersección lineal puede pasar por alto otra información importante del mercado

Dirección de optimización de la estrategia

  1. Introducción de indicadores adicionales: combinación de indicadores como RSI, MACD y otros para mejorar la fiabilidad de la señal
  2. Optimización del tiempo de entrada: aumento de las condiciones de filtración, como volumen de transacciones, volatilidad y reducción de brechas falsas
  3. Incorporar un mecanismo de stop loss: establecer un stop loss fijo o un stop loss de seguimiento para controlar el riesgo de una sola operación
  4. Ajuste el tamaño de las posiciones: ajuste el tamaño de las posiciones en función de la dinámica de la volatilidad del mercado y optimice la administración de fondos
  5. Aumentar el conocimiento del estado del mercado: identificar tendencias y mercados convulsivos, y adoptar diferentes estrategias en diferentes estados del mercado
  6. Optimización de la selección de parámetros: el uso de datos históricos de retroalimentación para encontrar la combinación óptima de parámetros de la línea media
  7. Adición de filtro de intensidad de tendencia: introducción de indicadores como el ADX, para negociar solo en mercados con una fuerte tendencia
  8. Parámetros de adaptación: ajuste automático del ciclo de la media en función de la volatilidad del mercado para mejorar la adaptabilidad de la estrategia

Resumir

La estrategia de mantenimiento de posiciones dinámicas de cruce de doble línea es un método de negociación cuantitativo clásico y práctico para capturar las tendencias del mercado mediante la captura de señales de cruce de línea y el ajuste dinámico de la dirección de la posición. La estrategia es fácil de entender, totalmente automatizada y tiene una mejor capacidad de seguimiento de tendencias y flexibilidad. Sin embargo, la estrategia también presenta riesgos potenciales como un mal rendimiento en el mercado de la oscilación y el retraso de la señal.

Código Fuente de la Estrategia
/*backtest
start: 2024-06-29 00:00:00
end: 2024-07-29 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="MA Cross Backtest", overlay=true, default_qty_type=strategy.cash, default_qty_value=10)

// Parâmetros das Médias Móveis
shortlen = input.int(9, "Short MA Length", minval=1)
longlen = input.int(21, "Long MA Length", minval=1)

// Cálculo das Médias Móveis
short = ta.sma(close, shortlen)
long = ta.sma(close, longlen)

// Plotagem das Médias Móveis
plot(short, color=color.orange, title="Short MA")
plot(long, color=color.green, title="Long MA")

// Sinal de Compra baseado no cruzamento das médias móveis
buySignal = ta.crossover(short, long)

// Sinal de Venda (Short) baseado no cruzamento das médias móveis
sellSignal = ta.crossunder(short, long)

// Plotagem dos Sinais de Compra e Venda
plotshape(series=buySignal, location=location.belowbar, color=color.blue, style=shape.labelup, text="Buy", title="Buy Signal")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", title="Sell Signal")

// Condições para alertas
alertcondition(buySignal, title="Buy Signal", message="MA Cross Buy Signal")
alertcondition(sellSignal, title="Sell Signal", message="MA Cross Sell Signal")

// Lógica da Estratégia de Backtest
if (buySignal)
    // Se não há posição aberta ou se a posição atual é curta, feche a posição curta antes de abrir uma nova posição longa
    if (strategy.position_size < 0)
        strategy.close("Short", comment="Closing Short Position before Long Entry")
    strategy.entry("Long", strategy.long)

    // Alerta de compra
    alert("MA Cross Buy Signal", alert.freq_once_per_bar_close)

if (strategy.position_size > 0)
    // Se o preço abrir abaixo da média longa
    if (open < long)
        strategy.close("Long", comment="Price Opened Below Long MA")
        strategy.entry("Short", strategy.short, comment="Switched to Short")
        // Alerta de venda
        alert("Price Opened Below Long MA - Switched to Short", alert.freq_once_per_bar_close)
    // Se a média móvel curta cruzar abaixo da média móvel longa
    else if (sellSignal)
        strategy.close("Long", comment="Short MA Crossed Below Long MA")
        strategy.entry("Short", strategy.short, comment="Switched to Short")
        // Alerta de venda
        alert("Short MA Crossed Below Long MA - Switched to Short", alert.freq_once_per_bar_close)

if (strategy.position_size < 0)
    // Se o preço abrir acima da média longa
    if (open > long)
        strategy.close("Short", comment="Price Opened Above Long MA")
        strategy.entry("Long", strategy.long, comment="Switched to Long")
        // Alerta de compra
        alert("Price Opened Above Long MA - Switched to Long", alert.freq_once_per_bar_close)