Com base na estratégia de acompanhamento de tendências dinâmicas


Data de criação: 2024-02-22 17:54:26 última modificação: 2024-02-22 17:54:26
cópia: 1 Cliques: 604
1
focar em
1617
Seguidores

Com base na estratégia de acompanhamento de tendências dinâmicas

Visão geral

A estratégia foi desenvolvida com base em ideias de Andrew Abraham no artigo de Andrew Abraham sobre o rastreamento de tendências de criptomoedas, publicado em setembro de 1998 na revista criptomoedas, analista de tecnologia de criptomoedas, e foi projetada para rastrear dinamicamente as tendências dos preços das ações e gerar sinais de negociação com base nisso.

Princípio da estratégia

A estratégia primeiro calcula a média real de oscilação dos últimos 21 dias como um limiar de referência, em seguida, calcula os preços mais altos e mais baixos nos últimos 21 dias, e, de acordo com isso, define um limite superior de canal para os preços mais altos nos últimos 21 dias menos o tamanho médio real de oscilação de três vezes, e um limite inferior para os preços mais baixos nos últimos 21 dias mais o tamanho médio real de oscilação de três vezes. Quando o preço de recebimento é superior ao limite superior do canal, para um sinal de pressão; quando o preço de recebimento é inferior ao limite inferior do canal, para um sinal de absorção.

Análise de vantagens

A maior vantagem da estratégia é que pode acompanhar dinamicamente a tendência dos preços, gerando assim um sinal de negociação. Em comparação com a estratégia de média móvel com parâmetros fixos, pode capturar melhor a tendência de mudança de preços. Além disso, a criação de canais em combinação com a escala de flutuação real evita a deficiência de limitar o canal apenas com base no preço máximo e mínimo.

Análise de Riscos

A estratégia apresenta dois principais riscos: o risco de overtrading causado pelo aumento do número de sinais de negociação; e o risco de configuração inadequada dos parâmetros. Como a estratégia usa parâmetros dinâmicos, os sinais de negociação são mais frequentes do que as estratégias tradicionais de média móvel, o que pode levar a um certo grau de risco de overtrading. Além disso, se os parâmetros forem mal configurados, como um período de tempo muito curto ou um número de restrições de canal muito pequeno, o aumento de falsos sinais também aumenta o risco.

Para controlar o risco, pode-se ajustar adequadamente os parâmetros, escolher um período de tempo mais longo e relaxar adequadamente as restrições do limite superior e inferior do canal. Além disso, pode-se considerar a inclusão de uma estratégia de parada de perda para controlar os perdas individuais.

Direção de otimização

O espaço de otimização da estratégia é grande. Por exemplo, pode-se considerar a combinação de outros indicadores de filtragem, como RSI, KD, etc. para evitar falsas rupturas. Também pode-se tentar otimizar automaticamente os parâmetros por meio de métodos de aprendizado de máquina. Além disso, em diferentes ações e ambientes de mercado, o valor máximo dos parâmetros também pode variar.

Resumir

Esta estratégia é uma estratégia de acompanhamento de tendências muito prática. Em comparação com a estratégia de média móvel tradicional, é mais flexível e inteligente, capaz de capturar dinamicamente as tendências de mudanças de preço. Se os parâmetros forem ajustados adequadamente, o seu sinal de negociação é de alta qualidade e pode obter bons retornos.

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/10/2018
// This is plots the indicator developed by Andrew Abraham 
// in the Trading the Trend article of TASC September 1998  
// It was modified, result values wass averages.
////////////////////////////////////////////////////////////
strategy(title="Trend Trader AVR Backtest", overlay = true)
Length = input(21, minval=1),
LengthMA = input(21, minval=1),
Multiplier = input(3, minval=1)
reverse = input(false, title="Trade reverse")
avgTR      = wma(atr(1), Length)
highestC   = highest(Length)
lowestC    = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = 0.0
ret :=  iff(close > hiLimit and close > loLimit, hiLimit,
         iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
nResMA = ema(ret, LengthMA)        
pos = 0
pos := iff(close < nResMA, -1,
       iff(close > nResMA, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nResMA, color= blue , title="Trend Trader AVR")