Estratégia de acompanhamento da média móvel


Data de criação: 2023-10-20 17:02:52 última modificação: 2023-10-20 17:03:32
cópia: 2 Cliques: 614
1
focar em
1617
Seguidores

Estratégia de acompanhamento da média móvel

Visão geral

A estratégia de acompanhamento de média móvel é uma estratégia de acompanhamento de tendências baseada em médias móveis simples. A estratégia usa médias móveis simples de 200 dias de duração para determinar a direção da tendência dos preços, fazendo mais quando os preços atravessam a média móvel acima e fechando quando os preços atravessam a média móvel abaixo, para realizar o acompanhamento da tendência.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes princípios:

  1. O uso de uma média móvel simples de 200 dias de duração para determinar a direção da tendência de preços.
  2. Quando o preço de fechamento está próximo do slowMA, considere que o mercado está começando a subir e, portanto, faça mais.
  3. Quando o preço de fechamento fechar abaixo do slowMA, considere que o mercado começou a cair e, portanto, faça um short.
  4. A última vez em que foi feito um extra e um extra é registrada com as variáveis last_long e last_short.
  5. A função de crossover julga o cruzamento de last_long e last_short para gerar um sinal de transação.
  6. No período de tempo de detecção, recebendo um sinal long_signal, faça mais, recebendo um sinal short_signal, faça mais.

A estratégia é baseada em medias móveis para determinar a direção da tendência e, quando a linha de equilíbrio se inverte, pode ser usada para obter lucro com o acompanhamento da tendência.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A estratégia é simples, clara, fácil de entender e de implementar.
  2. Usando médias móveis de longo período, pode-se filtrar o ruído de forma eficiente e bloquear as principais tendências.
  3. A operação de reversão em tempo hábil permite capturar oscilações de preços significativas em pontos de mudança de tendência.
  4. Só é necessário um indicador de média móvel, sem a complexidade de vários conjuntos de indicadores.
  5. As regras de entrada e saída são claras e não requerem muita intervenção humana.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. A média de longo período é insensível a ajustes de curto prazo e pode perder oportunidades de curto prazo.
  2. A capacidade de reconhecimento de tendências de grandes ciclos é fraca, sendo suscetível a perdas de reversão.
  3. O que é que o governo está a fazer para impedir que o país seja invadido?
  4. Parâmetros fixos, diferentes variedades e fraca adaptabilidade ao mercado.
  5. O risco de uma estratégia de teste baseada apenas em dados históricos pode ser um excesso de adequação.

Os riscos podem ser otimizados e melhorados em:

  1. Combinando a média de curto prazo com as tendências de longo prazo.
  2. Aumentar as condições do portfólio de quantidade e preço para evitar falsas rupturas.
  3. Adição de filtros de indicadores de tendência para melhorar a capacidade de identificar mudanças de tendência.
  4. Aumentar o mecanismo de stop loss dinâmico para controlar as perdas individuais
  5. A adoção de métodos de otimização de parâmetros aumenta a adaptabilidade dos parâmetros.
  6. Teste de replicação em diferentes cenários de mercado para verificar a solidez da estratégia.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Otimizar os parâmetros de ciclo das médias móveis, procurando a combinação de parâmetros mais ótima. Pode-se usar métodos de otimização de parâmetros como a Análise de Caminho Avançado.

  2. Aumentar as médias móveis de curto prazo para formar uma estratégia de linha média múltipla, acompanhando as tendências de curto prazo.

  3. Combinado com indicadores de tendência, como o MACD, aumenta a capacidade de identificar reversões de tendência.

  4. Adicionar mecanismos de parada de prejuízos, como o rastreamento de parada de prejuízos, a suspensão de parada de prejuízos, etc., para controlar a perda individual.

  5. Teste de replicação, estratégias de teste em diferentes variedades e diferentes períodos de tempo para melhorar a estabilidade.

  6. A auto-adaptação dos parâmetros das estratégias e a otimização das estratégias são realizadas por meio de métodos como o aprendizado de máquina.

Resumir

A estratégia de acompanhamento de média móvel é uma estratégia de acompanhamento de tendência simples e prática, com ideias claras e fáceis de implementar, que pode capturar oportunidades de tendência. Mas a estratégia também tem alguns problemas, como insensibilidade ao ajuste de curto prazo, fraca capacidade de controle de risco, etc. Podemos otimizar em muitos aspectos, para tornar a estratégia mais estável, com parâmetros mais otimizados, com controle de risco mais perfeito.

Código-fonte da estratégia
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Time Frame ///////////////
testStartYear = input(2012, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() => true

///////////// MA 200 /////////////
slowMA = sma(close, input(200))

/////////////// Strategy ///////////////
long = close > slowMA
short = close < slowMA

last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])

long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

/////////////// Execution /////////////// 
if testPeriod()
    strategy.entry("Long Entry",  strategy.long, when=long_signal)
    strategy.entry("Short Entry", strategy.short, when=short_signal)
    strategy.exit("Long Ex", "Long Entry")
    strategy.exit("Short Ex", "Short Entry")

/////////////// Plotting /////////////// 
plot(slowMA, color = long ? color.lime : color.red, linewidth=2)
bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)