Estratégia de média móvel de rompimento de momentum


Data de criação: 2023-09-19 16:33:13 última modificação: 2023-09-19 16:33:13
cópia: 2 Cliques: 384
1
focar em
1166
Seguidores

Visão geral

A estratégia é baseada em uma combinação de médias móveis e indicadores de dinâmica e pertence à estratégia de acompanhamento de tendências. Ela julga a direção da tendência do mercado através da computação de médias móveis em um determinado período.

Princípio da estratégia

A estratégia baseia-se em dois indicadores:

  1. Média móvel simples (SMA): calcula a média do preço de fechamento em um determinado período para determinar a direção da tendência geral.

  2. Dias de alta/baixa contínua: número de dias em que os preços estatísticos continuam em alta ou baixa, como sinal de confirmação de uma reversão de tendência.

Concretamente, a estratégia primeiro calcula o SMA de 520 dias de duração, representando a direção da tendência em geral. Se o preço sobe e quebra o SMA, começa a estudar o número de dias de alta; Se o preço desce e quebra o SMA, começa a estudar o número de dias de queda. Quando o número de dias de alta ou baixa atinge 27 dias, execute a negociação na direção correspondente.

Por exemplo, se o preço sobe e quebra o SMA e continua a subir por 27 dias, é feito um trade-in; se o preço desce e quebra o SMA e continua a descer por 27 dias, é feito um trade-out.

Análise de vantagens

Esta estratégia, combinada com as médias móveis e os indicadores de momentum, permite um acompanhamento eficaz da tendência e evita a interferência do ruído do mercado de curto prazo. As principais vantagens são:

  1. Usando SMAs de longo período para avaliar grandes tendências, pode-se efetivamente filtrar o ruído das flutuações de curto prazo.

  2. Aumentar os sinais de confirmação de dias de alta/baixa contínua, pode evitar ser enganado por brechas falsas de curto prazo e reduzir transações desnecessárias.

  3. O trading é feito apenas quando a tendência se inverte, para capturar a direção e a intensidade da tendência.

  4. As regras são claras e fáceis de executar, sem a necessidade de complexas otimizações de parâmetros, e são adequadas para investidores comuns.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Em um mercado de alta tendência de longo prazo, você pode perder a oportunidade de entrar mais cedo.

  2. Em situações de turbulência, a tendência para fraudes de brechas falsas e frequentes gera transações inúteis.

  3. A configuração inadequada dos parâmetros do SMA pode levar a uma estratégia de reação lenta a mudanças de tendência.

  4. A configuração do parâmetro de perfusão errada pode causar sinais de negociação muito frequentes ou escassos.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Aumentar o SMA de múltiplos períodos de tempo, realizar a verificação de múltiplos períodos, evitando as limitações de um único período.

  2. Adicionar outros indicadores de tendência, como o MACD, para um julgamento integrado e maior precisão.

  3. Optimizar os parâmetros de perfusão para encontrar o ponto de equilíbrio. Evite sinais de transação muito frequentes ou escassos.

  4. Aumentar as estratégias de stop loss para controlar as perdas individuais.

  5. Combinar indicadores de quantidade e evitar riscos de desvio de quantidade.

Resumir

A estratégia, como um todo, é uma estratégia de acompanhamento de tendências simples e práticas. Ela julga as grandes tendências com o SMA de longo prazo e confirma os sinais de reversão de tendência com perfusão, o que permite acompanhar a tendência de forma eficaz e evitar ser enganado pelo ruído. Com uma certa otimização, pode ser uma estratégia de tendência confiável.

Código-fonte da estratégia
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


strategy(title="Mbit Moving Average",overlay=true)

length = input(520)
confirmBars = input(27)
price = close
ma = ta.sma(price, length)

bcond = price > ma

bcount = bcond ? nz(bcount[1]) + 1 : 0

scond = price < ma

scount = scond ? nz(scount[1]) + 1 : 0

long =  scount == confirmBars

short = bcount == confirmBars


//Strategy

strategy.entry("long", strategy.long, when=long)

strategy.entry("short",strategy.short, when=short)