Estratégia de acompanhamento de tendências com base em ATR e stop loss de retração de Fibonacci


Data de criação: 2024-02-28 17:09:12 última modificação: 2024-02-28 17:09:12
cópia: 0 Cliques: 993
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base em ATR e stop loss de retração de Fibonacci

Visão geral

Esta estratégia combina o ATR com a linha de retração de Fibonacci para criar uma estratégia de acompanhamento de tendência com proteção de stop loss. Quando o preço quebra a linha de retração de ATR, o acompanhamento de tendência é executado; ao mesmo tempo, a linha de retração de Fibonacci é usada para definir um objetivo de preço, permitindo o acompanhamento de tendência e o acompanhamento de stop loss.

Princípio da estratégia

  1. Calcule o valor do ATR e o limite de retração do ATR. O limite de retração do ATR é o valor do ATR multiplicado por um fator (como 3,5).
  2. Calcule três linhas de retração de Fibonacci como um alvo de parada. A posição da linha de retração de Fibonacci é a proporção de Fibonacci entre a linha de retração de ATR e o novo alto / novo baixo (por exemplo, 61,8%, 78,6% e 88,6%).
  3. Quando o preço ultrapassa a linha de retorno de ATR, gera um sinal de compra/venda para acompanhar a tendência.
  4. O objetivo é a retirada das três linhas de Fibonacci.

Vantagens estratégicas

  1. A paralisação do ATR pode ser uma forma eficaz de controlar o risco e evitar a expansão dos prejuízos.
  2. O objetivo de Fibonacci é ganhar mais dinheiro em uma tendência, evitando, ao mesmo tempo, atingir altos e baixos.
  3. A lógica de operação da estratégia é clara, simples e fácil de aplicar.
  4. O fator ATR e a configuração Fibonacci podem ser ajustados de forma flexível para diferentes mercados.

Risco estratégico

  1. Em situações de choque, a parada ATR pode ser acionada com frequência, o que traz o risco de operações frequentes.
  2. Há um certo risco de falhar a reconfiguração ou o ajuste.
  3. Optimização de parâmetros razoáveis, como parâmetros de ciclo ATR, etc.

Direção de otimização

  1. Os indicadores podem ser combinados com os indicadores de tendência para evitar operações em situações de turbulência.
  2. Pode ser adicionado um mecanismo de readmissão para reduzir o risco de falta de chamada.
  3. Teste e otimização do ciclo ATR, do múltiplo ATR e do parâmetro de Fibonacci.

Resumir

Esta estratégia integra dois importantes métodos de análise técnica, o stop ATR e o Fibonacci, que podem ser usados tanto para otimizar o lucro na tendência quanto para controlar o risco com o stop loss. É uma estratégia de acompanhamento de tendências muito prática.

Código-fonte da estratégia
/*backtest
start: 2023-02-21 00:00:00
end: 2024-02-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ATR TrailStop with Fib Targets", overlay=true)

// Input parameters
atrPeriod = input(5, title="ATR Period")
ATRFactor = input(3.5, title="ATR Factor")
Fib1Level = input(61.8, title="Fib1 Level")
Fib2Level = input(78.6, title="Fib2 Level")
Fib3Level = input(88.6, title="Fib3 Level")

// ATR Calculation
atrValue = ta.atr(atrPeriod)

// ATR TrailStop Calculation
loss = ATRFactor * atrValue
trendUp = close[1] > close[2] ? (close - loss > close[1] ? close - loss : close[1]) : close - loss
trendDown = close[1] < close[2] ? (close + loss < close[1] ? close + loss : close[1]) : close + loss
trend = close > close[2] ? 1 : close < close[2] ? -1 : 0
trailStop = trend == 1 ? trendUp : trendDown

// Fibonacci Levels Calculation
ex = trend > trend[1] ? high : trend < trend[1] ? low : na
fib1 = ex + (trailStop - ex) * Fib1Level / 100
fib2 = ex + (trailStop - ex) * Fib2Level / 100
fib3 = ex + (trailStop - ex) * Fib3Level / 100

// Plotting
plot(trailStop, title="TrailStop", color=color.red)
plot(fib1, title="Fib1", color=color.white)
plot(fib2, title="Fib2", color=color.white)
plot(fib3, title="Fib3", color=color.white)

// Buy and Sell Signals
longCondition = close > trailStop and close[1] <= trailStop
shortCondition = close < trailStop and close[1] >= trailStop

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)