Estrategia de seguimiento de tendencias basada en stop loss de EMA y ATR


Fecha de creación: 2023-12-11 16:00:09 Última modificación: 2023-12-11 16:00:09
Copiar: 0 Número de Visitas: 794
1
Seguir
1621
Seguidores

Estrategia de seguimiento de tendencias basada en stop loss de EMA y ATR

Descripción general

La estrategia utiliza el golden cross de la línea media de la EMA para generar señales de negociación, es decir, una señal de compra cuando la línea rápida de la EMA atraviesa la línea lenta de la EMA, y una señal de venta cuando la línea rápida de la EMA atraviesa la línea lenta de la EMA, es una estrategia típica de seguimiento de tendencias. Al mismo tiempo, la estrategia utiliza el indicador ATR para establecer un punto de parada dinámico y controlar el riesgo al mismo tiempo que garantiza la ganancia.

Principio de estrategia

  1. La definición de la EMA rápida es de 13 y la EMA lenta es de 48.
  2. Cuando la línea EMA rápida atraviesa la línea EMA lenta, se genera una señal de compra; cuando la línea EMA rápida atraviesa la línea EMA lenta, se genera una señal de venta.
  3. La función de ta.crossover y ta.crossunder para determinar la línea de la horca de la horca de la línea de la línea de la horca de la línea de la línea de la horca de la línea de la línea de la horca de la línea de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la horca de la línea de la horca.
  4. El indicador ATR se utiliza para calcular el punto de parada dinámico, el punto de parada está cerca de 1.5 veces ATR.
  5. Las señales de negociación y los puntos de parada se muestran visualmente a través de cambios de color, marcas de compra y venta y líneas de parada.

Análisis de las ventajas estratégicas

  1. El Foro Dorado, basado en la línea media de la EMA, genera señales para evitar perderse las principales tendencias del mercado, con ganancias considerables.
  2. ATR Dynamic Tracking Stop Loss, que asegura un buen rendimiento de la tendencia y controla el riesgo de retiro, y el riesgo-beneficio en general es más equilibrado.
  3. Indicador de señales y deterioro intuitivo, sencillo de usar y adecuado para la mayoría de las personas.
  4. Los parámetros ajustables son menos y son más fáciles de dominar y optimizar.

Análisis de riesgos estratégicos

  1. La caída brusca de los precios puede provocar la suspensión de los precios.
  2. En caso de temblores, puede producirse una señal de invalidez frecuente.
  3. La configuración incorrecta de los parámetros puede causar un ingreso demasiado intenso o una parada demasiado relajada.
  4. Optimizar adecuadamente los parámetros EMA y ATR.

La solución:

  1. La flexibilización de los ATR puede ser apropiada para asegurar que el stop loss tenga un cierto amortiguamiento frente a los máximos recientes.
  2. Se pueden considerar mecanismos de confirmación después de la generación de la señal, como el punto más alto antes de la ruptura del precio.
  3. Se recomienda que la optimización de los parámetros tenga en cuenta todas las situaciones del mercado.

Dirección de optimización de la estrategia

  1. Se pueden probar diferentes combinaciones de parámetros para encontrar el mejor.
  2. Se puede considerar la adición de otros indicadores para filtrar la señal, como el indicador de tráfico, el indicador de fluctuación, etc., para mejorar la calidad de la señal.
  3. Se pueden ajustar los parámetros de EMA en función de las tendencias de gran escala para capturar mejor las tendencias principales.
  4. Se puede considerar la posibilidad de ajustar dinámicamente el multiplicador de pérdidas de ATR para ampliar el alcance de las pérdidas en caso de tendencia.
  5. Se puede combinar con algoritmos de aprendizaje automático para adaptarse a los parámetros de optimización.

Resumir

La estrategia en general es más simple y fácil de usar, genera señales basadas en la línea media de EMA, y, por lo tanto, puede controlar el riesgo de manera efectiva. Aunque habrá algunas señales falsas, la capacidad de capturar las principales tendencias es más fuerte, los ingresos son más estables y se adaptan como una de las estrategias básicas para el comercio cuantitativo.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © byee322

/// This strategy uses the EMA to generate buy and sell signals with a 1.5x ATR stop loss
//@version=5
strategy("EMA Strategy with ATR Stop Loss", overlay=true)

// Define the EMA lengths as input parameters
emaLength1 = input(13, "EMA Length 1")
emaLength2 = input(48, "EMA Length 2")

// Define the moving averages
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)

// Buy signal: EMA 1 crosses above EMA 2
buy = ta.crossover(ema1, ema2)

// Sell signal: EMA 1 crosses below EMA 2
sell = ta.crossunder(ema1, ema2)

// Define the state variable
state = 0
state := buy ? 1 : sell ? -1 : nz(state[1])

// Change the color of the candles
color = state == 1 ? color.green : state == -1 ? color.red : na

// Plot the colored candles
plotcandle(open, high, low, close, color=color)

// Plot the signals on the chart with text labels
plotshape(buy, style=shape.triangleup, color=color.new(color.green, 50), location=location.belowbar, text="Buy")
plotshape(sell, style=shape.triangledown, color=color.new(color.red, 50), location=location.abovebar, text="Sell")

// Calculate the ATR
atrVal = ta.atr(14)

// Calculate the stop loss level for buy
stopLossBuy = buy ? close[1] - 1.5 * atrVal : na

// Calculate the stop loss level for sell
stopLossSell = sell ? close[1] + 1.5 * atrVal : na

// Plot the stop loss level for buy
plot(stopLossBuy,  color=color.new(color.green, 50), linewidth=3)

// Plot the stop loss level for sell
plot(stopLossSell, color=color.new(color.red, 50), linewidth=3)

if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)