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.
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.
As vantagens desta estratégia são as seguintes:
Há também alguns riscos com esta estratégia:
Os riscos podem ser reduzidos ajustando os parâmetros de MA, definindo estratégias de stop loss, etc.
Existem outros espaços de otimização para esta estratégia:
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)