ATR Adjustable Trailing Stop Loss Strategy

Autora:ChaoZhang, Data: 2023-10-25 15:08:04
Tags:

img

Esta estratégia utiliza o indicador ATR para calcular uma linha de stop loss dinâmica para controlo do risco.

Resumo

A estratégia usa o indicador ATR para calcular uma linha de stop loss dinâmica. Quando os preços aumentam, a linha de stop loss vai subir com os preços para bloquear os lucros. Quando os preços caem, a linha de stop loss permanece inalterada para evitar ser parada. O indicador ATR pode medir a volatilidade e o risco do mercado. Multiplicando-o por um coeficiente gera a linha de stop loss, controlando assim a exposição ao risco por negócio.

Princípios

A estratégia utiliza o indicador ATR e a função Highest para calcular a linha de stop loss dinâmica.

TS=highest(high-Mult*atr(Atr),Hhv) 

Onde Atr é o parâmetro do período ATR, Hhv é o parâmetro do período de observação da função mais elevada e Mult é o coeficiente ATR.

A lógica é primeiro calcular o valor ATR, depois multiplicá-lo pelo coeficiente Mult para obter a faixa da zona tampão de stop loss.

Quando os preços sobem, o máximo máximo será constantemente atualizado, levando a linha de stop loss a subir e bloqueando os lucros.

Vantagens

  1. O valor da posição em risco deve ser calculado de acordo com o método de classificação da posição em risco.

A linha de stop loss se ajusta dinamicamente para acompanhar o ponto mais alto após o aumento do preço, permitindo a tomada de lucro em tempo hábil.

  1. Evitar stop loss desnecessários

Linhas de stop loss fixas podem ser facilmente desencadeadas por pullbacks normais ou paradas excessivamente apertadas.

  1. Intervalo de perda de parada ajustável

Ao ajustar o período ATR e os parâmetros do multiplicador, a sensibilidade do ajuste de perda de parada pode ser controlada para diferentes graus de paradas.

  1. Risco controlado

O ATR calcula dinamicamente o intervalo de stop loss, permitindo intervalos razoáveis de stop loss de acordo com a volatilidade do mercado para o controlo do risco por transação.

Riscos

  1. Previsão de prejuízo

Quando a volatilidade aumenta, o ATR aumenta rapidamente e impulsiona a linha de stop loss rapidamente, aumentando a chance de paradas desnecessárias.

  1. Difícil de se adaptar a mudanças bruscas

A estratégia tem dificuldade em se adaptar a reversões bruscas.

  1. Optimização difícil

Otimizar o período ATR, o período máximo e os parâmetros do multiplicador juntos pode ser desafiador.

Optimização

  1. Optimização do período ATR

Aumentar o período de ATR para reduzir o ajuste excessivamente frequente da linha de parada, mas ao custo de uma perda maior por parada.

  1. Otimizar o período máximo

Aumentar o período máximo para tornar a linha mais estável, mas equilibrar a velocidade de rastreamento.

  1. Ensaiar diferentes coeficientes ATR

Escolha os multiplicadores ATR adequados de acordo com as características do instrumento.

  1. Adicionar filtro de tendência

A adição de um filtro de tendência reduz a chance de paradas serem desencadeadas por inversões.

Resumo

A estratégia tem a vantagem de paradas dinâmicas e riscos controláveis. Ele se encaixa em mercados de tendência, mas cuidado com picos de volatilidade e otimização de parâmetros difíceis. Com configurações adequadas, otimização e técnicas adicionais, ele pode ser aplicado para negociação ao vivo.


/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 30m
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 Stoploss Strategy ",overlay=true)

Atr=input(defval=5,title="Atr Period",minval=1,maxval=500)
Hhv=input(defval=10,title="HHV Period",minval=1,maxval=500)
Mult=input(defval=2.5,title="Multiplier",minval=0.1)
Barcolor=input(true,title="Barcolor")

TS=highest(high-Mult*atr(Atr),Hhv),barssince(close>highest(high-Mult*atr(Atr),Hhv) and close>close)
Color=iff(close>TS,color.green,iff(close<TS,color.red,color.black))
barcolor(Barcolor? Color:na)

plot(TS,color=Color,linewidth=3,title="ATR Trailing Stoploss")

Buy  = crossover(close,TS)
Sell = crossunder(close,TS)

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

Mais.