Estratégia de Crossover MACD

EMA MA
Data de criação: 2024-04-18 17:56:23 última modificação: 2024-04-18 17:56:23
cópia: 0 Cliques: 716
1
focar em
1617
Seguidores

Estratégia de Crossover MACD

Visão geral

A estratégia usa duas médias móveis indexadas de dois períodos diferentes (EMA) para cruzar, gerando um sinal de compra quando o EMA rápido atravessa o EMA lento de cima para baixo e um sinal de venda quando o EMA rápido atravessa o EMA lento de cima para baixo. A estratégia pode ser aplicada a vários instrumentos financeiros e períodos de tempo, como o ouro é mais eficaz no ciclo de 2 horas, o Bitcoin é mais eficaz no diagrama de linha do sol, etc.

Princípio da estratégia

  1. Calcule o EMA rápido (o ciclo padrão é 12) e o EMA lento (o ciclo padrão é 26).
  2. Defina uma zona de múltiplos cabeçalhos ((uma EMA rápida acima de uma EMA lenta e um preço acima de uma EMA rápida) e uma zona de cabeçalhos vazios ((uma EMA rápida abaixo de uma EMA lenta e um preço abaixo de uma EMA rápida)).
  3. Comprar quando se converte de uma área de cabeçalho em uma área de cabeçalho e vender quando se converte de uma área de cabeçalho em uma área de cabeçalho.
  4. As áreas com mais cabeças e as áreas com cabeças vazias são marcadas em verde e vermelho no gráfico e os sinais de compra e venda são marcados com setas.

Vantagens estratégicas

  1. É simples e fácil de entender, para quem está começando.
  2. É muito versátil e pode ser usado em vários instrumentos financeiros e períodos de tempo.
  3. A plataforma tem uma forte capacidade de rastreamento de tendências, que permite capturar tendências de médio e longo prazo.
  4. Os parâmetros são ajustáveis, aumentando a flexibilidade.

Risco estratégico

  1. No entanto, a maioria das pessoas não sabe como lidar com a situação.
  2. A reação é lenta quando a tendência se inverte, o que pode causar alguns pontos de deslizamento.
  3. A escolha errada de parâmetros pode afetar a eficácia da política.

Direção de otimização da estratégia

  1. Adicionar filtros de tendência, como negociar apenas quando o ADX é maior do que um determinado valor, reduzindo os prejuízos em mercados de turbulência.
  2. Otimização do tempo de partida, como o uso do ATR para determinar o stop loss, reduzindo a perda individual.
  3. Otimizar os parâmetros, encontrar a melhor combinação de parâmetros, aumentar a estabilidade e a lucratividade.
  4. Em combinação com outros indicadores auxiliares, como MACD, RSI, etc., a precisão do sinal é melhorada.

Resumir

A estratégia de cruzamento MACD é uma estratégia simples baseada no acompanhamento de tendências, com vantagens de ser simples, prática e de ampla aplicação, com desvantagens de ser difícil de capturar a reversão da tendência e a escolha de parâmetros. O desempenho da estratégia pode ser melhorado por filtragem de tendências, otimização de saídas, escolha de parâmetros e combinação de outros indicadores.

Código-fonte da estratégia
/*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")

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