A estratégia usa o princípio de cruzamento de médias móveis para determinar a direção da tendência através do cruzamento de linhas rápidas e lentas, para emitir sinais de compra e venda. A estratégia é simples e confiável e é adequada para investidores que buscam ganhos estáveis.
A estratégia usa duas médias móveis, a média de 7 dias como linha rápida e a média de 5 meses como linha lenta. A linha rápida capta as mudanças de preço mais rapidamente, a linha lenta elimina o ruído e determina a direção da tendência. Quando a linha rápida quebra a linha lenta a partir da direção inferior, considere um sinal de mercado de touros e faça mais; quando a linha rápida cai da direção superior e quebra a linha lenta, considere um sinal de mercado de bezeros e faça um espaço.
Especificamente, a estratégia gera um sinal de compra quando a linha de 7o dia atravessa a linha de 5o dia de baixo para cima e gera um sinal de venda quando a linha de 7o dia atravessa a linha de 5o dia de cima para baixo. A estratégia também marca visualmente o momento em que o sinal é produzido.
A estratégia tem as seguintes vantagens:
A teoria é simples e confiável, baseada no conhecido princípio de cruzamento de médias móveis.
Usando apenas duas médias móveis, a seleção de parâmetros é simples e fácil de implementar.
A combinação de linhas rápidas e lentas permite identificar as tendências e filtrar o ruído do mercado.
O uso de diferentes médias periódicas permite capturar mudanças de tendência em diferentes escalas de tempo.
A implementação é simples, o código é fácil de entender e a lógica é clara.
Os sinais visuais sugerem uma visão clara e intuitiva, e as decisões operacionais são mais claras.
A estratégia também apresenta alguns riscos:
A operação baseia-se apenas em um cruzamento homogêneo e é propensa a gerar um sinal de disparo errado.
Não é possível avaliar com precisão se a tendência é forte ou fraca, e pode ser interrompida com frequência em situações de turbulência.
O ciclo de média fixa não pode se adaptar às mudanças do mercado e precisa de parâmetros otimizados.
Não é possível determinar o ponto de compra e venda, existindo um certo risco de operação de mercado.
A base teórica mais simples, o efeito pode ser um desconto, com uma margem de lucro limitada.
A estratégia pode ser melhorada em vários aspectos:
Adicionar outros indicadores para determinar pontos de compra e venda, como o indicador KDJ para determinar sobrecompra e sobrevenda.
Adicionar mecanismos de parada, como o rastreamento de parada, para evitar a expansão de perdas.
Optimizar os parâmetros do ciclo da linha média para que possam ser adaptados a diferentes ciclos de circunstâncias.
Aumentar a filtragem de tráfego para evitar falsas brechas.
Avaliação de tendências fortes e fracas, como cálculo da inclinação da linha média, operação de diferentes intensidades.
A análise de tendências, combinada com uma análise de períodos de tempo, permite avaliar a continuidade das tendências.
A estratégia baseia-se no princípio de cruzamento de médias móveis, identificando de forma simples e confiável as tendências de alta e baixa. A vantagem é a facilidade de operação, a desvantagem é o risco de seguir a tendência de forma cega. Os métodos de otimização de parâmetros, adição de indicadores auxiliares e outros podem aumentar a eficácia da estratégia.
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
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("Mount MaV - Day MaV CrossOver Strgty", shorttitle="Yusram Str.", overlay=true)
src = input(title= "Kaynak", type=input.source, defval=close)
mav = input(title="Hareketli Ortlama Tipi", defval="SMA", options=["SMA", "EMA", "WMA"])
Gbar = input(title="Günlük Bar Sayısı", defval=7, minval=1, maxval=999)
Abar = input(title="Aylık Bar Sayısı", defval=5, minval=1, maxval=999)
//displacement = input(20, minval=1, title="Displacement")
getMA(src, length) =>
ma = 0.0
if mav == "SMA"
ma := sma(src, length)
ma
if mav == "EMA"
ma := ema(src, length)
ma
if mav == "WMA"
ma := wma(src, length)
ma
ma
long = "M" //Aylık
ln = security(syminfo.ticker, long, src)
lnma = getMA(ln, Abar)
gnma = getMA(src, Gbar)
col1= gnma>gnma[1]
col3= gnma<gnma[1]
colorM = col1 ? color.green : col3 ? color.navy : color.yellow
l1 = plot(lnma, title="MhO", trackprice = true, style=plot.style_line, color=color.red, linewidth=3)
l2 = plot(gnma, title="DhO", trackprice = true, style=plot.style_line, color=colorM, linewidth=3)
fill(l1, l2, color = lnma < gnma ? color.green : color.red, title="Gölgelendirme", transp=90)
zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")
al = crossover (gnma, lnma) and zamanaralik <= year
sat = crossover (lnma, gnma) and zamanaralik <= year
plotshape(al, title = "Giriş", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Çıkış", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
FromDay = input(defval = 1, title = "Str. Başlama Tarihi Gün", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "Str. Başlama Tarihi Ay", minval = 1, maxval = 12)
FromYear = input(defval = 2015, title = "Str. Başlama Tarihi Yıl", minval = 2005)
ToDay = input(defval = 1, title = "Str. Bitiş Tarihi Gün", minval = 1, maxval = 31)
ToMonth = input(defval = 1, title = "Str. Bitiş Tarihi Ay", minval = 1, maxval = 12)
ToYear = input(defval = 9999, title = "Str. Bitiş Tarihi Yıl", minval = 2006)
Start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
Finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
Timerange() =>
time >= Start and time <= Finish ? true : false
if al
strategy.entry("Al", strategy.long, when=Timerange())
if sat
strategy.entry("Sat", strategy.short, when=Timerange())