Estratégia de negociação de acompanhamento de tendências com base na confirmação de múltiplos sinais Granville e MACD

EMA MACD GC(Golden Cross) SL(Stop Loss) TP(Take Profit)
Data de criação: 2025-02-20 11:38:15 última modificação: 2025-02-27 17:46:54
cópia: 2 Cliques: 323
2
focar em
319
Seguidores

Estratégia de negociação de acompanhamento de tendências com base na confirmação de múltiplos sinais Granville e MACD Estratégia de negociação de acompanhamento de tendências com base na confirmação de múltiplos sinais Granville e MACD

Visão geral

A estratégia é um sistema de confirmação de negociação de múltiplos sinais que combina a teoria de reversão de tendência de Granville com o indicador MACD. A ideia central da estratégia é julgar uma potencial reversão de tendência através da relação entre o preço e a linha média e usar a verificação de múltiplos sinais do indicador MACD para garantir a confiabilidade da negociação.

Princípio da estratégia

O processo de implementação da estratégia é dividido em quatro etapas-chave:

  1. Confirmação do sinal de reversão de Granville: monitora se o preço se move para cima abaixo da linha média da EMA, indicando uma possível reversão de tendência.
  2. A primeira confirmação do MACD Gold Fork: a segunda confirmação do MACD Gold Fork após o sinal de reversão de Granville.
  3. Verificação de ruptura do MACD: confirmação do ponto mais alto da linha MACD na primeira ruptura do Gold Fork, indicando que a dinâmica ascendente está aumentando continuamente.
  4. MACD retroceder: esperar que o MACD retroceda após a quebra e atravesse novamente a linha de sinalização, que é o sinal de entrada final.

A configuração de stop-loss usa um método de ajuste dinâmico baseado na amplitude da linha K invertida, colocando o stop-loss no ponto mais baixo da linha K invertida e o stop-loss em 1,618 vezes a amplitude da linha K invertida, de acordo com o princípio da expansão de Fibonacci.

Vantagens estratégicas

  1. Mecanismo de confirmação múltipla: reduz significativamente o risco de sinais falsos, combinando a ação do preço, indicadores de tendência e indicadores de dinâmica.
  2. Gerenciamento de risco dinâmico: configuração de stop loss com base na flutuação real do mercado, tornando a gestão de risco mais adaptável.
  3. Verificação de continuidade de tendências: a confirmação de múltiplos sinais do MACD aumenta a precisão da captura de tendências contínuas.
  4. Adaptabilidade: Os parâmetros da estratégia podem ser ajustados de forma otimizada de acordo com diferentes condições de mercado e períodos de tempo.

Risco estratégico

  1. Lagarda de sinais: o mecanismo de confirmação múltipla pode causar um atraso relativo no tempo de entrada, afetando parte dos lucros potenciais.
  2. Performance do mercado intermédio: em mercados de liquidação horizontal, a frequência de falsas rupturas pode levar a perdas contínuas.
  3. Excessiva dependência de indicadores técnicos: a análise puramente técnica pode falhar quando a emoção do mercado é muito forte.
  4. Sensibilidade de parâmetros: pode ser necessário ajustar os parâmetros com frequência em diferentes ambientes de mercado para manter a eficácia da estratégia.

Direção de otimização da estratégia

  1. Classificação do cenário de mercado: introdução de indicadores de volatilidade, usando configurações de parâmetros diferentes em diferentes cenários de mercado.
  2. Otimização do tempo de entrada: Considere a possibilidade de aumentar a confirmação de transação na segunda volta do MACD, aumentando a confiabilidade do sinal.
  3. Ajustamento do Stop Loss: O Stop Loss pode ser ajustado de acordo com a volatilidade do mercado.
  4. Aumentar o fator de emoção de mercado: em combinação com o indicador de emoção de mercado, ajuste a estratégia de radicalização em períodos de extrema emoção.

Resumir

A estratégia combina a clássica teoria da análise técnica e a moderna metodologia de negociação quantitativa, construindo um sistema de negociação relativamente completo. O mecanismo de confirmação de múltiplos sinais oferece uma melhor confiabilidade de negociação, e o método de gerenciamento de risco dinâmico também torna a estratégia de boa adequação. Apesar de alguns problemas de atraso, a estratégia ainda tem um bom valor prático e potencial de desenvolvimento através da otimização contínua e do ajuste de parâmetros.

Código-fonte da estratégia
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Granville + MACD Strategy", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ■ Parameter Settings
emaPeriod = input.int(20, "EMA Period for Granville", minval=1)
fastLen   = input.int(12, "MACD Fast Period", minval=1)
slowLen   = input.int(26, "MACD Slow Period", minval=1)
signalLen = input.int(9,  "MACD Signal Period", minval=1)

// ■ Calculate EMA (for Granville reversal detection)
ema_val = ta.ema(close, emaPeriod)

// ■ Granville Reversal Detection (e.g., price crosses above EMA from below)
granvilleReversal = ta.crossover(close, ema_val)

// ■ Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLen, slowLen, signalLen)

// ■ State management variables (to manage state transitions)
var bool   granvilleDone   = false    // Reversal bar confirmed flag
var float  granvilleLow    = na       // Low of the reversal bar (used for SL)
var float  granvilleRange  = na       // Range of the reversal bar (used for TP calculation)
var bool   macdGC_done     = false    // First MACD Golden Cross confirmed
var int    goldenCrossBar  = na       // Bar index of the first MACD Golden Cross
var float  initialMacdHigh = na       // MACD value at the Golden Cross (used for break detection)
var bool   breakoutDone    = false    // MACD line breaks the initial Golden Cross MACD value

// ■ (1) Granville Reversal Detection
if granvilleReversal
    granvilleDone  := true
    granvilleLow   := low             // Low of the reversal bar (SL)
    granvilleRange := high - low      // Range of the reversal bar (used for TP calculation)
    // Reset MACD-related states
    macdGC_done     := false
    breakoutDone    := false
    initialMacdHigh := na
    goldenCrossBar  := na

// ■ (2) MACD Golden Cross (first signal) detection
if granvilleDone and (not macdGC_done) and ta.crossover(macdLine, signalLine)
    macdGC_done    := true
    goldenCrossBar := bar_index
    initialMacdHigh:= macdLine

// ■ (3) Check if MACD line breaks the initial MACD value at the Golden Cross
if macdGC_done and (not breakoutDone) and (macdLine > initialMacdHigh)
    breakoutDone := true

// ■ (4) When MACD retests and crosses above the signal line again, it's the entry timing
// ※ Check for a crossover after the first Golden Cross bar
entryCondition = granvilleDone and macdGC_done and breakoutDone and (bar_index > goldenCrossBar) and ta.crossover(macdLine, signalLine)

// ■ TP and SL settings at entry
if entryCondition
    entryPrice = close
    tpPrice = entryPrice + granvilleRange * 1.618
    slPrice = granvilleLow
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", from_entry="Long", stop=slPrice, limit=tpPrice)
    // Reset states after entry (for the next entry)
    granvilleDone   := false
    macdGC_done     := false
    breakoutDone    := false
    initialMacdHigh := na
    goldenCrossBar  := na

// ■ Plotting (for reference)
// Display the EMA on the price chart (with fixed title)
plot(ema_val, color=color.orange, title="EMA (20)")

// Plot MACD and Signal in a separate window (with fixed titles)
plot(macdLine, color=color.blue, title="MACD")
plot(signalLine, color=color.red, title="Signal")