Estrategia de seguimiento de tendencias basada en ATR y stop loss de retroceso de Fibonacci


Fecha de creación: 2024-02-28 17:09:12 Última modificación: 2024-02-28 17:09:12
Copiar: 0 Número de Visitas: 993
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en ATR y stop loss de retroceso de Fibonacci

Descripción general

Esta estrategia combina el rango de fluctuación real promedio (ATR) y la línea de retracción de Fibonacci para diseñar una estrategia de seguimiento de tendencias con protección de stop loss. Se realiza un seguimiento de tendencias cuando el precio rompe la línea de retracción de stop loss ATR; al mismo tiempo, se utiliza la línea de retracción de Fibonacci para establecer objetivos de precios y lograr una combinación orgánica de seguimiento de tendencias y stop loss.

Principio de estrategia

  1. Calcula el valor de ATR y el límite de retirada de ATR. El límite de retirada de ATR se obtiene multiplicando el valor de ATR por un factor (por ejemplo, 3.5).
  2. Calcular tres líneas de retracción de Fibonacci como objetivo de la parada. La posición de la línea de retracción de Fibonacci es la proporción de Fibonacci entre la línea de retracción de ATR y el nuevo máximo / nuevo mínimo (por ejemplo, 61.8%, 78.6% y 88.6%).
  3. Cuando el precio supera la línea de retiro de pérdidas ATR, se genera una señal de compra/venta y se realiza un seguimiento de tendencia.
  4. El objetivo de la parada es la línea de retiro de los tres Fibonacci.

Ventajas estratégicas

  1. La suspensión de ATR puede controlar el riesgo y evitar que las pérdidas se extiendan.
  2. El objetivo de Fibonacci es ganar más en la tendencia y evitar las caídas y subidas.
  3. La lógica de la estrategia es clara, simple y fácil de implementar.
  4. El factor ATR y la configuración de Fibonacci se pueden ajustar con flexibilidad para adaptarse a diferentes mercados.

Riesgo estratégico

  1. En situaciones de conmoción, el parón ATR puede activarse con frecuencia, lo que conlleva el riesgo de operaciones frecuentes.
  2. Existe cierto riesgo de que se pierda el ajuste o la corrección.
  3. Optimización de parámetros razonables, como el parámetro de ciclo ATR, etc.

Dirección de optimización

  1. Se puede combinar con indicadores de tendencias para evitar operaciones en situaciones de crisis.
  2. Se puede agregar un mecanismo de reingreso para reducir el riesgo de perder la llamada de retorno.
  3. Prueba y optimización de los ciclos ATR, los multiplicadores ATR y los parámetros de Fibonacci.

Resumir

Esta estrategia integra dos importantes métodos de análisis técnico, el stop ATR y el objetivo de Fibonacci, para optimizar los beneficios en la tendencia y controlar el riesgo con el stop loss. Es una estrategia de seguimiento de tendencias muy práctica.

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

//@version=5
strategy("ATR TrailStop with Fib Targets", overlay=true)

// Input parameters
atrPeriod = input(5, title="ATR Period")
ATRFactor = input(3.5, title="ATR Factor")
Fib1Level = input(61.8, title="Fib1 Level")
Fib2Level = input(78.6, title="Fib2 Level")
Fib3Level = input(88.6, title="Fib3 Level")

// ATR Calculation
atrValue = ta.atr(atrPeriod)

// ATR TrailStop Calculation
loss = ATRFactor * atrValue
trendUp = close[1] > close[2] ? (close - loss > close[1] ? close - loss : close[1]) : close - loss
trendDown = close[1] < close[2] ? (close + loss < close[1] ? close + loss : close[1]) : close + loss
trend = close > close[2] ? 1 : close < close[2] ? -1 : 0
trailStop = trend == 1 ? trendUp : trendDown

// Fibonacci Levels Calculation
ex = trend > trend[1] ? high : trend < trend[1] ? low : na
fib1 = ex + (trailStop - ex) * Fib1Level / 100
fib2 = ex + (trailStop - ex) * Fib2Level / 100
fib3 = ex + (trailStop - ex) * Fib3Level / 100

// Plotting
plot(trailStop, title="TrailStop", color=color.red)
plot(fib1, title="Fib1", color=color.white)
plot(fib2, title="Fib2", color=color.white)
plot(fib3, title="Fib3", color=color.white)

// Buy and Sell Signals
longCondition = close > trailStop and close[1] <= trailStop
shortCondition = close < trailStop and close[1] >= trailStop

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)