Estratégia de Crossover de Média Móvel de Momentum EMA Nine Stock MACD


Data de criação: 2024-02-27 16:49:10 última modificação: 2024-02-27 16:49:10
cópia: 1 Cliques: 649
1
focar em
1617
Seguidores

Estratégia de Crossover de Média Móvel de Momentum EMA Nine Stock MACD

Visão geral

A estratégia utiliza um conjunto de EMAs, Bollinger Bands e MACDs para determinar a hora de comprar e vender, com base na realização de EMAs de 9 e 30, combinadas com a amplitude de distribuição de preços e o indicador de momentum.

Princípio da estratégia

  1. Calcular o EMA de 3 dias, o EMA de 9 dias e o EMA de 30 dias.

  2. Calcule a diferença padrão de preço em 20 dias e trace as faixas de Bollinger de 1x e 2x a diferença padrão.

  3. Calcule 12o, 26o MACD e 9o linha de sinal.

  4. Quando a EMA do dia 9 atravessa a EMA do dia 30 e o preço ultrapassa o limite superior da faixa de Bollinger de 1x a diferença padrão, um sinal de compra é emitido.

  5. Quando a EMA de 30 dias atravessa a EMA de 9 dias e o preço está abaixo do dobro da diferença padrão, o limite inferior da Bollinger Band é emitido.

Análise de vantagens

Esta estratégia, combinada com o indicador de linha média e o indicador de dinâmica, permite uma melhor compreensão das tendências e momentos do mercado, com as seguintes vantagens:

  1. O indicador EMA responde rapidamente às mudanças de preço e determina a tendência do mercado; o indicador MACD é sensível e previne falsas rupturas.

  2. O índice de diferença padrão de Bollinger Bands, combinado com a EMA, permite uma melhor avaliação do momento de compra e venda.

  3. Uma combinação de vários indicadores pode ser complementar. Em um único avanço, diferentes indicadores podem ser verificados.

Análise de risco e otimização

A estratégia também apresenta alguns riscos, e os seguintes pontos devem ser considerados para otimização:

  1. A combinação de EMAs medianas pode ser ajustada e otimizada, e diferentes períodos podem capturar melhor a tendência.

  2. Os parâmetros das faixas de Bollinger podem ser otimizados, e os padrões de variação do múltiplo são fracos para filtrar falsos sinais.

  3. Os parâmetros do indicador MACD podem ser otimizados e combinados, aumentando a eficácia do discernimento.

Resumir

A estratégia integra o EMA para avaliar a tendência, auxiliado pelo Bollinger Bands, que permite identificar pontos de compra e venda com precisão em momentos de maior intensidade. A MACD é uma confirmação de tendência complementar, que pode filtrar de forma eficaz os sinais falsos. A estratégia pode ser ainda mais eficaz com a otimização de parâmetros.

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

//@version=5
strategy("emabb_collab", shorttitle="emabb", overlay=true)

// Input parameters
ema3 = input(3, title="3 EMA")
ema9 = input(9, title="9 EMA")
ema30 = input(30, title="30 EMA")
macdShort = input(12, title="MACD Short")
macdLong = input(26, title="MACD Long")
macdSignal = input(9, title="MACD Signal")
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev1 = mult * ta.stdev(src, length)
upper1 = basis + dev1
lower1 = basis - dev1
dev2 = mult * 2 * ta.stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper1, "Upper1", color=#2962FF)
p2 = plot(lower1, "Lower1", color=#2962FF)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
plot(basis, "Basis", color=#FF6D00)
p3 = plot(upper2, "Upper2", color=#00FF8C)
p4 = plot(lower2, "Lower2", color=#00FF8C)
fill(p3, p4, title = "Background", color=color.rgb(0, 153, 140, 95))

// Calculate EMAs
ema3Value = ta.ema(close, ema3)
ema9Value = ta.ema(close, ema9)
ema30Value = ta.ema(close, ema30)


// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)


// Conditions for buy signal
buyCondition = ta.crossover(ema9Value, ema30Value)  and ta.stdev(close, 20) > ta.stdev(close, 20)[1]

//Conditions for sell signal
sellCondition = ta.crossover(ema30Value, ema9Value)  and ta.stdev(close, 20) < ta.stdev(close, 20)[1]

// Plot signals on the chart

plotshape(buyCondition, title='Buy Label', style=shape.triangleup, location=location.belowbar, size=size.normal, text='Buy', textcolor=color.new(color.white, 0), color=color.new(color.green, 0))
plotshape(sellCondition, title='sell Label', style=shape.triangledown, location=location.abovebar, size=size.normal, text='sell', textcolor=color.new(color.white, 0), color=color.new(color.red, 0))

// Plot EMAs
plot(ema3Value, title="3 EMA", color=color.orange)
plot(ema9Value, title="9 EMA", color=color.purple)
plot(ema30Value, title="30 EMA", color=color.red)


if buyCondition
    strategy.entry('Long', strategy.long)
if sellCondition
    strategy.entry('Short', strategy.short)