Estratégia SuperTrend baseada no ATR

Autora:ChaoZhang, Data: 2024-01-18 12:26:33
Tags:

img

Resumo

Esta estratégia constrói um canal SuperTrend baseado no indicador Average True Range (ATR) para gerar sinais de compra e venda quando o preço atravessa o canal.

Estratégia lógica

As bandas superior e inferior do canal SuperTrend são calculadas como:

Faixa superior = (Preço mais alto + Preço mais baixo) / 2 + ATR ((n) * Fator Faixa inferior = (Preço mais alto + Preço mais baixo) / 2 - ATR (n) * Fator

Onde ATR(n) é a faixa média verdadeira de n períodos e o fator é um parâmetro ajustável, por defeito para 3.

Um sinal de alta é gerado quando o preço de fechamento cruza acima da faixa superior. Um sinal de baixa é gerado quando o preço de fechamento cruza abaixo da faixa inferior. A estratégia determina entradas e saídas com base nesses sinais.

Análise das vantagens

  • Utiliza o ATR para determinar a gama de canais com base na volatilidade do mercado, acompanhando efetivamente as tendências
  • Procurar rupturas de canal para determinar o tempo de entrada, evitando falhas
  • Intervalo de canais ajustável através de parâmetros de fatores, adaptável a mercados com diferentes volatilidades
  • Integra as vantagens do seguimento da tendência e da gestão de stop loss

Análise de riscos

  • A definição inadequada do parâmetro de fator pode conduzir a uma tomada de lucro insuficiente ou a um stop loss excessivo
  • Os sinais de negociação frequentes podem ocorrer durante a consolidação do mercado, potencialmente com excesso de negociação
  • Necessidade de otimizar a correspondência entre o período ATR e o parâmetro do fator

Métodos de resolução de riscos:

  • Ajustar o parâmetro do fator com base em diferentes mercados para reduzir perdas de parada excessivas
  • Adicionar filtragem de condições para evitar negociações frequentes durante a consolidação
  • Para efeitos do cálculo da volatilidade, a instituição deve indicar o período de retenção, etc., para correspondência com o período ATR.

Orientações de otimização

  • Incorporar outros indicadores para filtrar sinais e otimizar entradas
  • Adicione rastreamento de stop loss móvel para bloquear mais lucros
  • Optimização de parâmetros para diferentes produtos e prazos
  • Otimizar a correspondência entre o período ATR e os parâmetros do fator

Resumo

Esta estratégia usa o canal SuperTrend para rastreamento de tendências e gerenciamento de stop loss. A correspondência entre o período ATR e os parâmetros do fator é crucial. O próximo passo é otimizar ainda mais a estratégia por meio de ajuste de parâmetros, filtragem de sinal etc., tornando-a adaptável a ambientes de mercado mais complexos.


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



Mais.