Esta é uma estratégia de negociação simples baseada no cruzamento entre as médias móveis rápidas e lentas. Utiliza a cruz de ouro e a cruz morta das médias móveis para gerar sinais de compra e venda. Quando a média móvel rápida cruza acima da média móvel lenta, vá longo; quando a média móvel rápida cruza abaixo da média móvel lenta, vá curto. O objetivo é capturar inversões de tendência observando a interação entre as médias móveis de diferentes períodos.
A estratégia depende principalmente do cruzamento entre uma média móvel exponencial rápida (EMA) e uma média móvel simples lenta (SMA) para gerar sinais de negociação. Primeiro, calcula uma EMA rápida e uma SMA lenta, com períodos definidos em 13 e 30 respectivamente.
Especificamente, a estratégia calcula a EMA rápida e a SMA lenta usando maFast e maSlow. Em seguida, define as variáveis enterLong e exitLong para determinar os pontos de entrada e saída. Quando maFast> maSlow, ou seja, a EMA rápida cruza acima da SMA lenta, define enterLong=true para desencadear uma entrada longa; quando maSlow> maFast, ou seja, a EMA rápida cruza abaixo da SMA lenta, define exitLong=true para fechar posições. Finalmente, a estratégia envia ordens através de strategy.entry quando as condições são atendidas.
Assim, quando o ímpeto ascendente de curto prazo supera as tendências de longo prazo, a EMA rápida cruza acima da SMA lenta, gerando um sinal de compra; quando o ímpeto descendente de curto prazo supera as tendências de longo prazo, a EMA rápida cruza abaixo da SMA lenta, produzindo um sinal de venda. Ao capturar inversões de tendência em diferentes prazos, visa comprar baixo e vender alto.
A estratégia de cruzamento das médias móveis tem as seguintes vantagens:
As médias móveis são indicadores comumente usados e eficazes. A lógica do crossover é direta. Isso torna a estratégia fácil de entender e implementar para os traders.
A estratégia permite períodos personalizados para a EMA rápida e a SMA lenta, que podem ser ajustados para diferentes mercados, melhorando a adaptabilidade.
As médias móveis filtram o ruído do mercado de forma eficaz. Seus cruzes produzem sinais bastante confiáveis. O cruzamento entre MAs rápidos e lentos pode capturar voltas na tendência mais ampla.
Aplicável em vários ambientes de mercado. A estratégia funciona para tendências e mercados de gama. Os parâmetros podem ser ajustados para atender a diferentes condições.
A estratégia pode ser combinada de forma flexível com indicadores como o RSI para criar sistemas mais poderosos.
A estratégia apresenta também alguns riscos:
Durante tendências incertas, os MAs podem cruzar-se com frequência, causando custos excessivos de negociação e deslizamento.
Em mercados de intervalo, os MA podem gerar sinais cruzados ambíguos, resultando em sinais falsos.
Dificuldade na otimização de parâmetros. Os períodos de MA têm um impacto significativo no desempenho da estratégia e exigem testes extensos.
Sinais de atraso: os MA são inerentemente atrasados, portanto, os sinais de cruzamento tendem a ser atrasados e podem perder os pontos de entrada ideais.
Falta de gestão de risco. A estratégia não possui lógica de stop loss e pode incorrer em grandes operações perdedoras.
Algumas maneiras de otimizar a estratégia de cruzamento da média móvel:
Adicione filtros como o RSI para reduzir sinais falsos.
Incorporar MAs adicionais para confirmar sinais, tais como uma MA de 50 dias.
Implementar técnicas de stop loss como SAR parabólico para controlar riscos.
Otimizar os parâmetros utilizando métodos como a análise de avanço e a aprendizagem de máquina para melhorar o desempenho em mercados em mudança.
Utilize gráficos de intervalos de tempo mais baixos e padrões de velas para melhorar a qualidade do sinal e evitar reversões prematuras.
Incorporar indicadores de volume para evitar falhas. confirmação de volume pode tornar os sinais mais confiáveis.
A estratégia de cruzamento de média móvel é uma estratégia quantitativa simples, mas prática. Ela usa cruzes rápidas de EMA e SMA lentas para gerar sinais de negociação. A estratégia é fácil de implementar e combinar com outros indicadores, mas também tem desvantagens como negociação excessiva e whipsaws. Com melhorias adequadas nos parâmetros e gerenciamento de risco, a estratégia pode se tornar mais robusta e lucrativa.
/*backtest start: 2023-08-26 00:00:00 end: 2023-09-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Moving Average Cross EMA SMA", overlay=true, initial_capital=10000, currency='USD',default_qty_type=strategy.percent_of_equity,default_qty_value=100) // Based on strategy by lsills @ https://www.tradingview.com/script/oI8loEZ8-Moving-Average-Cross-Strategy/ // Strategy has several logic alternatives - comment out the undesired logic sections below, only 1 logic section can be active // === GENERAL INPUTS === // short Ema maFastSource = input(defval = close, title = "Fast EMA Source") maFastLength = input(defval = 13, title = "Fast EMA Period", minval = 1) // long Sma maSlowSource = input(defval = close, title = "Slow SMA Source") maSlowLength = input(defval = 30, title = "Slow SMA Period", minval = 1) // longer Sma maSlowerSource = input(defval = close, title = "Slower SMA Source") maSlowerLength = input(defval = 30, title = "Slower SMA Period", minval = 1) // === SERIES SETUP === /// a couple of ma's.. maFast = ema(maFastSource, maFastLength) maSlow = sma(maSlowSource, maSlowLength) maSlower = vwma(maSlowerSource, maSlowerLength) rsi = rsi(maSlowerSource, maSlowerLength) // === 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) slower = plot(maSlower, title = "Slower MA", color = teal, linewidth = 2, style = line, transp = 30) // === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross enterLong = maFast> maSlow exitLong = maSlow> maFast // === LOGIC === Complex 1 - switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met //enterLong = variance(maFast,maSlowLength) < 0.6 and close[0] > maFast and crossover(maFast, maSlow) and 1.1* maSlow > maSlower and rsi>rsi[2] //exitLong = variance(maFast,maSlowLength) < 0.6 and close[0] < maSlow and crossover(maSlow, maFast) and maSlow/1.1 < maSlower and rsi<rsi[2] // === LOGIC === Complex 2- switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met //enterLong = maFast> maSlow and 1.1* maSlow > maSlower and rsi>rsi[1] and close > close[3] //and close > close[2] //exitLong = maSlow> maFast and maSlow/1.1 < maSlower and rsi<rsi[1] and close < close[3] // and close < close[2] // 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)