Estratégia de negociação dinâmica de acompanhamento de tendências com base no ângulo de Gann

GANN SMA SL TP
Data de criação: 2024-07-30 15:53:39 última modificação: 2024-07-30 15:53:39
cópia: 0 Cliques: 483
1
focar em
1617
Seguidores

Estratégia de negociação dinâmica de acompanhamento de tendências com base no ângulo de Gann

Visão geral

A estratégia de negociação de acompanhamento de tendências dinâmicas baseada no ângulo de Gansu é uma estratégia de negociação quantitativa que combina a teoria de Gansu e oscilantes altos e baixos. A estratégia usa o ângulo de Gansu para identificar tendências de mercado e gerar sinais de negociação quando os preços quebram essas linhas angulares. O núcleo da estratégia é ajustar dinamicamente a linha de Gansu angular, permitindo que ela se adapte aos preços em diferentes ambientes de mercado.

Princípio da estratégia

  1. Identificação de pontos altos e baixos de oscilação: a estratégia usa um ciclo definido pelo usuário (default 14) para identificar os pontos altos e baixos de oscilação. Esses pontos são a base para traçar as linhas de ângulo de Gantz.

  2. Calculação da linha de ângulo de Gantt: com base nos altos e baixos de oscilação identificados, a estratégia calcula a linha de ângulo de Gantt para cima e para baixo. O ângulo pode ser personalizado pelo usuário, sendo 45 graus por defeito.

  3. Geração de sinais de transação:

    • Quando o preço se eleva para cima, ele dispara um sinal de multiplicação.
    • Quando o preço se move para baixo e quebra a linha de descida de Ganhos, o sinal de ruptura é acionado.
  4. Gerenciamento de Risco: A estratégia incorpora níveis de stop loss e stop loss personalizáveis para controlar a margem de risco de cada transação.

Vantagens estratégicas

  1. Adaptabilidade dinâmica: A estratégia é capaz de se adaptar a diferentes cenários de mercado e flutuações de preços, ajustando constantemente o ponto de partida da linha de canto ganse.

  2. Seguimento de tendências: A estratégia é essencialmente um sistema de seguimento de tendências que ajuda a capturar os benefícios significativos das grandes tendências.

  3. Gerenciamento de riscos: os mecanismos de stop-loss e de suspensão incorporados ajudam a controlar os riscos e a evitar perdas excessivas em uma única transação.

  4. Visualização: A estratégia mostra intuitivamente as linhas de ângulo e os sinais de negociação no gráfico, facilitando a compreensão da estrutura do mercado e da lógica da estratégia.

  5. Flexibilidade: vários parâmetros ajustáveis (como ângulo, duração do ciclo, nível de stop loss) permitem que a estratégia se adapte a diferentes variedades de negociação e prazos de tempo.

Risco estratégico

  1. Risco de mercado em choque: Em mercados de travessia ou de choque, a ocorrência de falsas rupturas pode levar a excesso de sinais errados e custos de negociação.

  2. Risco de deslizamento: em mercados rápidos, o preço de transação real pode ser significativamente diferente do preço no momento em que o sinal é gerado.

  3. Risco de otimização excessiva: ajustes excessivos de parâmetros para se adaptar a dados históricos podem levar a uma estratégia com um desempenho ruim no futuro.

  4. Risco de reversão de tendência: a estratégia pode gerar prejuízos quando a tendência se reverte no início.

Para reduzir esses riscos, pode-se considerar:

  • A introdução de filtros adicionais (como os indicadores de volatilidade) para reduzir os falsos sinais nos mercados de turbulência.
  • Use o limite de preço em vez do preço de mercado para controlar o ponto de deslizamento.
  • Verificar o desempenho da estratégia em múltiplos períodos de tempo para garantir sua solidez.
  • Considere o uso de métodos móveis de stop loss, como o rastreamento de stop loss, para melhor proteger os lucros.

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

  1. Análise de múltiplos prazos: a integração de informações de tendências de prazos mais elevados pode melhorar a qualidade dos sinais de negociação.

  2. Adaptação do ângulo dinâmico: Adaptação do ângulo de Gandhy de acordo com a volatilidade do mercado, o que permite que a estratégia se adapte melhor a diferentes condições de mercado.

  3. Considerando o volume de transações: o volume de transações pode ser usado como um indicador auxiliar para aumentar a confiabilidade do sinal.

  4. Otimização de aprendizagem de máquina: Otimização dinâmica de parâmetros de estratégia usando algoritmos de aprendizagem de máquina para melhorar a adaptabilidade da estratégia.

  5. Filtragem de correlação: Em transações de variedades múltiplas, considerar a correlação entre as variedades pode reduzir o risco sistemático.

  6. Controle de retirada: A introdução de um mecanismo de controle de retirada baseado na curva de direitos e interesses pode proteger melhor o capital em caso de reversão da tendência.

Essas orientações de otimização visam aumentar a robustez e a rentabilidade das estratégias, ao mesmo tempo em que reduzem os riscos inerentes.

Resumir

A estratégia de negociação de acompanhamento de tendências dinâmicas baseada no ângulo de Gantt é um sistema de negociação que combina a teoria da análise técnica clássica e os métodos modernos de quantificação. Identifica e acompanha as tendências do mercado por meio de linhas de ângulo de Gantt ajustadas dinamicamente e gera sinais de negociação em pontos críticos.

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

//@version=5
strategy("Gann Strategy", overlay=true)

// User inputs
gann_angle_up = input.float(45, "Gann Angle Up (degrees)")
gann_angle_down = input.float(45, "Gann Angle Down (degrees)")
length = input.int(14, "Length for Swing High/Low")

// Functions to find Swing High and Swing Low
var float swingHigh = na
var float swingLow = na

if (high[length] == ta.highest(high, length * 2 + 1))
    swingHigh := high[length]

if (low[length] == ta.lowest(low, length * 2 + 1))
    swingLow := low[length]

// Gann angles calculation
gann_up = swingLow + math.tan(gann_angle_up * math.pi / 180) * (bar_index - ta.valuewhen(not na(swingLow), bar_index, 0))
gann_down = swingHigh - math.tan(gann_angle_down * math.pi / 180) * (bar_index - ta.valuewhen(not na(swingHigh), bar_index, 0))

// Gann angles visualization
plot(na(gann_up) ? na : gann_up, color=color.green, linewidth=2, title="Gann Angle Up")
plot(na(gann_down) ? na : gann_down, color=color.red, linewidth=2, title="Gann Angle Down")

// Entry and exit conditions
longCondition = ta.crossover(close, gann_up)
shortCondition = ta.crossunder(close, gann_down)

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Visualization of entry and exit points
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Setting stop loss and take profit levels
stopLossLevel = input.float(1.0, "Stop Loss Level (percent)") / 100
takeProfitLevel = input.float(2.0, "Take Profit Level (percent)") / 100

if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=close * (1 + takeProfitLevel), stop=close * (1 - stopLossLevel))

if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=close * (1 - takeProfitLevel), stop=close * (1 + stopLossLevel))