Estratégia de stop loss de trailing ATR duplo


Data de criação: 2024-01-31 17:10:32 última modificação: 2024-01-31 17:10:32
cópia: 3 Cliques: 921
1
focar em
1617
Seguidores

Estratégia de stop loss de trailing ATR duplo

Visão geral

A estratégia de parada de dupla ATR é uma estratégia de negociação de linha curta baseada no indicador de amplitude real média (ATR). Esta estratégia configura duas linhas de parada de ATR rápida e lenta ao mesmo tempo, julgando entradas e saídas com base no cruzamento das duas linhas de parada. A estratégia é simples e fácil de entender, responde rapidamente e é adequada para mercados de alta volatilidade.

Princípio da estratégia

A estratégia usa principalmente o indicador ATR para definir duas linhas de stop loss. Uma é a linha ATR rápida, com um ciclo ATR curto, multiplicado por pequenos números, de resposta rápida; a outra é a linha ATR lenta, com um ciclo ATR longo, multiplicado por grandes números, que atua como filtro.

A lógica de operação específica é: Calcule a linha ATR rápida e a linha ATR lenta; Se o preço da linha rápida for superior à linha lenta, use a linha rápida para travar o stop loss, caso contrário, use a linha lenta para travar o stop loss. A cor Kline representa a linha de stop loss atualmente usada, verde e azul representam o stop loss com a linha rápida, vermelho e amarelo representam o stop loss com a linha lenta.

Análise de vantagens

A estratégia de stop-loss duplo ATR tem as seguintes vantagens:

  1. A lógica de operação é simples, clara e fácil de entender.
  2. Responder rapidamente às mudanças do mercado, adaptado a mercados com alta volatilidade.
  3. Duas ATRs para controlar o risco de perda e a perda efetiva.
  4. ATR paramétrico, pode ajustar a amplitude de parada.
  5. As cores Kline visuais indicam claramente o estado de parada.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. É uma situação propensa a transações excessivamente frequentes.
  2. O indicador ATR é mal ajustado à curva, podendo ocorrer perda de amplificação.
  3. Não é possível filtrar de forma eficaz a trajetória horizontal e a tendência em duas fases do mercado.

Estes riscos podem ser reduzidos através de métodos como a otimização do ciclo de ATR, ajuste do ATR multiplicado e filtragem de outros indicadores.

Direção de otimização

A estratégia de parada de perda de dupla ATR pode ser ainda mais otimizada:

  1. Optimizar os parâmetros do ATR e ajustar a amplitude de stop loss.
  2. Aumentar os indicadores de filtragem para evitar transações inválidas. Por exemplo, aumentar os indicadores de mediana para determinar a tendência.
  3. Aumentar as condições de abertura de posições para evitar erros de negociação. Por exemplo, aumentar o índice de energia do volume de negociação.
  4. Aumentar o tempo de detenção e as saídas para evitar transações muito frequentes.

Resumir

A dupla estratégia de parada de perdas de seguimento do ATR é fácil de entender e implementar, especialmente para cenários de alta volatilidade, e pode efetivamente controlar o risco. O espaço de otimização também é grande e pode ser aumentado por meio de ajustes de parâmetros, adição de filtros e outros métodos. É uma estratégia de linha curta recomendada.

Código-fonte da estratégia
/*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")