Estratégia de tendência longa baseada em ATR, EOM e VORTEX

Autora:ChaoZhang, Data: 2024-02-18 16:01:07
Tags:

img

Resumo

Esta estratégia é uma estratégia de tendência de longo prazo para os mercados de ações e criptomoedas.

Estratégia lógica

  • ATR mede a volatilidade do mercado. Aqui nós calculamos o ATR de 10 períodos e suavizá-lo com uma EMA de 5 períodos. Se o ATR atual está acima da EMA do ATR, isso indica alta volatilidade e um mercado de alta. Caso contrário, é um mercado de baixa.

  • O EOM pertence aos indicadores de volume-preço. Aqui nós calculamos o EOM de 10 períodos. Se o EOM for positivo, ele sugere um aumento dos volumes de negociação e um mercado de alta. Caso contrário, é um mercado de baixa.

  • O VORTEX representa um indicador de vórtice para julgar as direções de tendência de longo prazo. Nós calculamos a soma das flutuações de preços absolutos nos últimos 10 períodos para obter VMP e VMM. Em seguida, use a soma de ATR como denominador para normalizar e obter VIP e VIM. Faça a média deles, se maior que 1 sugere mercados de touros e menor que 1 sugere mercados de ursos.

Em resumo, esta estratégia combina o ATR/EMAATR para a volatilidade a curto prazo, o EOM para as características de volume-preço e o VORTEX para a tendência a longo prazo para determinar a direção final de longo prazo.

Análise das vantagens

  • Esta estratégia sintetiza três tipos principais de indicadores, incluindo volatilidade, volume-preço e tendência, para identificar as direcções da tendência com julgamentos abrangentes e sinais fortes.

  • Tanto o ATR como o VORTEX possuem recursos de suavização para filtrar ruídos de mercados de alcance e evitar falsos sinais longos.

  • Apenas o longo sem curto pode maximizar a evitação de riscos de retrações de curto prazo.

  • Como uma estratégia de tendência, concentra-se na captura de oportunidades direcionais de médio a longo prazo e nos benefícios da tendência principal.

Análise de riscos

  • Dados insuficientes de backtest com desempenho de negociação real a verificar e parâmetros a otimizar e testar.

  • Incapacidade de procurar oportunidades de lucro a partir de reversões ou mercados limitados, limitando o potencial de lucro.

  • A estratégia de tendência pura não pode controlar eficazmente os riscos de posição com certos riscos de bloqueio de capital.

  • Caso não seja possível fazer curto para cobertura com espaço de perdas maior.

Orientações de otimização

  • Estabilidade de ensaio de diferentes períodos para ATR e VORTEX.

  • Tentar introduzir métodos de stop loss, por exemplo, stop loss móvel, stop loss temporal para controlar a perda única.

  • Estabelecer o dimensionamento das posições com base nos valores ATR para reduzir o risco em ambientes de elevada volatilidade.

  • Incorporar fatores de reversão da média para confirmar a data de entrada e evitar o bloqueio desnecessário do capital.

Conclusão

Esta estratégia de tendência de longo prazo baseia-se em confirmações de ATR, EOM e VORTEX em três categorias, e só vai longo sem curto para se beneficiar da tendência principal.


/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4
strategy("atr+eom+vortex strat", overlay=true )

//atr and ema
atr_lenght=input(10)
atrvalue = atr(atr_lenght)


//plot(atrvalue)
ema_atr_length=input(5)
ema_atr = ema(atrvalue,ema_atr_length)

//plot(ema_atr,color=color.white)

//EOM and ema
lengthEOM = input(10, minval=1)
div = 10//input(10000, title="Divisor", minval=1)
eom = sma(div * change(hl2) * (high - low) / volume, lengthEOM)
// + - 0 long/short

//VORTEX
period_ = input(10, title="Length", minval=2)
VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
VIP = VMP / STR
VIM = VMM / STR
avg_vortex=(VIP+VIM)/2
//plot(avg_vortex)

long= atrvalue > ema_atr and eom > 0 and avg_vortex>1 
short=atrvalue < ema_atr and eom < 0 and avg_vortex<1 

strategy.entry("long",1,when=long)
//strategy.entry("short",0,when=short)

strategy.close("long",when=short)

Mais.