Estrategia de doble ATR de pérdida trasera

El autor:¿ Qué pasa?, Fecha: 2024-01-31 17:10:32
Las etiquetas:

双ATR尾随止损策略

Resumen

La estrategia de doble ATR es una estrategia de negociación de corto plazo basada en el indicador de amplitud real media (ATR). Esta estrategia establece dos líneas de stop loss simultáneamente, una línea ATR rápida y otra lenta, para determinar entradas y salidas en función de la intersección de las dos líneas de stop loss. La estrategia es simple y fácil de entender, responde rápidamente y es adecuada para mercados con alta volatilidad.

Principios estratégicos

La estrategia utiliza principalmente los indicadores de ATR para establecer dos líneas de stop loss. Una es la línea de ATR rápida, con ciclos de ATR cortos, multiplicados por pequeños y reactivos rápidamente; la otra es la línea de ATR lenta, con ciclos de ATR largos y multiplicados por grandes, que actúa como filtro. Cuando la línea de ATR rápida atraviesa la línea de ATR lenta, se genera una señal de compra; cuando la línea de ATR rápida atraviesa la línea de ATR lenta, se produce una señal de venta.

La lógica de operación específica es: calcular la línea ATR rápida y la línea ATR lenta; el precio de la línea rápida es mayor que el de la línea lenta y se detiene con la cola de la línea rápida, de lo contrario se detiene con la cola de la línea lenta. Los colores de Kline indican la línea de stop loss actualmente en uso, el verde y el azul indican el stop loss de la línea rápida, el rojo y el amarillo indican el stop loss de la línea lenta. Cuando el precio del mercado toca la línea de stop loss, se sale.

Análisis de ventajas

Las estrategias de doble ATR con pérdida de cola tienen las siguientes ventajas:

  1. La lógica de operación es simple, clara y fácil de entender.
  2. Responde rápidamente a los cambios del mercado y es adecuado para mercados altamente volátiles.
  3. El riesgo de control de pérdidas de doble ATR, el control de pérdidas eficaz.
  4. El indicador ATR es paramétrico y se puede ajustar la magnitud del stop loss.
  5. Los colores de Kline visualizados muestran claramente el estado de detención.

Análisis de riesgos

La estrategia también tiene algunos riesgos:

  1. Los casos de transacciones excesivas son muy comunes.
  2. El indicador ATR es de mala adecuación a la curva y puede presentar pérdidas amplificadas.
  3. No se puede filtrar eficazmente las dos etapas del mercado: el plato transversal y la tendencia.

Estos riesgos pueden reducirse mediante la optimización del ciclo ATR, el ajuste de los multiplicadores ATR, en combinación con otros métodos de filtrado de indicadores.

Dirección de optimización

Las direcciones para optimizar aún más la estrategia de doble ATR de pérdida de cola incluyen:

  1. Optimización de los parámetros de ATR, ajuste de la amplitud de la pérdida.
  2. Aumentar los indicadores de filtro para evitar transacciones ineficaces. Por ejemplo, aumentar la tendencia de los indicadores de medianía.
  3. Aumentar las condiciones de apertura para evitar errores de negociación. Por ejemplo, aumentar el indicador de energía del volumen de negociación.
  4. Aumentar el tiempo de mantenimiento de las salidas y evitar operaciones demasiado frecuentes.

Resumen

Las estrategias de doble ATR de cola de stop loss son fáciles de entender en general, especialmente para escenarios de alta volatilidad, y pueden controlar el riesgo de manera efectiva. También hay un gran espacio de optimización, que se puede mejorar mediante la modificación de parámetros, la incorporación de filtros y otros métodos. Es una estrategia de corta línea recomendable.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © ceyhun

//@version=4
strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true)

/////////notes////////////////////////////////////////
// This is based on the ATR trailing stop indicator //
// width addition of two levels of stops and        //
// different interpretation.                        //
// This is a fast-reacting system and is better     //
// suited for higher volatility markets             //
//////////////////////////////////////////////////////

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

// Fast Trail //
AP1 = input(5, "Fast ATR period", input.integer)  // ATR Period
AF1 = input(0.5, "Fast ATR multiplier", input.float)  // ATR Factor
SL1 = AF1 * atr(AP1)  // Stop Loss
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) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1)))

// Slow Trail //
AP2 = input(10, "Slow ATR perod", input.integer)  // ATR Period
AF2 = input(2, "Slow ATR multiplier", input.float)  // ATR Factor
SL2 = AF2 * atr(AP2)  // Stop Loss
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) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2)))

// Bar color for trade signal //
Green = Trail1 > Trail2 and close > Trail2 and low > Trail2
Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2
Red = Trail2 > Trail1 and close < Trail2 and high < Trail2
Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2

// Signals //
Bull = barssince(Green) < barssince(Red)
Bear = barssince(Red) < barssince(Green)

Buy = crossover(Trail1, Trail2)
Sell = crossunder(Trail1, Trail2)

TS1 = plot(Trail1, "Fast Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2)
TS2 = plot(Trail2, "Slow Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.green : color.red, linewidth=2)
fill(TS1, TS2, Bull ? color.green : color.red, transp=90)

plotcolor = input(true, "Paint color on chart", input.bool)

bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na)
barcolor(bcl)

if Buy
    strategy.entry("Buy", strategy.long, comment="Buy")
    
if Sell
    strategy.entry("Sell", strategy.short, comment="Sell")



Más contenido