Une stratégie de trading à double indicateur combinant suivi de tendance et momentum

SMA ATR MACD NNFX
Date de création: 2024-09-26 16:14:22 Dernière modification: 2024-09-26 16:14:22
Copier: 1 Nombre de clics: 592
1
Suivre
1617
Abonnés

Une stratégie de trading à double indicateur combinant suivi de tendance et momentum

Aperçu

Cette stratégie combine deux méthodes de suivi de la tendance et d’analyse de la dynamique, utilisant les indicateurs de la moyenne mobile simple (SMA) et de la dispersion de la convergence des moyennes mobiles (MACD) pour identifier les opportunités de négociation potentielles. La stratégie utilise l’indicateur Trendilo (un indicateur de tendance basé sur les SMA) pour déterminer la tendance globale du marché, tout en utilisant la ligne zéro de la croisée des MACD pour capturer les changements de dynamique à court terme.

Principe de stratégie

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

  1. L’indicateur Trendilo: utilise une moyenne mobile simple de 50 cycles pour déterminer la direction des tendances à moyen et long terme.
  2. Le croisement de la ligne zéro du MACD: utilisé pour capturer les variations de la dynamique à court terme, comme signal d’entrée.
  3. Le paramètre ATR Stop/Profit: utilise l’ATR de 14 cycles pour ajuster dynamiquement les paramètres de gestion du risque.

Plus précisément, un signal de plus est déclenché lorsque la ligne MACD traverse la ligne zéro par le bas et que le prix de clôture est supérieur à la ligne Trendilo. En revanche, un signal de vide est déclenché lorsque la ligne MACD traverse la ligne zéro par le haut et que le prix de clôture est inférieur à la ligne Trendilo. Après l’entrée, la stratégie utilise des niveaux de stop-loss et de gain basés sur l’ATR pour gérer les risques et bloquer les bénéfices.

Avantages stratégiques

  1. Confirmation de tendance: en combinant Trendilo et MACD, la stratégie est capable de capturer les changements de dynamique à court terme tout en confirmant la tendance globale, réduisant ainsi efficacement les faux signaux.
  2. Gestion dynamique des risques: l’ATR est utilisé pour définir des niveaux de stop loss et de profit, permettant aux stratégies de s’adapter automatiquement à la volatilité du marché, ce qui améliore leur adaptabilité.
  3. L’analyse multi-cyclique, qui combine les indicateurs du Trendilo à moyen et long terme et du MACD à court terme, fournit une perspective plus complète du marché.
  4. Support visuel: la stratégie marque les signaux d’achat et de vente et les lignes de tendance sur le graphique, ce qui permet aux traders de comprendre intuitivement l’état du marché.

Risque stratégique

  1. Risque de renversement de tendance: Performance positive dans un marché en forte tendance, mais risque de perte dans un marché à la baisse ou à la reprise rapide.
  2. Sensitivité des paramètres: les performances de la stratégie peuvent être très sensibles à la sélection des paramètres d’entrée (tels que les cycles de Trendilo, les multiples ATR, etc.).
  3. Surtrading: Dans un marché très volatile, il est possible de générer des signaux de trading fréquents, ce qui augmente le coût des transactions.
  4. Le retard: la stratégie peut manquer certaines opportunités au début de la tendance en raison de l’utilisation de moyennes mobiles.

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres: vous pouvez ajouter des indicateurs techniques supplémentaires ou des indicateurs d’humeur du marché pour filtrer les signaux de trading de mauvaise qualité.
  2. Sélection des paramètres d’optimisation: recherche de la combinaison optimale de la période de Trendilo et de la multiplication de l’ATR à l’aide de données historiques.
  3. Ajout d’un ajustement de la volatilité: Ajustez les paramètres de la stratégie en fonction de la dynamique de la volatilité du marché actuel pour améliorer l’adaptabilité de la stratégie.
  4. Réaliser une gestion partielle de la position: envisager d’ajuster la taille de la position pour chaque transaction en fonction de la force du signal ou des conditions du marché.
  5. Augmentation du filtrage temporel: ajout d’une limite de fenêtre de temps de transaction afin d’éviter les périodes de plus grande ou moindre volatilité.

Résumer

La stratégie combine habilement le suivi des tendances et l’analyse de la dynamique, offrant aux traders un cadre d’analyse de marché relativement complet grâce à la synergie de Trendilo et MACD. La méthode de gestion des risques dynamique améliore l’adaptabilité de la stratégie, lui permettant de rester stable dans différents environnements de marché. Cependant, les traders doivent toujours être prudents dans l’utilisation de cette stratégie, en particulier en ce qui concerne l’optimisation des paramètres et le contrôle des risques.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("NNFX Trendilo + Zero MACD Strategy", overlay=true)

// --- Inputs ---
atrPeriod = input.int(14, title="ATR Period")
stopLossMultiplier = input.float(1.5, minval=0.0, maxval = 20.0, step = 0.1 ,title="Stop Loss Multiplier")
takeProfitMultiplier = input.float(2.0, minval=0.0 , maxval = 20.0, step = 0.1,title="Take Profit Multiplier")

// --- Trendilo ---
trendiloPeriod = input.int(50, title="Trendilo Period")
trendilo = ta.sma(close, trendiloPeriod)

// --- MACD ---
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdZeroCrossUp = ta.crossover(macdLine, 0)
macdZeroCrossDown = ta.crossunder(macdLine, 0)

// --- ATR for Stop Loss and Take Profit ---
atr = ta.atr(atrPeriod)
stopLoss = atr * stopLossMultiplier
takeProfit = atr * takeProfitMultiplier

// --- Trading Logic ---
longCondition = macdZeroCrossUp and close > trendilo
shortCondition = macdZeroCrossDown and close < trendilo

// --- Execute Long Trades ---
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + takeProfit, stop=close - stopLoss)

// --- Execute Short Trades ---
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - takeProfit, stop=close + stopLoss)

// --- Plot Signals ---
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")

// --- Plot Trendilo ---
plot(trendilo, color=color.blue, linewidth=2)