Estratégias de rastreamento de tendências baseadas em ATR e Fibonacci Retracement Stop Loss

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

基于ATR和斐波那契回撤止损的趋势跟踪策略

Resumo

Esta estratégia combina o intervalo de flutuação real médio (ATR) com o retorno de Fibonacci para criar uma estratégia de rastreamento de tendências com proteção contra prejuízos. Quando o preço quebra o retorno de ATR, o rastreamento de tendências é feito; ao mesmo tempo, o retorno de Fibonacci é usado para definir objetivos de preços, realizando uma combinação orgânica do rastreamento de tendências e do retorno de prejuízos.

Princípios estratégicos

  1. Calcule o valor do ATR e a linha de stop-loss do retorno do ATR. A linha de stop-loss do retorno do ATR é obtida quando o valor do ATR é multiplicado por um fator (por exemplo, 3.5).
  2. Calcule três linhas de retração de Fibonacci como alvos de paralisação. A localização da linha de retração de Fibonacci é a proporção de Fibonacci entre a linha de retração de paralisação de ATR e o novo alto / novo baixo (por exemplo, 61.8%, 78.6%, 88.6%).
  3. Quando o preço atravessa a linha de stop-loss ATR, produz um sinal de compra/venda, seguindo a tendência.
  4. O objetivo do bloqueio é a retirada de três linhas de Fibonacci.

Vantagens estratégicas

  1. O ATR pode controlar os riscos de forma eficaz, evitando que os prejuízos se espalhem.
  2. O objetivo do Fibonacci é obter mais lucro na tendência, evitando a corrida para cima e para baixo.
  3. A estratégia operacional é lógica clara, simples e fácil de implementar.
  4. O fator de proporção ATR e a configuração de Fibonacci podem ser ajustados com flexibilidade para diferentes mercados.

Risco estratégico

  1. Em mercados turbulentos, o prejuízo do ATR pode ser desencadeado com frequência, levando a um risco de operação frequente.
  2. O risco é de não ser retomado ou ajustado.
  3. Otimizar parâmetros razoáveis, como parâmetros do ciclo ATR, etc.;

Optimização

  1. A partir daí, a empresa começou a trabalhar com os seus clientes para obter informações sobre o mercado e, em seguida, começou a trabalhar com os seus clientes.
  2. O mecanismo de reentrada pode ser adicionado para reduzir o risco de falta de chamada.
  3. Testes e otimização de ciclos ATR, múltiplos ATR, parâmetros de Fibonacci.

Resumo

Esta estratégia, que integra dois importantes métodos de análise técnica, o ATR stop loss e o objetivo de Fibonacci, que permite otimizar os lucros em uma tendência e controlar o risco com o stop loss, é uma estratégia de acompanhamento de tendências muito útil.


/*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 informações