Estratégia de cruzamento da média móvel

Autora:ChaoZhang, Data: 2024-02-04 16:00:31
Tags:

img

Resumo

A estratégia de cruzamento da média móvel é uma estratégia comum de negociação de ações. Ela gera sinais de compra e venda calculadores de médias móveis rápidas e lentas e detectando seus pontos de cruzamento. Especificamente, quando a média móvel rápida cruza acima da média móvel lenta de baixo, ela gera um sinal de compra; quando a média móvel rápida cruza abaixo da média móvel lenta de cima, ela gera um sinal de venda.

Estratégia lógica

A lógica central desta estratégia é: a média móvel rápida representa a tendência de curto prazo de um estoque, enquanto a média móvel lenta representa sua tendência de longo prazo.

Nesta estratégia, a média móvel rápida maFast e a média móvel lenta maSlow são definidas. maFast tem um período de 9 dias representando a tendência de curto prazo de 9 dias de uma ação. maSlow tem um período de 18 dias representando a tendência de longo prazo de 18 dias. A estratégia detecta seu cruzamento para determinar mudanças nas tendências de curto e longo prazo.

Análise das vantagens

As vantagens desta estratégia são as seguintes:

  1. A sua lógica é simples e fácil de compreender e implementar.
  2. As médias móveis podem filtrar os ruídos dos preços de forma eficaz e gerar sinais de negociação fiáveis.
  3. Os MAs rápidos e lentos combinam tendências de curto e longo prazo, tornando os sinais estáveis.
  4. Os parâmetros da MA podem ser ajustados de forma flexível para se adaptarem a diferentes unidades populacionais.
  5. As melhorias adicionais dos parâmetros do período de MA podem conduzir a um melhor desempenho comercial.

Análise de riscos

Há também alguns riscos com esta estratégia:

  1. Podem ocorrer mais sinais incorretos e negociações excessivas quando a flutuação de preços é elevada.
  2. A configuração inadequada dos parâmetros pode causar negociações demasiado frequentes ou atrasos no sinal.
  3. Não consegue acompanhar de forma eficaz a rápida evolução do mercado e das existências individuais.
  4. Pode haver algum atraso de tempo, o que pode causar falta de pontos importantes de entrada ou saída.

Os riscos podem ser reduzidos ajustando os parâmetros de MA, definindo estratégias de stop loss, etc.

Orientações de otimização

Existem outros espaços de otimização para esta estratégia:

  1. Combinar outros indicadores técnicos para filtrar sinais, por exemplo, volume de negociação, STOCH.
  2. Adicionar um mecanismo de determinação de tendências para evitar perder tendências importantes.
  3. Otimize os parâmetros de MA para encontrar a melhor combinação.
  4. Estabelecer estratégias de stop loss para controlar a perda de uma única transação.
  5. Incorporar modelos de aprendizagem profunda para prever movimentos de preços.

Conclusão

Em conclusão, a estratégia de cruzamento da média móvel é uma estratégia muito clássica e prática em geral. Ela tem lógica simples e amplas aplicações na negociação real. Ao ajustar parâmetros e combinar outros indicadores técnicos, ela pode ser melhorada para alcançar melhores rácios risco-recompensa. Em geral, é uma pedra angular importante da negociação quantitativa e merece pesquisa e aplicação aprofundadas.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Moving Average Cross", overlay=true, initial_capital=10000, currency='USD')



// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 9, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 18, title = "Slow MA Period", minval = 1)


// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)



// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)



// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)



// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong)
strategy.entry(id="Short Entry", long=false, when=exitLong)


// === FILL ====

fill(fast, slow, color = maFast > maSlow ? green : red)

Mais.