Estratégia de negociação de média móvel golden cross e dead cross


Data de criação: 2024-02-22 16:25:13 última modificação: 2024-02-22 16:25:13
cópia: 0 Cliques: 364
1
focar em
1182
Seguidores

Estratégia de negociação de média móvel golden cross e dead cross

Visão geral

A estratégia de negociação de Forex de média móvel é uma estratégia de negociação quantitativa que segue o cruzamento das médias móveis de curto e longo prazo (EMA) e executa operações de compra e venda em Forex e Forex. A estratégia de negociação de Forex é baseada em MACD para determinar os sinais de negociação.

Princípio da estratégia

A estratégia baseia-se principalmente nos indicadores EMA de 12 dias, EMA de 26 dias e MACD.

  1. Calcular o EMA do dia 12 e o EMA do dia 26.
  2. Calcule o MACD (ou seja, a EMA de 12 dias menos a EMA de 26 dias).
  3. Calcule a EMA de 9 dias do MACD como uma linha de sinal.
  4. Quando o MACD atravessa a linha de sinal, gera um sinal de compra.
  5. Quando o MACD atravessa a linha de sinalização, gera um sinal de venda.
  6. Ao fechar o segundo fio K que gera o sinal, execute a correspondente operação de compra ou venda.

A estratégia também estabelece algumas condições de filtragem:

  1. O horário de negociação é o horário de pico do dia.
  2. Os valores absolutos do MACD e da diferença entre as linhas de sinal precisam ser maiores que 0,08.
  3. Só é permitida a posse unidirecional.

Análise de vantagens

A estratégia, combinada com o cruzamento de médias móveis e o indicador MACD, pode efetivamente capturar os pontos de inflexão das tendências de curto e médio prazo do mercado. As principais vantagens são:

  1. As regras da estratégia são simples, claras, fáceis de entender e implementar.
  2. Os parâmetros do indicador foram otimizados e o desempenho foi mais estável.
  3. O que é um “stop loss”?
  4. A lógica de transação é rigorosa, evitando transações inválidas.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Risco de adequação dos dados de detecção. Em aplicações reais, os parâmetros e os valores de threshold podem precisar de ajustes.
  2. O risco de um custo de deslizamento elevado por causa de transações frequentes.
  3. A reversão da tendência pode trazer riscos de prejuízos sem uma retirada atempada.
  4. A quantidade de transações aumenta o risco de alavancagem.

Métodos de mitigação:

  1. Parâmetros de otimização dinâmica, ajuste de thresholds.
  2. A liberalização adequada das regras de transação para reduzir transações desnecessárias.
  3. A partir de agora, o Brasil terá mais indicadores para avaliar a inversão de sinais.
  4. Controle rigoroso de posições e de alavancagem.

Direção de otimização

A estratégia pode ser melhorada em:

  1. Teste combinações de médias móveis de períodos mais longos para encontrar o parâmetro ideal.
  2. Factores básicos como aumento do desempenho da empresa, eventos importantes como filtros.
  3. O tempo de reversão da tendência é avaliado com base em mais indicadores, como a banda de Brin, KDJ e outros.
  4. Desenvolver um mecanismo de parada de prejuízos. Quando os prejuízos atingem um ponto de parada de prejuízos previamente definido.
  5. Adição de proporção de perigo para controlar a retirada máxima.

Resumir

A estratégia de negociação de média móvel, em combinação com a estratégia de negociação MACD, é uma estratégia de negociação quantitativa eficaz, fácil de implementar, que forma um sinal de negociação por meio de um simples acompanhamento de tendências e, em combinação com o controle de risco de condições de filtragem adequadas. A estratégia pode ser melhorada por meio de otimização de parâmetros, aumento do mecanismo de parada e combinação de mais indicadores auxiliares.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMMA", max_bars_back = 200)

var up1 = #26A69A
var up2 = #B2DFDB
var down1 = #FF5252
var down2 = #FFCDD2
var confirmationLength = 2

var earliest = timestamp("20 Jan 2024 00:00 +0000")

// Regn u
shortEMA = ta.ema(close, 12)
longEMA = ta.ema(close, 26)
macd = shortEMA - longEMA
signal = ta.ema(macd, 9)
delta = macd - signal
absDelta = math.abs(delta)
previousDelta = delta[1]

signalCrossover = ta.crossover(macd, signal)
signalCrossunder = ta.crossunder(macd, signal)

harskiftetdag = hour(time[confirmationLength]) > hour(time)

enterLongSignal = signalCrossover[confirmationLength] and (macd > signal) and (absDelta >= 0.08)
exitLongSignal = signalCrossunder[confirmationLength] and (macd < signal)

enterShortSignal = signalCrossunder[confirmationLength] and (macd < signal) and (absDelta >= 0.08)
exitShortSignal = signalCrossover[confirmationLength] and (macd > signal)

// Så er det tid til at købe noe
qty = math.floor(strategy.equity / close)

if time >= earliest and not harskiftetdag
    if exitLongSignal 
        strategy.close("long")
    else if enterLongSignal
        strategy.close("short")
        strategy.entry("long", strategy.long, qty = qty)

    if exitShortSignal
        strategy.close("short")
    else if enterShortSignal
        strategy.close("long")
        strategy.entry("short", strategy.short, qty = qty)

// Så er det tid til at vise noe

plot(macd, color=color.blue)
plot(signal, color=color.orange)

// bgcolor(color = delta > 0.1 ? color.new(color.green, 90) : color.new(color.green, 100))
// bgcolor(color = signalCrossover ? color.purple : signalCrossunder ? color.aqua : color.new(color.green, 100))

histogramColor = delta > 0 ? (previousDelta < delta ? up1 : up2) : (previousDelta > delta ? down1 : down2)

plot(
     delta,
     style=plot.style_columns,
     color=histogramColor
     )