Estratégia de acompanhamento de tendências dinâmicas de negociação

Autora:ChaoZhang, Data: 2024-02-22 17:54:26
Tags:

img

Resumo

Esta estratégia é um projeto melhorado baseado nas idéias apresentadas por Andrew Abraham no artigo Trading the Trend publicado na revista Technical Analysis of Stocks & Commodities em setembro de 1998, que é usado para rastrear dinamicamente as tendências dos preços das ações e gerar sinais de negociação em conformidade.

Estratégia lógica

A estratégia primeiro calcula a faixa média verdadeira nos ú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 define os limites superiores e inferiores do canal de acordo. O limite superior do canal é definido como o preço mais alto de 21 dias menos 3 vezes a faixa verdadeira média, e o limite inferior é definido como o preço mais baixo de 21 dias mais 3 vezes a faixa verdadeira média. Quando o preço de fechamento é superior ao limite superior do canal, é um sinal de pressão de venda; quando o preço de fechamento é inferior ao limite inferior do canal, é um sinal de compra. Para filtrar os falsos sinais, uma média exponencial de 21 períodos também é calculada, e um sinal de negociação real só é gerado quando o preço de fechamento atravessa os limites do canal na mesma direção que a média móvel original. Além disso, a estratégia também fornece um parâmetro de entrada inversa, que pode reverter as operações longas e curtas e inverter os parâmetros de entrada.

Análise das vantagens

A maior vantagem desta estratégia é que ela pode rastrear dinamicamente as tendências de preços e gerar sinais de negociação de acordo. Em comparação com as estratégias de média móvel com parâmetros fixos, ela pode capturar melhor as tendências de mudança de preço. Além disso, o estabelecimento do canal incorpora o intervalo verdadeiro, evitando as deficiências de definir limites de canal baseados apenas nos preços mais altos e mais baixos. A faixa de flutuação dos limites superior e inferior do canal também é muito razoável, evitando falhas de ruptura em certa medida. A personalização do parâmetro inverso também aumenta a flexibilidade da estratégia.

Análise de riscos

Há dois riscos principais com esta estratégia: um é o risco de excesso de negociação causado pelo aumento dos sinais de negociação; o segundo é o risco que pode surgir de configurações incorretas de parâmetros. Como esta estratégia usa parâmetros dinâmicos, os sinais de negociação serã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 excesso de negociação. Além disso, se os parâmetros forem definidos incorretamente, como se o período de tempo for definido muito curto ou os valores limite do canal forem muito pequenos, os sinais falsos também aumentarão, aumentando assim o risco.

Para controlar os riscos, os parâmetros podem ser ajustados adequadamente selecionando períodos de tempo mais longos e relaxando moderadamente as restrições dos limites superior e inferior do canal.

Orientações de otimização

A estratégia de otimização de parâmetros pode ser feita por meio de métodos de aprendizagem automática, como o RSI e o KD. Além disso, os valores ideais dos parâmetros podem diferir entre diferentes ações e ambientes de mercado. Portanto, também podemos considerar a formulação de um conjunto de mecanismos de otimização de parâmetros para selecionar dinamicamente os parâmetros ideais com base nas características de ações e mercado para melhorar a estabilidade da estratégia.

Resumo

Em geral, esta é uma estratégia de rastreamento de tendências muito prática. Em comparação com as estratégias tradicionais de média móvel, é mais flexível e inteligente, e pode capturar dinamicamente as tendências de mudança de preço. Com ajuste adequado dos parâmetros, a qualidade de seus sinais de negociação é relativamente alta e pode gerar bons retornos. Espera-se que o desempenho desta estratégia possa ser melhorado através de otimizações subsequentes. Vale a pena verificar na negociação ao vivo e na aplicação.


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

Mais.