A estratégia de cruzamento de média móvel tripla usa o cruzamento de médias móveis em diferentes períodos de tempo como sinais de negociação, pertencentes a estratégias de tendência.
Em primeiro lugar, a estratégia calcula as médias móveis de curto prazo (default 7 dias), de médio prazo (default 25 dias) e de longo prazo (default 99 dias).
Quando a MA de curto prazo cruza a MA de médio prazo, é gerado um sinal de compra.
Quando a MA de curto prazo cruza abaixo da MA de médio prazo, é gerado um sinal de venda.
Quando o MA a curto prazo cruza o MA a longo prazo, é gerado um sinal de compra rápida.
Quando o MA a curto prazo cruza abaixo do MA a longo prazo, é gerado um sinal de venda rápida.
A estratégia acredita que o cruzamento de MA de curto prazo acima do MA de médio prazo indica uma tendência de alta, de modo que um sinal de compra é gerado. E o cruzamento de MA de curto prazo abaixo do MA de médio prazo indica uma tendência de queda, de modo que um sinal de venda é gerado. Da mesma forma, o cruzamento entre o MA de curto prazo e o MA de longo prazo também gera sinais de negociação rápidos para capturar mudanças de tendência de longo prazo.
A lógica estratégica é simples e fácil de compreender e implementar.
O uso de análises de vários prazos pode capturar eficazmente as alterações nas tendências do mercado.
Os parâmetros podem ser otimizados ajustando os períodos de MA.
Os sinais de cruzamento visual refletem intuitivamente as mudanças de tendência.
Os MAs têm problemas atrasados e podem perder pontos de reversão da tendência.
Muitos sinais falsos quando a MA de curto prazo cruza acima da MA de longo prazo em mercados de alta.
Muitos sinais falsos quando a MA a curto prazo cruza abaixo da MA a longo prazo em mercados de baixa.
Os sinais de negociação rápida podem ser demasiado sensíveis, aumentando a frequência de negociação e as comissões.
Os ajustes adequados dos períodos de MA ou a adição de condições de filtro podem ajudar a otimizar e reduzir os falsos sinais.
Adicionar condições de filtragem, tais como gerar sinais apenas quando se cumprem determinados volumes de negociação ou percentagens de variação de preços.
Combine com outros indicadores como MACD, KDJ para evitar transações errôneas quando não há tendência clara.
Otimizar as combinações de períodos de MA para reduzir os falsos sinais.
Distinguir os mercados de alta e baixa, otimizar os parâmetros de compra e venda separadamente.
Considere os custos de negociação, ajuste os parâmetros de negociação rápida para controlar a frequência.
A estratégia triple MA crossover é relativamente simples, julgando a direção da tendência através do crossover de diferentes MAs de período de tempo para gerar sinais de negociação. É fácil de implementar com ajustes de parâmetros flexíveis para capturar mudanças de tendência. Mas também tem os problemas de MA atrasado e sinais falsos excessivos. Métodos como adicionar filtros e otimizar combinações de parâmetros podem melhorar a estratégia.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © dadashkadir //@version=4 strategy("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true) kisa = input(title = "Kısa Vade - Gün", defval = 7, minval = 1) orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1) uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1) sma7 = sma(close, kisa) sma25 = sma(close, orta) sma99 = sma(close, uzun) alTrend = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0) satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0) ort99 = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0) zamanaralik = input (2020, title="Backtest Başlangıç Tarihi") al = crossover (sma7, sma25) and zamanaralik <= year sat = crossover (sma25, sma7) and zamanaralik <= year hizlial = crossover (sma7, sma99) and zamanaralik <= year hizlisat = crossover (sma99, sma7) and zamanaralik <= year alkosul = sma7 >= sma25 satkosul = sma25 >= sma7 hizlialkosul = sma7 >= sma99 hizlisatkosul = sma99 >= sma7 plotshape(al, title = "Buy", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny) plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny) plotshape(hizlial, title = "Hızlı Al", text = 'Hızlı Al', style = shape.labelup, location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny) plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny) fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı") //fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı") if (al) strategy.entry("LONG", strategy.long) if (sat) strategy.entry("SHORT", strategy.short) //if (hizlial) // strategy.entry("My Short Entry Id", strategy.long) //if (hizlisat) // strategy.entry("My Short Entry Id", strategy.short)