La stratégie de trading combinant le double SuperTrend et le MACD combine deux indicateurs de suivi de tendance (SuperTrend 1 et SuperTrend 2) avec un indicateur de choc dynamique (MACD) dans le but de fournir une approche de trading cohérente et systémique, sans jugement subjectif.
Les principaux avantages de cette stratégie:
La double vérification de SuperTrend: l’utilisation de deux indicateurs de SuperTrend, avec des cycles et des facteurs ATR différents, permet de confirmer la direction de la tendance, le mécanisme de double vérification réduit les signaux erronés.
Confirmation de la puissance: la ligne de la colonne MACD sert de filtre de puissance pour confirmer les entrées et les sorties, ajoutant un niveau de vérification.
Entrée et sortie objectives: la stratégie génère des signaux d’achat et de vente en fonction de la direction de la tendance et de la combinaison de forces, sans espace d’interprétation subjective.
Gestion automatisée des transactions: mise en place stratégique des commissions, des points de glissement et des fonds initiaux, exécution automatisée des transactions.
Personnalisabilité: tous les paramètres peuvent être facilement personnalisés pour s’adapter aux besoins de différents traders et aux environnements de marché changeants.
La stratégie fonctionne selon un ensemble de règles bien définies, en se concentrant principalement sur la direction de la tendance confirmée par les deux SuperTrends et sur la dynamique représentée par la ligne MACD.
Entrée à plusieurs têtes: deux indicateurs de SuperTrend à plusieurs têtes et une ligne MACD plus grande que 0.
Entrée en tête nue: deux indicateurs de SuperTrend sont en tête nue et la colonne MACD est inférieure à 0.
Pénélope: n’importe quel virage de SuperTrend ou virage de la ligne de la colonne MACD.
Positions à vide: les courants de SuperTrend tournent vers le haut ou la courbe MACD se redresse.
La stratégie utilise un ratio de commission fixe et des paramètres de points de glissement.
La fonctionnalité de gestion automatique des risques est intégrée, afin d’éviter les surcharges.
Cette stratégie permet de nombreuses transactions bilatérales à zéro. L’utilisateur peut choisir la direction de la transaction en fonction de ses propres vues du marché (<<, << ou >).
La période de temps la plus appropriée pour une tendance évidente.
L’utilisateur peut ajuster le cycle ATR, le facteur et les paramètres MACD de SuperTrend en fonction de ses besoins.
Le SuperTrend 1 est un cycle ATR de 10:
SuperTrend 1 facteur:3.0
La période de l’ATR de SuperTrend 2 est de 20
Le facteur de SuperTrend 2 est de 5,0.
La courbe MACD est de 12 cycles.
La courbe du MACD: 26
Le MACD a une période de glissement de 9.
Pourcentage de commission: 0,1%
Points de glissement: 1
Direction des transactions: dans les deux sens
Les paramètres par défaut fournissent une méthode de négociation équilibrée, mais peuvent être personnalisés en fonction des préférences personnelles.
Cette stratégie présente les avantages suivants:
L’utilisation de deux indicateurs SuperTrend pour la vérification de la tendance réduit considérablement les signaux erronés causés par un seul indicateur. Le mécanisme de double confirmation améliore la stabilité.
La ligne colonnade du MACD sert de critère de jugement auxiliaire, permettant de filtrer certains signaux de négociation indésirables et d’améliorer la précision de l’entrée.
La combinaison d’indicateurs à double tendance, qui peuvent être rapidement arrêtés lors d’une conversion de tendance, aide à contrôler les retraits.
Des règles claires d’entrée et de sortie, des paramètres de gestion intégrés, sans jugement subjectif, réduisant les erreurs humaines.
Les paramètres de l’indicateur sont réglables et peuvent être optimisés en fonction des variétés et des préférences de négociation.
La stratégie présente également les risques suivants:
La combinaison d’indicateurs à deux tendances, la conversion à plusieurs espaces est relativement difficile et ne convient pas aux marchés qui changent fréquemment de direction.
En cas de forte tendance, le prix stop-loss pourrait être retardé et le risque d’expansion pourrait être retiré.
Il n’y a pas eu de réponse rapide à l’incident des Black Swans, ce qui a augmenté le risque de retrait.
Les directions d’optimisation
Optimiser les paramètres de l’indicateur pour s’adapter aux différentes variétés.
Augmentation des mécanismes de stop-loss, tels que le stop-loss mobile, afin de contrôler davantage le retrait.
En combinaison avec d’autres indicateurs, il est possible d’identifier les événements inattendus et de réduire les retraits.
Dans l’ensemble, la stratégie de combinaison double SuperTrend et MACD combine les avantages du suivi de la tendance et de l’analyse de la dynamique, la clarté des règles, le degré élevé d’automatisation, le filtrage efficace des signaux de négociation de bruit, et une très forte utilité. Cependant, il convient de prêter attention aux problèmes de contrôle de rétraction et d’optimisation des paramètres.
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading
//@version=5
// Define the strategy settings
// strategy("Dual-Supertrend with MACD - Strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash,
// commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1,
// currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)
// Trading Direction Dropdown
tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"])
// MACD Inputs
fast_length = input(12, "Fast Length")
slow_length = input(26, "Slow Length")
signal_length = input(9, "Signal Smoothing")
sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"])
sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"])
// MACD Calculation
fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
// Input Parameters for Supertrend 1
atrPeriod1 = input(10, "ATR Length for Supertrend 1")
factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01)
// Supertrend Calculation for 1
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
// Input Parameters for Supertrend 2
atrPeriod2 = input(20, "ATR Length for Supertrend 2")
factor2 = input.float(5.0, "Factor for Supertrend 2", step=0.01)
// Supertrend Calculation for 2
[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)
// Combined Conditions
isBullish = direction1 < 0 and direction2 < 0 and hist > 0
isBearish = direction1 > 0 and direction2 > 0 and hist < 0
exitLong = direction1 > 0 or direction2 > 0 or hist < 0
exitShort = direction1 < 0 or direction2 < 0 or hist > 0
// Strategy Entry and Exit based on Trading Direction
if (tradeDirection == "both" or tradeDirection == "long")
strategy.entry("Buy", strategy.long, when=isBullish)
strategy.close("Buy", when=exitLong)
if (tradeDirection == "both" or tradeDirection == "short")
strategy.entry("Sell", strategy.short, when=isBearish)
strategy.close("Sell", when=exitShort)
bodyMiddle1 = plot((open + close) / 2, display=display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false)
bodyMiddle2 = plot((open + close) / 2, display=display.none)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle2, upTrend2, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle2, downTrend2, color.new(color.red, 90), fillgaps=false)