Estrategia de seguimiento de tendencias ATR


Fecha de creación: 2023-09-21 15:13:47 Última modificación: 2023-09-21 15:13:47
Copiar: 0 Número de Visitas: 770
1
Seguir
1617
Seguidores

Descripción general

La estrategia utiliza la amplitud real media (ATR) para capturar la tendencia de los precios y establece un stop loss con ATR para lograr el seguimiento de la tendencia.

Principio de estrategia

  1. Calcula el valor del ATR.

  2. Determina el límite de pérdidas según el valor de ATR.

  3. Cuando el precio rompa la línea de stop loss, haga más caídas.

  4. Bloqueo de ganancias mediante el ajuste dinámico del Stop Loss.

Ventajas estratégicas

  • El ATR se ajusta automáticamente a la parada sin necesidad de intervención humana
  • Las estrategias son simples, intuitivas y fáciles de implementar
  • Evita el embolso y detén el daño a tiempo
  • Utiliza las tendencias para generar beneficios
  • La frecuencia de las transacciones se puede controlar mediante la modificación de los parámetros ATR

Riesgo estratégico

  • Los parámetros de ATR mal configurados pueden causar que sea demasiado Loose o Tight
  • No es posible identificar el final de la tendencia
  • Existe un cierto retraso de tiempo
  • Posible ganancias por pérdidas por inversión

Dirección de optimización

  • Optimización de los parámetros del ciclo ATR
  • Prueba de diferentes ATR como distancia de parada
  • Combinado con otros indicadores para identificar una reversión de tendencia
  • Intento de optimización de parámetros de aprendizaje automático
  • Considerar estrategias adicionales para detener el cáncer

Resumir

La estrategia utiliza ATR para capturar tendencias de manera efectiva y ajustar dinámicamente el stop loss para lograr el bloqueo de ganancias. La configuración de los parámetros de optimización puede mejorar el rendimiento de la estrategia.

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

strategy(title="ATR Strategy", overlay = true,  commission_type=strategy.commission.percent,commission_value=0.075)
//credits to HPotter for the orginal code
nATRPeriod = input(5)
nATRMultip = input(3.5)
xATR = ta.atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), math.max(nz(xATRTrailingStop[1]), close - nLoss),
                    iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), math.min(nz(xATRTrailingStop[1]), close + nLoss), 
                        iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos =	iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
	    iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
color = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 
plot(xATRTrailingStop, color=color, title="ATR Trailing Stop")

barbuy = close > xATRTrailingStop 
barsell = close < xATRTrailingStop 

strategy.entry("Long", strategy.long, when = barbuy) 
strategy.entry("Short", strategy.short, when = barsell) 

barcolor(barbuy? color.green:color.red)