Estratégia ATR de trailing stop com metas de retracementos de Fibonacci

Autora:ChaoZhang, Data: 2024-02-28 17:09:12
Tags:

img

Resumo

Esta estratégia combina a linha de retracementos de Fibonacci e a linha de trailing stop (ATR) para desenhar uma estratégia de seguimento da tendência com proteção de stop loss.

Estratégia lógica

  1. Calcular o valor do ATR e a linha de parada de atraso do ATR. A linha de parada de atraso do ATR é calculada multiplicando o valor do ATR por um fator (por exemplo, 3.5).
  2. Calcule três linhas de retracementos de Fibonacci como metas de lucro. As linhas de retracementos de Fibonacci são posicionadas entre a linha de parada da ATR e o novo ponto alto/baixo de acordo com os rácios de Fibonacci (por exemplo, 61,8%, 78,6%, 88,6%).
  3. Gerar sinais de compra/venda quando o preço atravessa a linha de parada de atraso ATR para seguir a tendência.
  4. Estabelecer metas de lucro nas três linhas de retração de Fibonacci.

Vantagens

  1. O ATR stop loss pode controlar eficazmente os riscos e evitar que as perdas se expandam.
  2. Os objetivos de Fibonacci permitem lucros decentes durante tendências, evitando perseguir altos e baixos.
  3. A lógica estratégica é simples e fácil de implementar.
  4. Flexibilidade para ajustar o fator ATR e as definições de Fibonacci para se adaptarem aos diferentes mercados.

Riscos

  1. O ATR freqüente desencadeia o stop loss em mercados variados, levando a negociações excessivas.
  2. Possibilidades de ausência de retrações e ajustes.
  3. Optimização de parâmetros necessária para o período ATR, etc.

Reforço

  1. Incorporar um filtro de tendência para evitar a negociação em mercados variados.
  2. Adicionar um mecanismo de reentrada para reduzir as retrações em falta.
  3. Teste e otimize o período ATR, o multiplicador ATR, os parâmetros de Fibonacci, etc.

Resumo

A estratégia integra dois importantes métodos de análise técnica ATR trailing stop e retracement de Fibonacci para seguir tendências, controle de risco e segmentação de lucros.


/*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)


Mais.