Stratégie de trading quantitative de suivi des tendances adaptatives basée sur KAMA et MACD

KAMA MACD ATR SL TP
Date de création: 2025-02-20 10:33:36 Dernière modification: 2025-02-20 15:01:37
Copier: 1 Nombre de clics: 521
2
Suivre
319
Abonnés

Stratégie de trading quantitative de suivi des tendances adaptatives basée sur KAMA et MACD Stratégie de trading quantitative de suivi des tendances adaptatives basée sur KAMA et MACD

Aperçu

La stratégie est un système de suivi des tendances basé sur les moyennes mobiles auto-adaptatives Kaufman (KAMA) et le MACD. Elle permet de suivre intelligemment les tendances du marché et de saisir avec précision le moment de la transaction en utilisant le KAMA comme indicateur principal de jugement des tendances, combiné au MACD comme indicateur de confirmation de la dynamique. La stratégie fonctionne sur un délai de 4 heures et gère le risque avec des objectifs de stop-loss et de profit dynamiques.

Principe de stratégie

La logique fondamentale de la stratégie repose sur les éléments clés suivants :

  1. Calcul KAMA: en utilisant le KAMA de 50 cycles comme principal indicateur de tendance, le coefficient d’aplatissement est ajusté dynamiquement par rapport à l’efficacité, ce qui permet à la moyenne mobile de mieux s’adapter aux conditions du marché.
  2. Confirmation du MACD: utilisation du MACD à réglage plus lent (de 26, 52, 18) comme outil de confirmation de tendance pour s’assurer que la direction des transactions est en accord avec la dynamique globale.
  3. Stop ATR: 3 fois l’ATR de 14 cycles est utilisé comme base de calcul pour les objectifs de stop dynamique et de profit.
  4. Règles de négociation:
    • Les conditions sont multiples: prix en KAMA et MACD en hausse
    • Conditions de plafond: prix en baisse par KAMA et MACD en baisse
    • Gestion des risques: paramétrage dynamique des objectifs de stop loss et de profit basé sur l’ATR

Avantages stratégiques

  1. Adaptabilité: KAMA est capable d’ajuster automatiquement sa sensibilité en fonction de l’efficacité du marché et de bien fonctionner dans différents environnements de marché.
  2. Signal fiable: le risque de fausse intrusion est considérablement réduit avec la confirmation du MACD.
  3. Amélioration de la gestion des risques: l’adoption d’objectifs de stop-loss et de profit dynamiques basés sur la volatilité rend la gestion des risques plus adaptative.
  4. Les paramètres peuvent être optimisés: les paramètres clés peuvent être ajustés en fonction des caractéristiques du marché.

Risque stratégique

  1. Risque de renversement de tendance: il peut y avoir de plus en plus de faux signaux dans les marchés très volatils.
  2. Risque de retard: KAMA et MACD ont un certain retard et risquent de rater le meilleur moment pour entrer.
  3. Sensitivité des paramètres: les paramètres peuvent avoir besoin d’être ajustés selon les conditions du marché pour maintenir l’efficacité de la stratégie.
  4. Effets sur les coûts des transactions: les transactions fréquentes peuvent entraîner des coûts plus élevés.

Orientation de l’optimisation de la stratégie

  1. L’introduction d’un filtre de volatilité du marché pour ajuster les paramètres de la stratégie ou suspendre les transactions dans un environnement à forte volatilité.
  2. L’augmentation des indicateurs d’analyse du volume de transactions et l’amélioration de l’exactitude des jugements de tendances.
  3. Optimisation des paramètres MACD pour les rendre plus adaptés à la fourchette de 4 heures.
  4. Il est possible d’adapter le multiplicateur de stop loss et d’ajuster le multiplicateur d’ATR en fonction de la dynamique de la volatilité du marché.
  5. Ajoutez un filtre temporel pour éviter de négocier pendant les périodes de faible liquidité.

Résumer

Il s’agit d’une stratégie de suivi des tendances qui combine l’innovation des indicateurs techniques classiques KAMA et MACD. La stratégie présente une forte utilité et stabilité grâce à la combinaison d’une confirmation de la moyenne mobile et de la dynamique adaptatives, ainsi qu’un système de gestion des risques bien développé. Bien qu’il existe un certain risque de retard et de sensibilité aux paramètres, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées par les orientations d’optimisation proposées.

Code source de la stratégie
/*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")