Estrategia de trading cuantitativo de cruce de medias móviles dobles EMA23/EMA50

EMA EMA23 EMA50
Fecha de creación: 2024-04-26 15:29:21 Última modificación: 2024-04-26 15:29:21
Copiar: 3 Número de Visitas: 605
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo de cruce de medias móviles dobles EMA23/EMA50

Descripción general

La estrategia se basa en señales cruzadas de EMA23 y EMA50. La estrategia genera una señal de compra cuando el EMA23 atraviesa el EMA50 y una señal de venta cuando se atraviesa. La estrategia también se detiene en las posiciones de más tiendas cuando el precio cae por debajo del EMA50 y, a su vez, se detiene en las posiciones de menos tiendas. Además, la estrategia se reinicia cuando el precio vuelve a subir al EMA50.

Principio de estrategia

  1. Calcule el promedio móvil de los dos índices EMA23 y EMA50
  2. Cuando el EMA 23 se pone sobre el EMA 50, se genera una señal de compra; cuando el EMA 23 se pone bajo el EMA 50, se genera una señal de venta.
  3. Para las posiciones de más de una posición, se realiza un stop loss si el precio cae por debajo de la EMA50 y el precio de cierre es inferior a la EMA50 de la línea K anterior.
  4. Para las posiciones en blanco, se realiza un stop loss si el precio supera el EMA50 y el precio de cierre es superior al EMA50 de la línea K anterior.
  5. Para las posiciones de más de un día, si el precio vuelve a estar en EMA50 y el precio de cierre, el precio más alto es superior a EMA50, y el EMA23 es superior a EMA50, vuelva a entrar.
  6. Para las posiciones en blanco, si el precio vuelve a caer por debajo de EMA50 y el precio de cierre y el precio mínimo son inferiores a EMA50 y EMA23 es inferior a EMA50, vuelva a entrar.
  7. Las posiciones de más posiciones ganan 1.6 veces el precio de cierre establecido para la apertura de la posición, y las posiciones de más posiciones ganan 0.75 veces el precio de cierre establecido para la apertura de la posición.

Ventajas estratégicas

  1. El cruce de dos líneas es un indicador de seguimiento de tendencias sencillo y eficaz que puede ayudar a capturar tendencias.
  2. Los mecanismos de detención de pérdidas ayudan a controlar el riesgo y evitar que las pérdidas se extiendan.
  3. El nuevo mecanismo de reingreso permite a las estrategias volver a capturar tendencias y aumentar el potencial de ganancias.
  4. La configuración de los extremos de ganancia permite a la estrategia bloquear las ganancias a tiempo.
  5. El marco de tiempo de 30 minutos ofrece más oportunidades de negociación, pero también filtra algo de ruido.

Riesgo estratégico

  1. La EMA es un indicador de seguimiento de tendencias que está rezagado y puede perder el mejor punto de entrada.
  2. La configuración de la posición del punto de parada puede no ser lo suficientemente optimizada, lo que puede conducir a una parada prematura.
  3. La frecuencia de las transacciones puede aumentar los costos de las comisiones y afectar la rentabilidad.
  4. La estrategia es que las señales falsas pueden ser más frecuentes en mercados convulsionados.
  5. Los puntos fijos de ganancia pueden limitar el espacio de ganancia de la estrategia.

Dirección de optimización de la estrategia

  1. Se puede considerar la introducción de otros indicadores técnicos para ayudar a determinar las tendencias y mejorar los puntos de partida, como MACD, RSI, etc.
  2. Para optimizar la configuración del punto de parada, se puede considerar el uso de indicadores de volatilidad como ATR para ajustar dinámicamente la posición de parada.
  3. Controlar la frecuencia de las transacciones, establecer las condiciones adecuadas de filtración de transacciones y reducir las señales falsas.
  4. Utiliza diferentes parámetros de estrategia para las ciudades convulsivas y las ciudades de tendencia.
  5. Los puntos de ganancias pueden ser más flexibles, por ejemplo, pueden ajustarse a la fluctuación del mercado y a la dinámica de la relación entre riesgo y ganancia.

Resumir

La estrategia es una estrategia de comercio cuantitativa basada en el cruce de dos líneas equiláreas para capturar la tendencia a través de la señal de cruce de EMA23 y EMA50 y establece un mecanismo de parada y reingreso para controlar el riesgo y aumentar el potencial de ganancias. La estrategia es simple y fácil de entender, adecuada para el comercio a corto plazo, por ejemplo, 30 minutos.

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

//@version=5
strategy("EMA Crossover Strategy", overlay=true)

// EMA 23 ve EMA 50'nin hesaplanması
ema23 = ta.ema(close, 23)
ema50 = ta.ema(close, 50)

// Ana alım kuralı: EMA 23 ve EMA 50'nin yukarı kesilmesi
buySignal = ta.crossover(ema23, ema50)

// Ana satış kuralı: EMA 23 ve EMA 50'nin aşağı kesilmesi
sellSignal = ta.crossunder(ema23, ema50)

// Long pozisyon stop seviyesi
longStopLoss = low < ema50 and close < ema50[1]

// Short pozisyon stop seviyesi
shortStopLoss = high > ema50 and close > ema50[1]

// Long pozisyon için tekrar giriş kuralı
longReEntry = high > ema50 and close > ema50 and close > ema50 and ema23 > ema50

// Short pozisyon için tekrar giriş kuralı
shortReEntry = low < ema50 and close < ema50 and close < ema50 and ema23 < ema50

// Long işlemde kar alma seviyesi (%60)
longTakeProfit = strategy.position_avg_price * 1.60

// Short işlemde kar alma seviyesi (%25)
shortTakeProfit = strategy.position_avg_price * 0.75

// Long işlem için yeniden giriş koşulu
longReEntryCondition = strategy.position_size <= 0 and longReEntry

// Short işlem için yeniden giriş koşulu
shortReEntryCondition = strategy.position_size >= 0 and shortReEntry

// Geriye dönük test için başlangıç tarihi (01.01.2022)
startDate = timestamp(2022, 01, 01, 00, 00)

if (time >= startDate)
    if (buySignal)
        strategy.entry("Buy", strategy.long)

    if (sellSignal)
        strategy.entry("Sell", strategy.short)

    if (strategy.position_size > 0 and (longStopLoss or close >= longTakeProfit))
        strategy.close("Buy")

    if (strategy.position_size < 0 and (shortStopLoss or close <= shortTakeProfit))
        strategy.close("Sell")

    if (longReEntryCondition)
        strategy.entry("Buy", strategy.long)

    if (shortReEntryCondition)
        strategy.entry("Sell", strategy.short)