Estratégia de Crossover de Média Móvel de Reversão de Momentum


Data de criação: 2023-12-21 11:21:49 última modificação: 2023-12-21 11:21:49
cópia: 1 Cliques: 584
1
focar em
1623
Seguidores

Estratégia de Crossover de Média Móvel de Reversão de Momentum

Visão geral

Esta estratégia é uma estratégia de negociação de inversão de dinâmica baseada no MACD. Ela gera o MACD calculando a diferença entre a média móvel rápida e a média móvel lenta. Quando o MACD é positivo, gera um sinal de venda; Quando o MACD é negativo, gera um sinal de compra.

Princípio da estratégia

O indicador central desta estratégia é o MACD, que é composto por uma média móvel rápida, uma média móvel lenta e uma linha de sinalização. Primeiro, calcula-se a EMA rápida e a EMA lenta, com o parâmetro EMA rápido definido como 12 dias e o parâmetro EMA lento definido como 26 dias, e depois calcula-se o diferencial entre os dois como o indicador MACD. O indicador MACD reflete a tendência de mudança do preço das ações através do conceito de dinâmica.

Para filtrar o ruído, a estratégia introduz um indicador de linha de sinal, para um tratamento adicional de suavização do MACD. O parâmetro da linha de sinal é definido como o EMA de 9 dias. Finalmente, o diferencial entre o MACD e a linha de sinal é calculado como um sinal de negociação.

Análise de vantagens

As principais vantagens desta estratégia são:

  1. O indicador MACD é usado para determinar os pontos de reversão do preço das ações, capturando oportunidades de reversão de curto prazo.

  2. Combinado com o processamento suave da linha de sinal, filtra parte do sinal de troca de ruído, reduzindo o falso sinal.

  3. Os parâmetros da estratégia são definidos livremente, o comerciante pode ajustar os parâmetros de acordo com a situação real, respondendo de forma flexível às mudanças do mercado.

  4. A lógica de cálculo é simples, clara e fácil de entender, apropriada para iniciantes em pesquisa.

  5. A combinação de indicadores e sinais é variada, com amplo espaço para otimização de estratégias e uma forte escalabilidade.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. A frequência de negociação e os custos de negociação podem ser aumentados devido ao rastreamento de reversões de curto prazo nos preços das ações.

  2. Os indicadores MACD são propensos a produzir falsos sinais durante a ascensão ou queda unilateral do preço das ações por um longo período.

  3. Se os parâmetros não forem corretos, o sinal gerará atraso e poderá perder o melhor ponto de entrada.

  4. A estratégia é simples, e os efeitos de negociação são reduzidos em condições de mercado complexas.

Os riscos acima mencionados podem ser melhorados através do seguinte:

  1. Parâmetros de otimização para reduzir a frequência de negociação. Por exemplo, aumentar o parâmetro de ciclo da linha de sinal.

  2. Aumentar as condições de filtragem para evitar o encurralamento nas tendências de longo prazo. Por exemplo, combinando outros indicadores de rastreamento para determinar as tendências de longo prazo.

  3. Use a lista de preços para encontrar o melhor preço.

  4. Adicionar mais fatores para julgar o estado do mercado e evitar transações em mercados anormais.

Direção de otimização

Esta estratégia pode ser melhorada nos seguintes aspectos:

  1. Optimizar os parâmetros MACD e os parâmetros da linha de sinal para encontrar a melhor combinação de parâmetros.

  2. Adicionar outros indicadores auxiliares para avaliar tendências de curto e longo prazo, evitando negociações adversas. Por exemplo, adicionar indicadores de médias móveis, indicadores de Bollinger Bands, etc.

  3. Combinação de indicadores de volume de transação, como o indicador de maré de energia, para evitar brechas falsas.

  4. Para uma estratégia mais adaptável, os parâmetros são agrupados de acordo com as características de cada ação.

  5. Aumentar a definição de preços de stop loss e de stop-loss e controlar os níveis de perdas e lucros individuais.

  6. Avaliar a qualidade das ações, por exemplo, indicadores financeiros, mudanças de classificação, etc.

Essas iniciativas de otimização podem aumentar a estabilidade, a taxa de vitória e o nível de lucro da estratégia. Além disso, também estabelecem a base para o desenvolvimento e a melhoria contínua da estratégia.

Resumir

Esta estratégia é uma típica estratégia de negociação de reversão de curto prazo. Ela usa um indicador simples e claro do MACD para refletir as mudanças no volume de ações, auxiliado por uma linha de sinal para determinar pontos de entrada específicos.

É claro que qualquer indicador único e estratégia simples não se adaptam perfeitamente a uma variedade de situações de mercado complexas. Os investidores devem estar atentos aos riscos, escolher estratégias de acordo com suas próprias situações e preferências de risco, além de estar constantemente atentos ao comportamento do mercado, otimizar os parâmetros da estratégia e as regras de negociação.

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

//@version=4
//study(title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")
strategy (title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")


// Getting inputs
dyear = input(title="Year", type=input.integer, defval=2017, minval=1950, maxval=2500)
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
buyh = input(title="Buy histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
sellh = input(title="Sell histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

strategy.entry("buy", strategy.long, comment="buy", when = hist[1] <= hist and buyh<=hist and year>=dyear)
strategy.entry("sell", strategy.short, comment="sell", when = hist[1] >= hist and sellh>=hist and year>=dyear)