Estratégia de negociação quantitativa de rastreamento de tendência adaptável baseada em KAMA e MACD

KAMA MACD ATR SL TP
Data de criação: 2025-02-20 10:33:36 última modificação: 2025-02-20 15:01:37
cópia: 1 Cliques: 521
2
focar em
319
Seguidores

Estratégia de negociação quantitativa de rastreamento de tendência adaptável baseada em KAMA e MACD Estratégia de negociação quantitativa de rastreamento de tendência adaptável baseada em KAMA e MACD

Visão geral

A estratégia é um sistema de acompanhamento de tendências baseado no Kaufman Adapted Moving Average (KAMA) e no MACD. Ele permite o acompanhamento inteligente das tendências do mercado e a precisão do tempo de negociação, usando o KAMA como o principal indicador de julgamento de tendências, em combinação com o MACD como um indicador de confirmação de dinâmica. A estratégia funciona em um período de 4 horas e administra o risco com um objetivo de perda e ganho dinâmico.

Princípio da estratégia

A lógica central da estratégia é baseada nos seguintes componentes principais:

  1. Calculo de KAMA: Usando o KAMA de 50 ciclos como principal indicador de tendências, ajuste dinamicamente o coeficiente de smoothing através da relação de eficiência, permitindo que a média móvel se adapte melhor às condições de mercado.
  2. Confirmação do MACD: usa o MACD de configuração mais lenta (de 26, 52, 18) como ferramenta de confirmação de tendência para garantir que a direção da negociação esteja de acordo com a dinâmica geral.
  3. ATR Stop: Utiliza 3 vezes o ATR de 14 ciclos como base para o cálculo do stop dinâmico e do objetivo de ganho.
  4. Regras de negociação:
    • Multi-condição: o preço sobe através de KAMA e o MACD está em bullish
    • Condições de equilíbrio: preços abaixo do KAMA e MACD em baixa
    • Gerenciamento de riscos: Stop loss e ganho dinâmico com base em ATR

Vantagens estratégicas

  1. Adaptabilidade: A KAMA pode ajustar automaticamente a sensibilidade de acordo com a eficiência do mercado, mantendo um bom desempenho em diferentes ambientes de mercado.
  2. Segurança do sinal: o risco de falha de entrada foi significativamente reduzido com a confirmação do MACD.
  3. Melhoria da gestão de riscos: a adoção de objetivos dinâmicos de stop loss e profit, baseados na volatilidade, torna a gestão de riscos mais adaptável.
  4. Optimização de parâmetros: os parâmetros-chave podem ser ajustados de acordo com diferentes características do mercado.

Risco estratégico

  1. Risco de reversão de tendência: pode haver mais falsos sinais em mercados com alta volatilidade.
  2. Risco de atraso: KAMA e MACD têm um certo atraso e podem perder o melhor momento de entrada.
  3. Sensibilidade de parâmetros: os parâmetros podem ser ajustados para manter a eficácia da estratégia em diferentes condições de mercado.
  4. Efeito sobre os custos de transação: transações frequentes podem levar a custos de transação mais elevados.

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

  1. Introduzir filtros de volatilidade do mercado, ajustar parâmetros de estratégia ou suspender a negociação em um ambiente de alta volatilidade.
  2. Aumentar os indicadores de análise de volume de negócios e melhorar a precisão de julgamento de tendências.
  3. Optimizar a configuração do parâmetro MACD para que ele seja mais adequado para o período de 4 horas.
  4. Realizar o multiplicador de stop loss adaptável, ajustando o multiplicador de ATR de acordo com a dinâmica de volatilidade do mercado.
  5. Adicione um filtro de tempo para evitar a negociação em momentos de baixa liquidez no mercado.

Resumir

Esta é uma estratégia de acompanhamento de tendências que combina a inovação dos indicadores técnicos clássicos KAMA e MACD. A estratégia possui uma forte praticidade e estabilidade através da combinação de uma média móvel adaptativa e uma confirmação de dinâmica, bem como um sistema de gerenciamento de risco perfeito. Embora haja um certo risco de atraso e sensibilidade de parâmetros, a estabilidade e a lucratividade da estratégia podem ser ainda melhoradas com a orientação de otimização sugerida.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mckat

//@version=5
strategy("4-Hour KAMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
ama_length = input.int(50, title="KAMA Length for 4H")
fast_length = input.int(3, title="KAMA Fast Length")
slow_length = input.int(30, title="KAMA Slow Length")
atr_length = input.int(14, title="ATR Length")
atr_mult = input.float(3.0, title="ATR Multiplier for Stop-Loss & Take-Profit")
// === KAMA Calculation ===
var float kama = na
price_change = math.abs(close - close[ama_length])
volatility_sum = 0.0
for i = 0 to ama_length - 1
    volatility_sum := volatility_sum + math.abs(close[i] - close[i + 1])
efficiency_ratio = price_change / volatility_sum
smoothing_constant = math.pow(efficiency_ratio * (2 / (fast_length + 1) - 2 / (slow_length + 1)) + 2 / (slow_length + 1), 2)
kama := na(kama[1]) ? close : kama[1] + smoothing_constant * (close - kama[1])
// Plot KAMA
plot(kama, color=color.blue, title="KAMA (50)")
// === ATR for Stop-Loss and Take-Profit ===
atr = ta.atr(atr_length)
stop_loss = close - atr * atr_mult
take_profit = close + atr * atr_mult
// === MACD for Momentum Confirmation (Slow Settings for 4H) ===
[macd_line, signal_line, _] = ta.macd(close, 26, 52, 18)
macd_bullish = macd_line > signal_line
macd_bearish = macd_line < signal_line
// === Entry and Exit Conditions ===
buy_condition = ta.crossover(close, kama) and macd_bullish
sell_condition = ta.crossunder(close, kama) and macd_bearish
// === Execute Trades ===
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.close("Buy")
// === Dynamic Stop-Loss and Take-Profit ===
strategy.exit("Exit", "Buy", stop=stop_loss, limit=take_profit)
// === Plot Signals ===
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")