Crossover da média móvel exponencial e da média móvel com estratégia próxima

Autora:ChaoZhang, Data: 2024-01-19 14:50:50
Tags:

img

Resumo

O Crossover da Média Móvel Exponencial (EMA) e da Média Móvel (MA) com Estratégia de Fechamento gera sinais de negociação com base no movimento do preço de um ativo em relação à sua Média Móvel de 9 períodos e à Média Móvel de 20 períodos.

Estratégia lógica

Cálculo da EMA e da MA

  • A EMA9 calcula a média móvel exponencial de nove períodos dos preços de fechamento.
  • A ma20 calcula a média móvel simples de 20 períodos dos preços de fechamento.

Condições de compra e venda

  • A condição buyCondition é verdadeira quando o fechamento > tanto a ema9 como a ma20.
  • A condição sellCondition é verdadeira quando o fechamento é < tanto o ema9 como o ma20.

Execução de operações

  • Quando a condição buyCondition for verdadeira, executar uma ordem de entrada longa.
  • Quando a condição sellCondition for verdadeira, executar uma ordem de entrada curta.
  • Quando o preço cruzar a EMA9 ou a MA20, feche qualquer posição aberta.

Coloração de velas

  • As velas verdes indicam a condição de compra
  • As velas vermelhas indicam a venda.
  • Outras velas são brancas por padrão

EMA e MA Planning

Os 9 EMA e 20 MA são representados no gráfico para referência visual.

Análise das vantagens

A estratégia combina dois indicadores amplamente utilizados, aproveitando as capacidades de acompanhamento e suavização da tendência da EMA e da MA para gerar sinais mais fiáveis.

Os crossovers fornecem sinais claros de mudança de tendência, evitando maus negócios.

A codificação de cores das velas indica visualmente as condições sem cálculos complexos.

A execução automatizada de entradas e saídas segue rigorosamente regras predeterminadas, facilitando a gestão dos riscos.

Análise de riscos

Como indicadores de tendência, as médias móveis podem produzir muitos sinais falsos durante os períodos de faixa.

Os movimentos rápidos dos preços podem criar atrasos nos valores MA e EMA, causando oportunidades perdidas.

Os parâmetros EMA e MA têm um impacto significativo no desempenho da estratégia e devem ser ajustados para diferentes produtos e prazos.

As estratégias automatizadas não podem adaptar-se a situações complexas como um comerciante humano.

Orientações de otimização

Teste diferentes combinações de comprimento EMA e MA para encontrar parâmetros ideais que maximizem sinais verdadeiros e minimizem sinais falsos.

Incorporar métricas de volatilidade como o ATR para filtrar configurações de risco mais elevado e controlar perdas potenciais.

Combinar com outros indicadores ou sinais como volume e Bandas de Bollinger para confirmar a confiabilidade do sinal.

Adicione stop loss e use a lógica de lucro para gerenciar ativamente o risco comercial.

Resumo

O crossover EMA e MA com estratégia de fechamento usa crossovers EMA e MA para determinar tendências e entradas de sinal. Embora simples e automatizável, o desempenho depende fortemente do ajuste de parâmetros e das condições do mercado.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("EMA and MA Crossover with Close Strategy", shorttitle="EMA_MA_Close", overlay=true)

// Define the length of the Exponential Moving Average and Moving Average
lengthEMA = 9
lengthMA = 20

// Calculate the 9 EMA and 20 MA
ema9 = ema(close, lengthEMA)
ma20 = sma(close, lengthMA)

// Define the buy and sell conditions
buyCondition = close > ema9 and close > ma20
sellCondition = close < ema9 and close < ma20

// Define the close position condition
closeCondition = crossover(close, ema9) or crossover(close, ma20)

// Execute buy or sell orders
if (buyCondition)
    strategy.entry("Buy", strategy.long)
else if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Close any position if the close condition is met
if (closeCondition)
    strategy.close_all()

// Coloring the candles based on conditions
barcolor(buyCondition ? color.green : na)
barcolor(sellCondition ? color.red : na)

// Plotting the EMA and MA for reference
plot(ema9, color=color.blue, title="9 EMA")
plot(ma20, color=color.orange, title="20 MA")


Mais.