Estrategia de detención de tracción ATR (sólo larga)

El autor:¿ Qué pasa?, Fecha: 2023-11-02 14:05:22
Las etiquetas:

img

Resumen general

Esta estrategia utiliza dos paradas de ATR con parámetros diferentes para establecer niveles de stop loss dinámicos - una parada rápida y una parada lenta. Establece posiciones largas basadas en las rupturas de precios de los diferentes niveles de parada y sale de las posiciones utilizando las paradas posteriores.

Estrategia lógica

La estrategia utiliza el indicador ATR para calcular dos niveles de stop loss. La parada rápida utiliza el ATR de 5 períodos multiplicado por 0,5 como la distancia de parada. La parada lenta utiliza el ATR de 10 períodos multiplicado por 3 como la distancia de parada. Cuando el precio se rompe por encima del nivel de parada rápida, se establece una posición larga. Cuando el precio continúa rompiendo por encima del nivel de parada lenta, la parada se ajusta al nivel de parada lenta. Si el precio baja, el nivel de parada se ajusta en función de las relaciones de cruce.

La lógica es:

  1. Calcular la parada rápida Trail1: ATR de 5 períodos * 0,5

  2. Calcular la parada lenta de la pista2: ATR de 10 períodos * 3

  3. Cuando el precio se rompe por encima de Trail1, establecer una posición larga

  4. Cuando el precio continúa rompiendo por encima de Trail2, ajuste la parada a Trail2

  5. Si el precio baja al romper Trail1, ajusta la parada de regreso a Trail1

  6. Si el precio continúa bajando al romper Trail2, ajusta la parada a Trail2

  7. Finalmente, si el precio alcanza el nivel de stop, salga de la posición con stop loss

De esta manera, la estrategia puede maximizar la ganancia durante las tendencias alcistas con las paradas posteriores mientras se detienen rápidamente las pérdidas cuando la tendencia se invierte.

Ventajas

  1. Los niveles de suspensión de pérdidas dinámicas de ATR se establecen en función de la volatilidad del mercado

  2. El mecanismo de doble parada equilibra entre las pérdidas de detención y las tendencias de seguimiento

  3. Dirección larga se alinea con la tendencia al alza general, mayor rentabilidad

  4. Lógica sencilla y clara, fácil de entender e implementar

  5. Las reglas estrictas de stop loss limitan las pérdidas de manera efectiva

Los riesgos

  1. Los parámetros ATR incorrectos pueden causar que las paradas sean demasiado anchas o demasiado apretadas.

  2. La dirección larga tiene sesgo direccional, propensa a detenerse en los picos del mercado

  3. Las reglas de doble parada son complejas, pueden fallar si no se establecen correctamente

  4. No hay filtros como los cruces de EMA, pueden causar malas operaciones.

  5. No hay gestión de posiciones ni de riesgos, riesgos de sobreventa

Estos riesgos pueden reducirse optimizando los parámetros de ATR, añadiendo filtros y aplicando la gestión de riesgos.

Áreas de mejora

  1. Optimizar las combinaciones de parámetros ATR para obtener los mejores resultados

  2. Añadir filtros como EMA para calificar las señales de entrada

  3. Incorporar indicadores como el RSI de Stoch para obtener ventaja adicional

  4. Añadir la lógica de reingreso para optimizar la gestión de la posición

  5. Optimizar las reglas de gestión de riesgos para limitar las pérdidas de parada por operación

  6. Incorporar análisis a nivel de mercado para evitar errores de dirección

  7. Considere estrategias de tiempo más rápido como por hora

  8. Extensión a la estrategia universal de múltiples mercados

  9. Implementar un motor de negociación de alto rendimiento

Con estas mejoras, la estrategia puede ser más sólida, estable y rentable.

Resumen de las actividades

La estrategia utiliza paradas ATR claras para entradas y salidas largas. Las ventajas se encuentran en sus estrictas reglas de stop loss para limitar las pérdidas mientras se siguen las tendencias. Tiene riesgos de sesgo direccional que se pueden reducir a través de optimizaciones como mejores parámetros, agregar filtros y mejorar la gestión de riesgos.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ATR Trailing Stop Strategy (Long Position Only)", overlay=true)

SC = input(close, "Source", input.source)

// Fast Trail
AP1 = input(5, "Fast ATR period", input.integer)
AF1 = input(0.5, "Fast ATR multiplier", input.float)
SL1 = AF1 * atr(AP1)
Trail1 = 0.0
Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0), SC + SL1, na))

// Slow Trail
AP2 = input(10, "Slow ATR period", input.integer)
AF2 = input(3, "Slow ATR multiplier", input.float)
SL2 = AF2 * atr(AP2)
Trail2 = 0.0
Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0), SC + SL2, na))

Green = Trail1 > Trail2 and close > Trail2 and low > Trail2

Buy = crossover(Trail1, Trail2)

plotshape(Buy, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)

strategy.entry("Buy", strategy.long, when = Buy)

var float trailingStopPrice = na
if (Trail2 > trailingStopPrice)
    trailingStopPrice := Trail2

if (crossover(Trail1, Trail2))
    trailingStopPrice := Trail2

strategy.exit("Exit", from_entry = "Buy", stop=trailingStopPrice)


Más.