Estratégia de Crossover de Média Móvel Multi-SMA


Data de criação: 2023-11-28 15:08:37 última modificação: 2023-11-28 15:08:37
cópia: 2 Cliques: 713
1
focar em
1617
Seguidores

Estratégia de Crossover de Média Móvel Multi-SMA

Visão geral

Esta estratégia é baseada na mediana SMA de vários períodos de tempo, e a mediana é usada para construir um indicador de mediana. Quando o preço sobe, ele gera um sinal de compra para quebrar a mediana. Quando o preço cai, ele gera um sinal de venda para quebrar a mediana.

Princípio da estratégia

  1. Calcule a média SMA de 5 períodos diferentes (8, 21, 50, 100 e 200 dias)
  2. A média das cinco medias é o indicador final da mediana.
  3. Quando o preço de fechamento sobe e quebra a linha média, gera um sinal de compra
  4. Quando o preço de fechamento desce e quebra a linha média, gera um sinal de venda

A estratégia é capaz de efetivamente suavizar a curva, eliminando falsas rupturas, através da média de SMAs em vários períodos de tempo. Tem uma maior estabilidade do que uma única linha média.

Análise de vantagens

  1. O uso de linhas médias de vários períodos de tempo é eficaz para filtrar o ruído do mercado e identificar tendências
  2. A suavizar a curva para evitar uma grande quantidade de falsos sinais
  3. A lógica da estratégia é simples, clara, fácil de entender e apropriada para aprendizagem de iniciantes.
  4. Combinação de períodos lineares personalizáveis para otimizar o efeito do indicador

Análise de Riscos

  1. O sistema de linha média está totalmente atrasado e não consegue acompanhar a mudança de preços em tempo real.
  2. O ponto de paragem é mais distante e o risco de perda é maior.
  3. A linha de parada é acionada com frequência durante a tendência de choque.

Estes riscos podem ser reduzidos através de uma redução apropriada de alguns ciclos de mediana, bem como a adição de outros indicadores de confirmação.

Direção de otimização

  1. Optimizar a combinação de períodos equilíneos para encontrar os melhores parâmetros
  2. Adição de indicadores como volume de transações para confirmar o sinal de ruptura
  3. Combinando indicadores de tendência, evitar falsos sinais de mercados em choque
  4. Desenvolver um programa de otimização automática de parâmetros, buscando dinamicamente o parâmetro ótimo

Resumir

A estratégia tem uma visão geral clara, com a integração de uma linha média em vários períodos de tempo, e é capaz de identificar as tendências de forma eficaz. É uma estratégia estável e prática. Mas também precisamos ter em conta o seu atraso e o risco de desinformação.

Código-fonte da estratégia
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true)


sma1 = sma(close,input(title="SMA 1", defval=8))

sma2 = sma(close,input(title="SMA 2", defval=21))

sma3 = sma(close,input(title="SMA 3", defval=50))

sma4 = sma(close,input(title="SMA 4", defval=100))

sma5 = sma(close,input(title="SMA 5", defval=200))


mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5

//color mediaSMA

MediaUP = mediaSMA>mediaSMA[1]
colorUP = (MediaUP ? #3CFF35 : na)

MediaDOWN = mediaSMA<mediaSMA[1]
colorDOWN =(MediaDOWN ? #FF0F03 : na)

colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na )

plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0)


//plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1")
//plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2")
//plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3")
//plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4")
//plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5")


// Strategy

//BUY
comprar=close>mediaSMA and mediaSMA>mediaSMA[1] 
fechar=close<mediaSMA and mediaSMA<mediaSMA[1]
 
strategy.entry("BUY",strategy.long,when=comprar)
strategy.entry("SELL",strategy.short, when=fechar)

//SELL
vender=close<mediaSMA and mediaSMA<mediaSMA[1] 
fechar2=close>mediaSMA and mediaSMA>mediaSMA[1]

strategy.entry("SELL",strategy.short, when=vender)
strategy.entry("BUY", strategy.long,when=fechar2)