Estratégia de cruzamento do MACD

Autora:ChaoZhang, Data: 2024-04-18 17:56:23
Tags:EMAMA

img

Resumo

Esta estratégia usa o cruzamento de duas médias móveis exponenciais (EMA) com períodos diferentes para gerar sinais de negociação. Quando a EMA rápida cruza acima da EMA lenta, gera um sinal de compra, e quando a EMA rápida cruza abaixo da EMA lenta, gera um sinal de venda. Esta estratégia pode ser aplicada a vários instrumentos financeiros e prazos, como o ouro sendo mais eficaz no período de 2 horas e o Bitcoin sendo mais eficaz no gráfico diário, etc.

Princípio da estratégia

  1. Calcular a EMA rápida (período de incumprimento é 12) e a EMA lenta (período de incumprimento é 26).
  2. Definir a zona de alta (EMA rápida acima da EMA lenta e preço acima da EMA rápida) e a zona de baixa (EMA rápida abaixo da EMA lenta e preço abaixo da EMA rápida).
  3. Comprar quando a transição da zona de baixa para a zona de alta, e vender quando a transição da zona de alta para a zona de baixa.
  4. Marque as zonas de alta e baixa no gráfico com cores verdes e vermelhas, e use setas para marcar os sinais de compra e venda.

Vantagens da estratégia

  1. Simples e fáceis de entender, adequados para aprendizagem de iniciantes.
  2. Amplamente aplicável, pode ser utilizado para vários instrumentos financeiros e prazos.
  3. Forte capacidade de seguir tendências, capaz de captar tendências de médio a longo prazo.
  4. Parâmetros ajustáveis, aumentando a flexibilidade.

Riscos estratégicos

  1. Tendência a gerar falsos sinais em mercados agitados, levando a perdas.
  2. Lento a reagir a inversões de tendência, resultando em certo deslizamento.
  3. A selecção inadequada dos parâmetros afectará o desempenho da estratégia.

Orientações para a otimização da estratégia

  1. Adicionar filtros de tendência, como apenas negociar quando o ADX está acima de um determinado valor, para reduzir as perdas em mercados agitados.
  2. Otimizar o calendário de entrada e saída, como usar o ATR para determinar o stop-loss e o take-profit, reduzindo as perdas de negociação única.
  3. Otimizar os parâmetros para encontrar a melhor combinação, melhorando a estabilidade e a rentabilidade.
  4. Combinar com outros indicadores para julgamento auxiliar, tais como MACD, RSI, etc., para melhorar a precisão do sinal.

Resumo

A estratégia de cruzamento do MACD é uma estratégia simples baseada no seguimento de tendências. Suas vantagens são simplicidade, praticidade e ampla aplicabilidade, enquanto suas desvantagens são dificuldade em entender inversões de tendências e seleção de parâmetros. Através da filtragem de tendências, otimização de pontos de entrada e saída, otimização de parâmetros e combinação de outros indicadores, o desempenho desta estratégia pode ser melhorado, o que vale a pena mais pesquisa e teste.


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

//@version=5
strategy('Advance EMA Crossover Strategy', overlay=true, precision=6)
//****************************************************************************//
// CDC Action Zone is based on a simple EMA crossover 
// between [default] EMA12 and EMA26
// The zones are defined by the relative position of 
// price in relation to the two EMA lines
// Different zones can be use to activate / deactivate 
// other trading strategies
// The strategy can also be used on its own with 
// acceptable results, buy on the first green candle
// and sell on the first red candle
//****************************************************************************//
// Define User Input Variables

xsrc = input(title='Source Data', defval=close)
xprd1 = input(title='Fast EMA period', defval=12)
xprd2 = input(title='Slow EMA period', defval=26)
xsmooth = input(title='Smoothing period (1 = no smoothing)', defval=1)
fillSW = input(title='Paint Bar Colors', defval=true)
fastSW = input(title='Show fast moving average line', defval=true)
slowSW = input(title='Show slow moving average line', defval=true)
plotSigsw = input(title='Plot Buy/Sell Signals?', defval=true)

//****************************************************************************//
//Calculate Indicators

xPrice = ta.ema(xsrc, xsmooth)

FastMA = ta.ema(xPrice, xprd1)
SlowMA = ta.ema(xPrice, xprd2)

//****************************************************************************//
// Define Color Zones and Conditions

BullZone = FastMA > SlowMA and xPrice > FastMA  // Bullish Zone
BearZone = FastMA < SlowMA and xPrice < FastMA  // Bearish Zone

//****************************************************************************//
// Strategy Entry and Exit Conditions

if (BullZone and not BullZone[1])
    strategy.entry("Buy", strategy.long)  // Buy on the transition into BullZone

if (BearZone and not BearZone[1])
    strategy.close("Buy")  // Sell on the transition into BearZone

//****************************************************************************//
// Display color on chart

plotcolor = BullZone ? color.green : BearZone ? color.red : color.gray
barcolor(color=fillSW ? plotcolor : na)

//****************************************************************************//
// Plot Fast and Slow Moving Averages

plot(fastSW ? FastMA : na, color=color.red, title="Fast EMA", linewidth=2)
plot(slowSW ? SlowMA : na, color=color.blue, title="Slow EMA", linewidth=2)

//****************************************************************************//
// Plot Buy and Sell Signals

plotshape(series=plotSigsw and BullZone and not BullZone[1], location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=plotSigsw and BearZone and not BearZone[1], location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

//****************************************************************************//


Relacionados

Mais.