Esta estratégia usa médias móveis e médias móveis exponenciais de diferentes prazos como sinais de negociação para perseguir subidas e matar quedas. Julga a tendência do mercado e os pontos de inflexão de acordo com a localização e a tendência das médias móveis de curto prazo e determina a tendência principal de acordo com médias móveis de longo prazo. A estratégia combina a média móvel simples (SMA) e a média móvel exponencial (EMA) como indicadores técnicos para filtrar efetivamente o ruído do mercado e determinar as tendências de preços.
A estratégia usa SMA de 5 dias, 13 dias, 21 dias e EMA de 75 dias, 90 dias e 200 dias como sinais de negociação.
Quando as SMA de curto prazo (5 dias, 13 dias, 21 dias) estiverem dispostas em ordem (5 dias no topo, 13 dias no próximo, 21 dias no fundo) e todas as SMA de curto prazo estiverem acima das EMA de longo prazo (75 dias, 90 dias, 200 dias), vá para longo;
Quando as SMAs de curto prazo (5 dias, 13 dias, 21 dias) estiverem dispostas em ordem (5 dias no fundo, 13 dias no próximo, 21 dias no topo) e todas as SMAs de curto prazo estiverem abaixo das EMAs de longo prazo (75 dias, 90 dias, 200 dias), vá curto.
Ao combinar SMAs e EMAs de diferentes ciclos, pode avaliar eficazmente as tendências de preços a curto e a longo prazo para implementar uma estratégia de tendência.
A estratégia apresenta as seguintes vantagens:
A utilização de indicadores de média móvel dupla pode filtrar eficazmente o ruído do mercado e determinar com precisão as tendências dos preços.
Configurações de vários prazos, com ciclos curtos para determinar tendências de curto prazo e ciclos longos para determinar tendências principais, alcançando rápido com lento.
A SMA é sensível às variações de preços, enquanto a EMA suaviza as variações de preços, combinando os dois funciona melhor.
A lógica de perseguir as subidas e matar as quedas é simples e direta, fácil de operar.
A estratégia apresenta também alguns riscos:
As configurações de vários prazos são bastante complexas, com dificuldades no ajuste e otimização de parâmetros.
Pode ocorrer uma divergência entre indicadores a curto e a longo prazo, dando sinais errados.
Baseado unicamente em indicadores de média móvel, pode apresentar um desempenho inferior em condições de mercado extremas.
Há um certo atraso, incapaz de capturar pontos de inflexão em tempo hábil.
A estratégia pode ser otimizada nos seguintes aspectos:
Adicionar outros indicadores técnicos para filtragem de sinais, tais como KDJ, MACD, etc., para melhorar a precisão da estratégia.
Testar e otimizar períodos e números de médias móveis de curto e longo prazo para encontrar combinações ideais de parâmetros.
Adicionar mecanismos de stop loss para controlar o risco e o DD.
Combinar indicadores de volume para evitar falsas rupturas sob fortes aumentos de preços.
A estratégia realiza um rastreamento de tendências simples e eficaz usando médias móveis duplas e análise de vários prazos. A ideia da estratégia é clara e fácil de entender, com certo valor prático. Mas ainda há espaço para melhorias, como otimização de parâmetros, controle de risco, etc. No geral, a estratégia fornece idéias valiosas para negociação quantitativa, que vale a pena pesquisa e discussão em profundidade.
/*backtest start: 2023-11-12 00:00:00 end: 2023-12-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="my_strategy_name", shorttitle="MS1", overlay=true ) source = close // MAの長さ len1 = 5 len2 = 13 len3 = 21 // MAの計算 ma1 = sma(source, len1) ma2 = sma(source, len2) ma3 = sma(source, len3) // 計算したMAをプロットする plot(ma1,color=color.red) plot(ma2,color=color.orange) plot(ma3,color=color.blue) // EMAの長さ len4 = 75 len5 = 90 len6 = 200 // MAの計算 ema1 = ema(source, len4) ema2 = ema(source, len5) ema3 = ema(source, len6) // 計算したMAをプロットする plot(ema1,color=color.red) plot(ema2,color=color.orange) plot(ema3,color=color.blue) longCondition = (ma1>ma2 and ma2>ma3 and ma3>ema1 and ema1>ema2 and ema2>ema3)//ロングにエントリーする条件 if (longCondition) strategy.entry("My Long Entry", strategy.long, comment="Long") shortCondition = (ma1<ma2 and ma2<ma3 and ma3<ema1 and ema1<ema2 and ema2<ema3)//ショートにエントリーする条件 if (shortCondition) strategy.entry("My Short Entry", strategy.short, comment="Short") //エグジット条件 strategy.exit("My Long Exit", "My Long Entry", profit=200, loss=100) strategy.exit("My Short Exit", "My Short Entry", profit=200, loss=100)