Sistema de Crossover de Média Móvel Tripla


Data de criação: 2023-09-28 15:33:14 última modificação: 2023-09-28 15:33:14
cópia: 1 Cliques: 779
1
focar em
1617
Seguidores

Visão geral

O sistema de cruzamento de três médias móveis é uma estratégia de negociação de ações típica para o acompanhamento de tendências. Utiliza a cruzamento de três médias móveis de diferentes comprimentos de tempo como um sinal de compra e venda. Um sinal de compra é gerado quando uma média móvel de curto prazo atravessa uma média móvel de médio prazo e uma média móvel de médio prazo atravessa uma média móvel de médio prazo.

Princípio da estratégia

A estratégia baseia-se em três médias móveis: a média móvel de longo prazo ma1, a média móvel de médio prazo ma2 e a média móvel de curto prazo ma3.

length1 = input(18,'长线') 
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 := sma(close,length1) 
ma2 := sma(close,length2)
ma3 := sma(close,length3)

Destes, length1, length2 e length3 respectivamente definem a duração de tempo das três médias móveis. A função sma calcula a média móvel simples do preço de fechamento nos correspondentes comprimentos.

A média móvel de três pontos é usada para determinar o momento de compra e venda:

if ma2 > ma1 and ma3 > ma3[1] 
    strategy.entry("Long", strategy.long)

if ma2 < ma1 and ma3 < ma3[1]
    strategy.entry("Short", strategy.short) 

Quando a linha de intervalo ma2 atravessa a linha de longo prazo ma1 e a linha de curto prazo ma3 atravessa o primeiro ciclo, é emitido um sinal de multiplicação. Quando a linha de intervalo ma2 atravessa a linha de longo prazo ma1 e a linha de curto prazo ma3 atravessa o primeiro ciclo, é emitido um sinal de vazio.

Vantagens estratégicas

  • A utilização de três médias móveis permite uma melhor compreensão das mudanças de tendência.
  • A combinação de linhas longas e curtas pode filtrar alguns ruídos de mercado de curto prazo e bloquear tendências de linhas mais longas.
  • As regras são simples e fáceis de usar.
  • Pode-se ajustar os parâmetros das três médias móveis para adaptar-se a diferentes condições de mercado.

Risco estratégico

  • Os pontos de compra e venda são confirmados posteriormente e não é possível evitar completamente os prejuízos.
  • Quando os preços das ações se movem perto das médias móveis, ocorrem vários falsos sinais.
  • O longo prazo pode perder o ponto de inflexão da tendência. O curto prazo pode perder a frequência de negociação devido ao ruído.
  • Não é uma boa forma de lidar com o mercado de ações.

Estes riscos podem ser reduzidos através de parâmetros de otimização apropriados, combinados com outros indicadores como condições de filtragem.

Direção de otimização da estratégia

  • Pode-se testar combinações de parâmetros de diferentes comprimentos para encontrar o melhor parâmetro.
  • Pode-se adicionar um stop loss para controlar os prejuízos.
  • Pode-se adicionar outros indicadores de juízo e desvio para evitar erros de julgamento, como MACD, KD, etc.
  • Pode-se escolher uma estratégia de contenção adequada de acordo com a situação.

Resumir

A estratégia de cruzamento de três médias móveis é uma estratégia de acompanhamento de tendências simples e práticas. Ela julga as mudanças na tendência de mercado com base na cruzamento de três médias móveis para gerar um sinal de negociação.

Código-fonte da estratégia
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
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/
// © dongyun

//@version=4
strategy("三重交叉修正模式系统", overlay=true)
//strategy.risk.allow_entry_in(strategy.direction.long)
length1 = input(18,'长线')
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 =0.0
ma2 = 0.0
ma3 = 0.0

ma1 := sma(close,length1)
ma2 := sma(close,length2)
ma3 := sma(close,length3)

plot(ma1)
plot(ma2)
plot(ma3)

if ma2 > ma1 and ma3 > ma3[1]
	strategy.entry("Long", strategy.long, when=strategy.position_size <= 0)

if ma2 < ma1 and ma3 < ma3[1]
	strategy.entry("Short", strategy.short, when=strategy.position_size > 0)