Estratégia de negociação baseada em média móvel dupla


Data de criação: 2024-01-19 14:10:38 última modificação: 2024-01-19 14:10:38
cópia: 0 Cliques: 574
1
focar em
1617
Seguidores

Estratégia de negociação baseada em média móvel dupla

Visão geral

A estratégia de negociação de média móvel dupla é uma estratégia de negociação quantitativa comum. A estratégia usa médias móveis de dois períodos de tempo diferentes para gerar um sinal de negociação de acordo com a sua interseção. Concretamente, quando a média móvel de curto prazo atravessa a média móvel de longo prazo, é considerada um sinal de compra; quando a média móvel de curto prazo atravessa a média móvel de longo prazo, é considerada um sinal de venda.

Princípios

O princípio central da estratégia é: a média móvel de curto prazo pode refletir a tendência de curto prazo dos preços dos ativos, a média móvel de longo prazo pode refletir a tendência de longo prazo dos preços dos ativos. Quando a linha de curto prazo atravessa a linha de longo prazo, indica que a tendência de curto prazo se transforma em alta, e pode ser comprada; quando a linha de curto prazo atravessa a linha de longo prazo, indica que a tendência de curto prazo se transforma em baixa, e pode ser vendida.

Especificamente, a estratégia define duas médias móveis: uma média móvel de curto prazo de 5 dias, usada para capturar tendências de preços de curto prazo; e outra média móvel de longo prazo de 15 dias, usada para determinar tendências de preços de longo prazo. Quando a linha de 5 dias atravessa a linha de 15 dias de baixo, indica que os preços de curto prazo começaram a subir, um sinal de compra; e quando a linha de 5 dias atravessa a linha de 15 dias de cima para baixo, indica que os preços de curto prazo começaram a cair, um sinal de venda.

Análise de vantagens

Em comparação com outras estratégias, a estratégia de média móvel dupla tem as seguintes vantagens:

  1. Operação simples, fácil de entender, para iniciantes em negociação quantitativa
  2. Por outro lado, a razão fundamental para evitar seguir tendências de preços em mercados complexos
  3. Ajustamento de parâmetros flexível para adaptar-se a diferentes condições de mercado, ajustando o ciclo da média móvel
  4. Filtro eficaz para o ruído do mercado, Capture ponto de inflexão de tendências de curto prazo
  5. Frequência de negociação personalizável, redução de custos de negociação e perda de ponto de deslizamento

Análise de Riscos

As estratégias de média móvel dupla também apresentam alguns riscos, incluindo:

  1. Pode gerar um falso sinal, uma média móvel é essencialmente um sinal de atraso
  2. A necessidade de se concentrar em duas médias móveis longas e curtas ao mesmo tempo, o ajuste de parâmetros e a verificação de efeitos são mais complexos
  3. Os preços dos produtos de consumo são muito baixos e os preços dos produtos de consumo são muito baixos, o que significa que os preços dos produtos de consumo são muito baixos.
  4. Frequência de transação pode ser muito alta ou muito baixa e precisa de uma optimização de paridade
  5. A eficácia é fortemente correlacionada com a situação do mercado e não é muito eficaz durante a baixa geral do índice.

Resolução:

  1. Combinação com outros indicadores de filtragem
  2. Optimizar os parâmetros de média móvel e testar os resultados
  3. Definir um limite de perda apropriado
  4. Ajustar os parâmetros da média móvel para otimizar a frequência de negociação
  5. Parâmetros de ajuste para diferentes situações de mercado

Direção de otimização

A estratégia pode ser otimizada em várias direções:

  1. Combinação com outros indicadores de filtragem de sinais, como MACD, KDJ, etc., para evitar a produção de falsos sinais

  2. Introdução de médias móveis adaptáveis, ajustando dinamicamente os parâmetros das médias móveis de acordo com a volatilidade do mercado, aumentando a robustez

  3. Optimizar os parâmetros da média móvel, encontrar as combinações ideais de parâmetros e melhorar a eficácia da estratégia

  4. Adesão a mecanismos de suspensão de prejuízos para evitar a expansão dos prejuízos e aumentar a capacidade de controlo de riscos

  5. Combinação de múltiplos quadros de tempo, utilizando simultaneamente os sinais de rotação e rotação para aumentar a estabilidade

  6. Mudança de estado de Markov, com diferentes parâmetros em diferentes estados de mercado, aumentando a adaptabilidade

Resumir

A estratégia de negociação de média móvel dupla é, em geral, uma estratégia de negociação quantitativa de efeito mais estável. O princípio de negociação é simples, fácil de entender e implementar, o ajuste de parâmetros é flexível e pode acompanhar efetivamente a tendência do mercado.

Código-fonte da estratégia
//@version=3
strategy("CS: 2 Moving Averages Script - Strategy (Testing)", overlay=true)

// === GENERAL INPUTS ===
// short ma
ma1Source   = input(defval = close, title = "MA 1 Source")
ma1Length   = input(defval = 5, title = "MA 1 Period", minval = 1)
// long ma
ma2Source   = input(defval = close, title = "MA 2 Source")
ma2Length   = input(defval = 15, title = "MA 2 Period", minval = 1)

// === SERIES SETUP ===
/// a couple of ma's..
ma1 = ema(ma1Source, ma1Length)
ma2 = ema(ma2Source, ma2Length)

// === PLOTTING ===
fast = plot(ma1, title = "MA 1", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(ma2, title = "MA 2", color = green, linewidth = 2, style = line, transp = 30)

// === LOGIC ===
enterLong = crossover(ma1, ma2)
exitLong = crossover(ma2, ma1)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2012)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=exitLong and window())