Estratégia de supertendência baseada em Average True Range


Data de criação: 2024-01-18 12:26:33 última modificação: 2024-01-18 12:26:33
cópia: 1 Cliques: 369
1
focar em
1215
Seguidores

Estratégia de supertendência baseada em Average True Range

Visão geral

Esta estratégia baseia-se no indicador de amplitude real média (Average True Range, ATR) para construir o canal SuperTrend, gerando sinais de compra e venda com base no preço de ruptura do canal SuperTrend. A estratégia combina os benefícios do acompanhamento de tendências e do gerenciamento de stop loss para acompanhar efetivamente a direção da tendência.

Princípio da estratégia

O trajeto ascendente e descendente do canal de super-tendência é calculado pela seguinte fórmula:

A trajetória ascendente = (preço máximo + preço mínimo) / 2 + ATR (n) * fator Subtração = (preço máximo + preço mínimo) / 2 - ATR (n) * fator

Dentre eles, ATR ((n) representa a amplitude real média de n dias, cujo fator é um parâmetro ajustável, assumindo 3 ◦.

Quando o preço de fechamento está acima do algarismo, é um sinal de otimismo, quando o preço de fechamento está abaixo do algarismo, é um sinal de baixa. A estratégia determina a entrada e a saída do mercado com base nos sinais de otimismo e baixa.

Análise de vantagens

  • Utilizando o indicador ATR para determinar o alcance do canal de acordo com a amplitude do mercado, pode-se efetivamente acompanhar a tendência
  • Combinando a brecha de corredor com o tempo de entrada no mercado, evite a brecha falsa
  • A gama de canais pode ser ajustada de acordo com os parâmetros do fator para adaptar-se a diferentes mercados de volatilidade
  • Os benefícios da integração de rastreamento de tendências e gestão de stop loss

Análise de Riscos

  • A configuração inadequada dos parâmetros dos fatores pode levar a ganhos insuficientes ou a perda excessiva
  • Os sinais de transação emitidos pelo canal de super-trend são frequentes em momentos de turbulência no mercado, podendo gerar sobre-negociação
  • Necessidade de otimizar a correspondência dos parâmetros do ciclo ATR com os parâmetros do fator

A solução para o risco:

  • Parâmetros de ajustamento de fatores para diferentes mercados, reduzindo o risco de perda excessiva
  • Aumento de filtros condicionais para evitar transações frequentes em mercados de turbulência
  • Considerando fatores como a volatilidade do mercado, o tempo de posse e outros para combinar com o ciclo ATR

Direção de otimização

  • Combinado com outros indicadores, filtra os sinais para otimizar o tempo de entrada
  • Aumentar o rastreamento de stop loss móvel para bloquear mais lucros
  • Optimização de variedades e parâmetros de ciclo
  • Optimizar a correspondência do ciclo ATR com o parâmetro do fator

Resumir

Esta estratégia usa o canal de hipertrend para realizar o acompanhamento de tendências e o gerenciamento de perdas. A correspondência dos parâmetros do ciclo ATR e do fator é fundamental para a eficácia da estratégia. O próximo passo será otimizar ainda mais a estratégia em termos de otimização de parâmetros, filtragem de sinais e outros aspectos, para que ela possa se adaptar a um ambiente de mercado mais complexo.

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

//@version=5
strategy("Supertrend Backtest", shorttitle="STBT", overlay=true)

// Input for ATR Length
atrLength = input.int(10, title="ATR Length", minval=1)
atrFactor = input.float(3.0, title="Factor", minval=0.01, step=0.01)

// Calculate SuperTrend
[supertrend, direction] = ta.supertrend(atrFactor, atrLength)
supertrend := barstate.isfirst ? na : supertrend

// Define entry and exit conditions
longCondition = ta.crossover(close, supertrend)
shortCondition = ta.crossunder(close, supertrend)

// Plot the SuperTrend
plot(supertrend, color=color.new(color.blue, 0), title="SuperTrend")

// Plot Buy and Sell signals
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Strategy Entry and Exit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)