O recurso está a ser carregado... Carregamento...

Estratégia de negociação de tendência de média móvel de vários prazos

Autora:ChaoZhang, Data: 23 de setembro de 2023 16:10:08
Tags:

Resumo

Esta estratégia utiliza médias móveis em diferentes prazos para implementar a tendência após a negociação. Ela calcula médias móveis rápidas e lentas nos prazos diários, de 4 horas e 15 minutos. Quando as médias móveis rápidas cruzam acima das lentas em todos os três prazos, ela vai longa. Quando as médias móveis rápidas cruzam abaixo das lentas, ela vai curta. A estratégia faz pleno uso das informações de preço em todos os prazos para filtrar efetivamente falhas.

Estratégia lógica

A estratégia calcula médias móveis rápidas e lentas com base em três intervalos de tempo diferentes. Ele leva os intervalos de tempo diários, de 4 horas e 15 minutos, e calcula uma EMA rápida de 21 períodos e uma EMA lenta de 34 períodos em cada período de tempo. Quando a EMA rápida cruza acima da EMA lenta nos intervalos de tempo diários, de 4 horas e 15 minutos, ela determina uma tendência de alta e vai longa. Quando a EMA rápida cruza abaixo da EMA lenta em todos os três intervalos de tempo, ela determina uma tendência de queda e vai curta.

A estratégia também define intervalos de tempo de negociação para evitar condições desfavoráveis de mercado.

Em especial, os pontos-chave da estratégia incluem:

  1. Introdução de diferentes prazos: diário, 4 horas, 15 minutos

  2. Calcular as EMAs rápidas e lentas em cada período de tempo

  3. Caso a EMA rápida cruze acima da EMA lenta em todos os intervalos de tempo, vá para longo, se estiver abaixo

  4. Set de mês de negociação e intervalo de datas

  5. Posições longas/cortas abertas com base em condições, fechadas quando as condições não são cumpridas

Julgar a tendência em diferentes prazos pode efetivamente filtrar falhas.

Vantagens

As principais vantagens desta estratégia são:

  1. A identificação de tendências em quadros de tempo cruzados filtra efetivamente falsas rupturas.

  2. O dimensionamento de posições em vários prazos reduz o risco de um único período de tempo.

  3. O intervalo de tempo de negociação evita ficar preso em mercados desfavoráveis.

  4. A combinação de EMA rápida e lenta capta a tendência sem problemas.

  5. Regras simples e claras, fácil ajuste dos parâmetros, facilitam a implementação da estratégia, sem necessidade de indicadores complexos.

  6. É amplamente aplicável a todas as classes de activos com uma elevada flexibilidade.

Riscos

Alguns riscos a considerar para esta estratégia:

  1. Performa-se melhor em mercados de tendências longas, os mercados variados aumentam o risco de fenda.

  2. Os parâmetros conservadores podem perder tendências mais fortes, podem encurtar os períodos de EMA ou reduzir o número de prazos de negociação.

  3. A EMA tem um desempenho fraco em mercados agitados.

  4. Tempo diário lento para determinar a tendência, incapaz de sair de posições em tempo hábil.

  5. O intervalo de tempo fixo de negociação não se adapta à evolução dos mercados.

Melhorias

Algumas formas de reforçar esta estratégia:

  1. Otimizar os períodos de EMA para uma tendência mais suave. Pode testar períodos de EMA mais curtos / lentos ou adicionar EMA mais rápido.

  2. Adicionar um indicador de impulso para a força da tendência, como MACD, RSI para sinal adicional.

  3. Otimizar o dimensionamento das posições com base nas condições do mercado. Adaptar o tamanho das posições da estratégia com base na volatilidade do mercado.

  4. Incorporar indicadores de volatilidade para melhorar a entrada e saída.

  5. Teste mais combinações de prazos para encontrar o equilíbrio ideal. Pode adicionar prazos maiores ou remover certos.

  6. Utilize o aprendizado de máquina para otimização automatizada de parâmetros.

  7. Adicionar confirmação de tendência para evitar problemas, como exigir que as velas consecutivas se fechem acima da EMA.

  8. Realizar backtesting robusto para avaliar a estabilidade dos parâmetros, corrigir parâmetros sobreajustados e melhorar a confiabilidade.

Conclusão

Esta estratégia utiliza o conceito de filtragem de tendências de intervalo de tempo com EMA rápido/lento para criar um sistema estável e eficiente de seguimento de tendências. Tem as vantagens de identificação precisa de tendências e gestão de riscos. No entanto, o controle de riscos em mercados voláteis e a melhoria contínua dos parâmetros são necessários para alcançar retornos consistentes.


/*backtest
start: 2023-09-15 00:00:00
end: 2023-09-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Cryptocurrency Trading Tools by XMAXPRO
//ATA
//Test 1.0v Date  : 10.11.2018
//

strategy("MTF+MA", overlay=false, shorttitle="MTF-MA", overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=100000)
src = input(title= "Source", defval=close)
fast = input(title="Input For Fast MA",  defval=21)
slow = input(title="Input For Slow MA",defval=34)
//MTF source
long = input(title="LONGTERM",  defval="D")
mid = input(title="MIDTERM",  defval="180")
short = input(title="SHORTTERM",  defval="15")
//MTF Grafikleri
ln = security(syminfo.ticker, long, src)
md = security(syminfo.ticker, mid, src)
sh = security(syminfo.ticker, short, src)
//0
lnma = ema(ln,fast) - ema(ln,slow)
mdma = ema(sh,fast) - ema(md,slow)
shma = ema(sh,fast) - ema(sh,slow)

plot(lnma,color=green,linewidth=3)
plot(mdma,color=blue,linewidth=3)
plot(shma,color=red,linewidth=3)
plot(0,color=white,linewidth=3)

longCond = lnma>0 and mdma>0  and shma>0
shortCond= lnma<0  and mdma<0  and shma <0 



monthfrom =input(8)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
yearfrom=input(2018)
yearuntil=input(2020)

if (  longCond  ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond   ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND",  comment="SHORT")
else
    strategy.cancel(id="SHORT")


Mais.