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


Data de criação: 2024-02-29 11:31:48 última modificação: 2024-02-29 11:31:48
cópia: 0 Cliques: 659
1
focar em
1617
Seguidores

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

Visão geral

A estratégia de negociação de dupla linha de equilíbrio e aceleração combinada é uma estratégia de negociação quantitativa que utiliza a geração e a verificação de sinais de negociação com a utilização de médias móveis e indicadores dinâmicos. A estratégia combina a capacidade de acompanhamento de tendências da linha de equilíbrio e a característica dinâmica do indicador de aceleração, que, através de condições rigorosas de entrada e saída, permite capturar efetivamente o contorno da tendência do mercado, evitando o menor risco possível de redução de lucro ou até mesmo de perda, enquanto a tendência é confirmada.

Princípio da estratégia

A estratégia é baseada em uma combinação de uma média móvel simples de 20 períodos (SMA) e uma média móvel indexada de 5 períodos (EMA). A SMA de 20 períodos permite suavizar as flutuações do mercado e determinar a tendência de preços de médio e longo prazo; a EMA de 5 períodos permite capturar a tendência de mudanças de preços de curto prazo com maior agilidade, atribuindo maior peso aos preços de curto prazo.

A estratégia também introduz o indicador MACD para a verificação da tendência após a geração do sinal de negociação. Concretamente, ao gerar o sinal de compra, é necessário que a linha DIFF do MACD apareça com a linha DEA e mantenha vários ciclos para confirmar que a tendência de compra está em alta; ao contrário, ao gerar o sinal de venda, é necessário observar a tendência de queda do MACD após a formação de um forquilho morto.

Por fim, tanto para o over quanto para o under, a estratégia estabelece um limite de perda razoável. Concretamente, o limite de perda do over é definido abaixo do valor mínimo abaixo do ponto de entrada; o limite de perda do over é definido acima do valor máximo acima do ponto de entrada. Além disso, o limite de perda é atualizado em tempo real com a flutuação dos preços.

Análise de vantagens

  • A dupla filtragem homogênea permite identificar com eficácia a direção das transações, evitando a interferência do ruído do mercado;
  • A verificação do MACD garante que a tendência seja estabelecida e evita a abertura frequente de posições durante a correção de choque;
  • Uma estratégia de stop loss rígida permite o máximo de bloqueio de lucros e controle de riscos de mercado;
  • Os parâmetros são ajustáveis e podem ser otimizados de acordo com as características do mercado e da variedade.

Análise de Riscos

  • Se os parâmetros do MACD são escolhidos incorretamente, pode-se perder tendências mais curtas ou negociações de intervenção frequentes;
  • Os parâmetros de linha média precisam ser testados para variedades específicas para serem ótimos;
  • Em mercados de alta volatilidade, o stop loss pode ser ultrapassado, resultando em prejuízos.

Pode-se obter uma melhor combinação através da adaptação dos parâmetros do indicador MACD. Além disso, os parâmetros do ciclo de equilíbrio devem ser otimizados de acordo com as características de diferentes variedades. Finalmente, a amplitude de parada de perda pode ser relaxada de forma adequada para garantir que os ganhos da grande direção sejam liberados.

Direção de otimização

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

  1. A introdução de um algoritmo de linha de equilíbrio auto-adaptável. A combinação de linhas de equilíbrio com um ciclo dinâmico pode se adaptar automaticamente às mudanças do mercado, sem a necessidade de intervenção humana nos parâmetros de otimização.

  2. Combinado com um modelo de aprendizagem de máquina. Algoritmos como o aprendizado profundo podem ser usados para identificar automaticamente as características de diferentes variedades de mercado, e produzir a melhor configuração de parâmetros em tempo real.

  3. Adição de condições de filtragem adicionais. Outros indicadores técnicos podem ser adicionados à base dos sinais de negociação existentes como critérios de julgamento auxiliares, como a introdução de fatores de volume de transação.

  4. Optimizar a estratégia de parada de perdas. Pode-se estudar a forma mais inteligente de parar perdas, tais como a interrupção do tipo de parada, o rastreamento de perdas, para obter maiores lucros ao mesmo tempo que controlar o risco.

Resumir

A dupla linha de equilíbrio e a combinação de estratégias MACD consideram integralmente as características da tendência, os fatores dinâmicos e o controle de risco em várias dimensões, superando até certo ponto as limitações de um único indicador técnico, o que pode melhorar efetivamente a estabilidade da negociação quantitativa. A estratégia pode ser bem adaptada a diferentes ambientes de mercado por meio de parâmetros e vale a pena ser aplicada em disco e otimizada continuamente.

Código-fonte da estratégia
/*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)