Estrategia de seguimiento de tendencias ATR


Fecha de creación: 2023-09-28 11:32:09 Última modificación: 2023-09-28 11:32:09
Copiar: 0 Número de Visitas: 795
1
Seguir
1617
Seguidores

Descripción general

La estrategia se basa en el indicador de amplitud real promedio ATR para determinar la dirección de la tendencia, hacer más cuando la tendencia sube y hacer menos cuando la tendencia baja, y pertenece al tipo de estrategia de seguimiento de tendencias.

Principio de estrategia

La estrategia primero calcula el promedio móvil simple de los precios sma y el promedio móvil del índice ema. Luego calcula el indicador ATR, es decir, el rango de fluctuación promedio de los últimos N días.

La estrategia determina la dirección de la tendencia a través de la media de ema, la trayectoria ascendente ((ema + ATR * factor) y la trayectoria descendente ((ema - ATR * factor)). Haga más cuando el precio sube a la trayectoria ascendente; haga vacío cuando el precio baja a la trayectoria descendente.

La lógica principal del código:

  1. Calcular el promedio entre el precio de sma y el de ema
  2. Calcula el rango de fluctuación promedio de ATR
  3. Cálculo de las líneas ascendentes y descendentes
  4. El precio de las bebidas alcohólicas ha aumentado en los últimos meses.
  5. Los precios de los productos de la industria de las bebidas se han deteriorado en los últimos meses.
  6. Establecimiento de posición de parada de pérdidas: precio por debajo de la línea de trazado de la línea de trazado de la línea de trazado de la línea de trazado de la línea de trazado de la línea de trazado de la línea de trazado de la línea de trazado

El ATR permite el ajuste dinámico de posiciones para el seguimiento eficaz de las tendencias.

Ventajas estratégicas

  1. El indicador ATR es utilizado para determinar la dirección de la tendencia, lo que permite capturar la tendencia de los precios.
  2. Detención de pérdidas basada en la media, que permite un control razonable del riesgo
  3. La lógica de la estrategia es simple, clara y fácil de entender.
  4. Parámetros configurables con flexibilidad para diferentes entornos de mercado

Riesgo estratégico

  1. El índice ATR se desvanecerá en el caso de una gran conmoción en el mercado
  2. Los parámetros mal configurados pueden causar posiciones abiertas con demasiada frecuencia
  3. El stop loss puede no ser efectivo cuando un evento repentino provoca una reversión rápida.
  4. Setting necesita ajustes para seguir un mercado con altos costos de transacción

La solución:

  1. En un mercado con grandes sacudidas, es recomendable suspender la estrategia o usar otros indicadores
  2. Optimización de parámetros para reducir la frecuencia de apertura de la posición
  3. Mejorar el Stop Loss Ratio para eventos de datos importantes
  4. Adaptación del rango de valoración ATR según la variedad

Dirección de optimización de la estrategia

  1. Combinación de parámetros de optimización de indicadores de tendencia, como la inclusión de MACD para determinar tendencias
  2. Añadir filtros, como el de Brin, para determinar la entrada
  3. Optimización de la parada de pérdidas, como el movimiento de la parada de pérdidas o el indicador de salida
  4. Rango de valoración ATR optimizado para una variedad específica
  5. Aumentar las estrategias de gestión de fondos, como las cuotas fijas
  6. Parámetros de optimización dinámica combinados con métodos de aprendizaje automático

Resumir

La estrategia de seguimiento de tendencias de ATR tiene una idea general clara, determina la dirección de la tendencia a través de los indicadores de ATR y es una estrategia de seguimiento de tendencias típica. La estrategia tiene la ventaja de ser simple y fácil de operar y de poder seguir la tendencia de manera efectiva.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 1h
basePeriod: 15m
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/
// © Investoz

//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(26, type=input.integer, minval=1, title="Length")
mul = input(2.618, type=input.float, minval=0, title="Length")
mullow = input(2.386, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk()) and ema(close,1) > ema(close,528)
    strategy.entry("KOP", strategy.long, when=bull_cross) 
    strategy.close("KOP", when=bear_cross)  
if (startTimeOk()) and ema(close,1) < ema(close,528)
   strategy.entry("SALJ", strategy.short, when=bear_cross) 
   strategy.close("SALJ", when=bull_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)