Estratégia de negociação combinada de média móvel dupla e MACD

Autora:ChaoZhang, Data: 2024-02-29 11:31:48
Tags:

img

Resumo

A estratégia de negociação combinada de média móvel dupla e MACD é uma estratégia de negociação quantitativa que utiliza médias móveis e indicadores de momento para geração e validação de sinais de negociação. Combinando a capacidade de seguir tendências de médias móveis e a característica de momento do MACD, esta estratégia pode efetivamente capturar o contorno das tendências do mercado através da definição de critérios de entrada e saída rigorosos, evitando o risco de estreitamento da faixa de lucro ou flutuação do mercado que pode levar a um lucro reduzido ou mesmo perda.

Estratégia lógica

Esta estratégia emprega uma combinação da média móvel simples de 20 períodos (SMA) e da média móvel exponencial de 5 períodos (EMA). A SMA de 20 períodos pode suavizar as flutuações do mercado efetivamente e determinar as tendências de preços de médio a longo prazo, enquanto a EMA de 5 períodos atribui pesos mais altos aos preços recentes e reage de forma sensível às mudanças de preços de curto prazo. Os sinais de compra são gerados quando o preço cruza acima da linha de 5 períodos enquanto está acima da linha de 20 períodos e os sinais de venda são gerados quando o preço cruza abaixo da linha de 5 períodos enquanto está abaixo da linha de 20 períodos. Essa combinação de média móvel dupla garante que os sinais comerciais sigam as principais tendências, melhorando a sensibilidade e o tempo dos sinais através da introdução de médias móveis de curto prazo.

Após os sinais de negociação serem gerados, o indicador MACD é introduzido para validar a tendência. Especificamente, quando os sinais de compra são acionados, a linha MACD DIFF precisa ver uma cruz de ouro com a linha DEA que é mantida por vários períodos para confirmar uma tendência ascendente; inversamente, quando os sinais de venda são acionados, uma cruz morta seguida de uma tendência descendente por vários períodos precisa ser observada. Isso filtra os negócios de ruído e evita a abertura de posições frequentemente durante as consolidações de mercado.

Por fim, são definidos níveis razoáveis de stop-loss para posições longas e curtas. A linha de stop-loss longa é definida abaixo do ponto mais baixo desde a entrada, enquanto a linha de stop-loss curta é definida acima do ponto mais alto desde a entrada. Os níveis de stop-loss são atualizados dinamicamente com as flutuações de preços.

Análise das vantagens

  • As médias móveis duplas identificam eficazmente a direcção da negociação e evitam interferências de ruído do mercado
  • A validação do MACD assegura uma tendência estabelecida e impede a abertura frequente de posições durante as consolidações
  • Estratégia de stop loss rigorosa que bloqueia os lucros na medida do possível e controla o risco de mercado
  • Parâmetros ajustáveis que permitem a otimização com base nas características do mercado e do produto

Análise de riscos

  • A selecção inadequada dos parâmetros do MACD pode deixar passar tendências mais curtas ou intervir com demasiada frequência
  • Os parâmetros da média móvel necessitam de ser testados para determinar o ótimo por produto
  • A posição de paragem pode ser penetrada em mercados de forte tendência, causando certas perdas.

Os parâmetros do MACD podem ser ajustados para uma melhor cooperação. Além disso, os parâmetros do período de média móvel precisam de otimização por características do produto. Finalmente, o intervalo de stop loss pode ser afrouxado razoavelmente para permitir a liberação total de lucros para grandes movimentos direcionais.

Orientações de otimização

A estratégia pode ser prosseguida nas seguintes direcções:

  1. Introduzir algoritmos de média móvel adaptativa.

  2. Incorporar modelos de aprendizagem de máquina. Algoritmos como o aprendizado profundo podem identificar automaticamente as características do mercado de diferentes produtos e obter configurações de parâmetros ideais em tempo real.

  3. Adicionar filtros suplementares. Outros indicadores técnicos podem ser introduzidos em cima dos sinais de corrente como padrões de julgamento auxiliares, como a integração de fatores de volume.

  4. Otimize as estratégias de stop loss. Técnicas de stop loss mais inteligentes, como breakout stop loss e tracking stop loss, devem ser pesquisadas, a fim de obter maior recompensa enquanto controla o risco.

Resumo

A estratégia de combinação de média móvel dupla e MACD considera abrangentemente aspectos como tendência, impulso, controle de risco além das limitações de indicadores técnicos únicos e pode efetivamente melhorar a estabilidade da negociação quantitativa. Esta estratégia se adapta bem a diferentes ambientes de mercado através do ajuste de parâmetros e vale a pena aplicação ao vivo e otimização contínua.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Band Strategy with Early Signal (v5)", overlay=true)

// Inputs
length = 20
mult = 1.5
src = close
riskRewardRatio = input(3.0, title="Risk-Reward Ratio")

// Calculating Bollinger Bands
basis = ta.ema(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plotting Bollinger Bands
plot(upper, "Upper Band", color=color.red)
plot(lower, "Lower Band", color=color.green)

// Tracking Two Candles Ago Crossing Bollinger Bands
var float twoCandlesAgoUpperCrossLow = na
var float twoCandlesAgoLowerCrossHigh = na

if (close[2] > upper[2])
    twoCandlesAgoUpperCrossLow := low[2]
if (close[2] < lower[2])
    twoCandlesAgoLowerCrossHigh := high[2]

// Entry Conditions
longCondition = (not na(twoCandlesAgoLowerCrossHigh)) and (high > twoCandlesAgoLowerCrossHigh)
shortCondition = (not na(twoCandlesAgoUpperCrossLow)) and (low < twoCandlesAgoUpperCrossLow)

// Plotting Entry Points
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy Execution
if (longCondition)
    stopLoss = low - (high - low) * 0.05
    takeProfit = close + (close - stopLoss) * riskRewardRatio
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", stop=stopLoss, limit=takeProfit)

if (shortCondition)
    stopLoss = high + (high - low) * 0.05
    takeProfit = close - (stopLoss - close) * riskRewardRatio
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", stop=stopLoss, limit=takeProfit)


Mais.