Estrategia de negociación innovadora con ajuste dinámico de posición de media móvil de índice adaptativo

EMA TP ROI
Fecha de creación: 2024-12-20 16:33:20 Última modificación: 2024-12-20 16:33:20
Copiar: 4 Número de Visitas: 415
1
Seguir
1617
Seguidores

Estrategia de negociación innovadora con ajuste dinámico de posición de media móvil de índice adaptativo

Descripción general

La estrategia es una estrategia de negociación auto-adaptativa basada en un sistema de doble equilátero, que identifica las señales de compra mediante la intersección de un promedio móvil rápido (EMA25) con un promedio móvil lento (EMA100) y combina un objetivo de pérdidas y ganancias dinámicas para optimizar la eficacia de la negociación. La estrategia adopta una filosofía de negociación innovadora, centrada en el control del riesgo al tiempo que garantiza los beneficios, adecuada para la negociación de tendencias a medio y largo plazo.

Principio de estrategia

La lógica central de la estrategia incluye tres partes clave:

  1. Sistema de señales: utiliza la EMA25 para hacer múltiples señales a través de la formación de EMA100, que suele indicar el comienzo de una tendencia alcista.
  2. Control de riesgo: con el punto más bajo de la barra roja más cercana por debajo del EMA100 como punto de parada, esta configuración evita de manera efectiva los daños causados por una falsa ruptura.
  3. Gestión de ganancias: Se establece un objetivo de ganancias con un riesgo de ganancias de 1: 3, y el punto de parada se ajusta automáticamente a la línea de costos cuando se alcanza el 2% de ganancias, lo que permite una posición sin riesgo.

Ventajas estratégicas

  1. Alta fiabilidad de la señal: El uso de la EMA lenta como confirmación de tendencias puede filtrar eficazmente las señales falsas.
  2. El control de riesgo es perfecto: la configuración de stop loss dinámica y el mecanismo de confirmación de ruptura reducen el riesgo de transacción.
  3. Estabilidad de las características de los beneficios: mejora los beneficios esperados de la estrategia mediante la fijación de un razonable riesgo-beneficio.
  4. Alta automatización: incluye la generación completa de señales, stop loss y lógica de gestión de posiciones.
  5. Adaptabilidad: los parámetros se pueden ajustar según las diferentes condiciones del mercado.

Riesgo estratégico

  1. Riesgo de mercado en movimiento: los mercados en movimiento horizontal pueden desencadenar pérdidas continuas.
  2. Riesgo de deslizamiento: Durante períodos de alta volatilidad, es posible ejecutar deslizamientos.
  3. Riesgo de falsa ruptura: La señal de cruce de línea media puede presentar falsa ruptura.
  4. Sensibilidad de los parámetros: la configuración del ciclo de la línea media tiene un gran impacto en el rendimiento de la estrategia.

Dirección de optimización de la estrategia

  1. Introducción de la confirmación de tráfico: la adición de indicadores de tráfico en el sistema de señales para mejorar la fiabilidad de la ruptura.
  2. Optimización del mecanismo de detención de pérdidas: se puede considerar la introducción de la detención dinámica de ATR para que la detención de pérdidas sea más adaptable.
  3. Aumentar el filtro de intensidad de tendencia: agregar indicadores de intensidad de tendencia como el ADX para optimizar el tiempo de entrada.
  4. Mejorar la gestión de posiciones: ajustar el tamaño de las posiciones de forma dinámica en función de la volatilidad.
  5. Participar en el juicio del entorno del mercado: introducir un mecanismo de identificación de regímenes de mercado, con diferentes configuraciones de parámetros en diferentes entornos del mercado.

Resumir

La estrategia de captura de tendencias de inicio de cruzamiento de línea uniforme, junto con el mecanismo de gestión de pérdidas y ganancias dinámicas, logró una mejor característica de ganancias de riesgo. La estrategia de diseño tiene en cuenta las necesidades de la batalla real, con una gran practicidad.

Código Fuente de la Estrategia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover with TP and SL (Buy only) and Break-even", overlay=true)

// EMA sozlamalari
emaFastLength = input.int(25, title="Fast EMA Length")
emaSlowLength = input.int(100, title="Slow EMA Length")

// Hisoblash
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)

// Kesishishni aniqlash
bullishCross = ta.crossover(emaFast, emaSlow) // EMA 25 EMA 100 ni yuqoriga kesib o'tganda

// EMA 100 tagidagi oxirgi qizil shamning tagini olish
lastRedCandleLow = ta.valuewhen(close < open and close < emaSlow, low, 0) // EMA 100 pastidagi qizil shamning tagi

// TP va SL darajalarini hisoblash
longSL = lastRedCandleLow
longTP = close + 3 * (close - longSL) // TP SL ga nisbatan 1:2 masofada

// Savdoni ochish va 2% foyda bo'lganda SLni break-even ga o‘zgartirish
if (bullishCross)
    strategy.entry("Buy", strategy.long)  // Buy pozitsiyasini ochish
    strategy.exit("Exit Buy", "Buy", stop=longSL, limit=longTP)  // SL va TP qo'yish

    // 2% foyda bo'lganda SLni break-even ga o'zgartirish
    if (strategy.position_size > 0)
        profitPercentage = (close - strategy.position_avg_price) / strategy.position_avg_price * 100
        if (profitPercentage >= 2)
            strategy.exit("Exit Buy BE", "Buy", stop=strategy.position_avg_price) // SLni break-even ga o'zgartirish

// Signalni ko'rsatish
plotshape(bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// // TP va SL chizish
// if (bullishCross)
//     line.new(x1=bar_index, y1=longSL, x2=bar_index+1, y2=longSL, color=color.red, width=1, extend=extend.none)
//     line.new(x1=bar_index, y1=longTP, x2=bar_index+1, y2=longTP, color=color.green, width=1, extend=extend.none)
//     label.new(bar_index, longSL, text="SL: " + str.tostring(longSL), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
//     label.new(bar_index, longTP, text="TP: " + str.tostring(longTP), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)

// EMA chizish
plot(emaFast, color=color.blue, title="Fast EMA (25)")
plot(emaSlow, color=color.orange, title="Slow EMA (100)")

// Alert qo'shish
alertcondition(bullishCross, title="Buy Signal Alert", message="EMA 25 crossed above EMA 100! Buy Signal!")