Estratégia de otimização de crossover de média móvel


Data de criação: 2024-02-04 10:31:45 última modificação: 2024-02-04 10:31:45
cópia: 3 Cliques: 790
1
focar em
1617
Seguidores

Estratégia de otimização de crossover de média móvel

Visão geral

Esta estratégia é baseada em um sinal de compra e venda baseado em um cruzamento de médias móveis convencionais, mas com algumas modificações para produzir um sinal de negociação mais preciso. A estratégia combina uma combinação de médias móveis rápidas e médias móveis lentas para determinar a tendência e pertence à estratégia de acompanhamento de tendências.

Princípio da estratégia

Quando a média móvel rápida quebra a média móvel lenta da direção inferior, é considerado um sinal de compra; Quando a média móvel rápida cai da direção superior para abaixo da média móvel lenta, é considerado um sinal de venda. Ou seja, o Gold Fork faz mais, o Dead Fork faz menos.

A chave para esta estratégia é a escolha de uma linha média rápida e lenta. Esta estratégia usa uma média móvel exponencial de 50 e 100 de comprimento como linha rápida e lenta. O efeito da estratégia pode ser otimizado ajustando os parâmetros da linha média.

Análise de vantagens

A estratégia, combinada com a dupla linha de equilíbrio para determinar a direção da tendência, pode filtrar efetivamente o ruído do mercado e identificar a tendência. Comparada à estratégia de linha de equilíbrio única, a estratégia pode aumentar a probabilidade de lucro. Além disso, a configuração de stop loss também pode limitar a perda de negociações individuais.

A estratégia usa princípios cruzados para determinar os pontos de inflexão da tendência e capturar oportunidades de tendência em tempo hábil. Em comparação com estratégias que incluem lógica condicional complexa, a estratégia é fácil de entender e de implementar.

Análise de Riscos

A estratégia pode ter três riscos: risco de parâmetros de linha média inadequados, risco de tempo de posse inadequado e risco de posição de parada inadequada.

  • A escolha inadequada dos parâmetros da linha média pode gerar sinais falsos. Se a linha média for muito curta ou muito longa, o mercado será julgado erroneamente e deve ser adequadamente ajustado para corresponder às características específicas da variedade.

  • Por um período de tempo muito longo ou muito curto, não é possível maximizar o lucro ou controlar o risco. É necessário testar diferentes saídas para determinar o melhor período de detenção.

  • Se a posição do stop loss não for adequada, o stop loss será demasiado relaxado ou demasiado apertado. Deverá ser determinado o ponto de stop loss adequado de acordo com a taxa de flutuação da variedade.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  • Teste mais combinações de parâmetros médios para encontrar o melhor parâmetro

  • Determinação de uma posição de parada dinâmica com base nas mais recentes flutuações de preço de N dias ou ATR

  • Combinação de mais indicadores para determinar o tempo de entrada, como MACD, KD, etc.

  • Adição de regras de filtragem de tendências para evitar a liquidação do mercado

  • Pode-se considerar aplicar a estratégia a mais variedades, ou melhorá-la para uma estratégia entre variedades

Resumir

A estratégia de otimização de cruzamento de média móvel integra os benefícios de determinar a direção da tendência em média lenta e rápida, definir um stop loss para controlar o risco e é uma estratégia de acompanhamento de tendência fácil de implementar. A estratégia pode aumentar ainda mais a estabilidade e a eficiência por meio de otimização de parâmetros, otimização de stop loss e filtragem de sinais.

Código-fonte da estratégia
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishchauhan
strategy(title="MA CO Strategy Test", overlay=true, pyramiding=0, initial_capital=100000)

fastEMALen = input(title="Fast EMA Length", type=input.integer, defval=50)
slowEMALen = input(title="Slow EMA Length", type=input.integer, defval=100)

fastEMA = ema(close, fastEMALen)
slowEMA = ema(close, slowEMALen)

enterLong = crossover(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)

longStop = 0.0
longStop := enterShort ? close : longStop[1]

shortStop = 0.0
shortStop := enterLong ? close : shortStop[1]

plot(series=fastEMA, color=color.orange, title="Fast EMA")
plot(series=slowEMA, color=color.teal, linewidth=3, title="Slow EMA")

if enterLong
    strategy.entry(id="GoLong", long=true)

if enterShort
    strategy.entry(id="GoShort", long=false)

if strategy.position_size > 0
    strategy.exit(id="ExLong", from_entry="GoLong", stop=longStop)

if strategy.position_size < 0
    strategy.exit(id="ExShort", from_entry="GoShort", stop=shortStop)

strategy.close_all()