
La stratégie de rupture de supertrend et de Gannon High/Low est une stratégie de trading quantitative basée sur l’analyse technique qui combine l’indicateur de supertrend et la théorie de Gannon High/Low et améliore la fiabilité des signaux de trading grâce à l’analyse de plusieurs périodes. La stratégie utilise les périodes de temps plus élevées (environ 15 minutes) pour trouver des signaux d’entrée et identifier les périodes de sortie dans les périodes de temps plus faibles (environ 5 minutes).
Les principes techniques de cette stratégie reposent principalement sur les composants clés suivants:
Indicateur de la tendance à la hausseIl s’agit d’un indicateur de suivi de tendance basé sur l’ATR (Average True Range) qui s’adapte dynamiquement à la volatilité du marché.ta.supertrend(factor, atrPeriod)Calculé avec un facteur de multiplication (par défaut 3.0) et une période d’ATR (par défaut 10). L’indicateur de tendance supérieure est affiché en rouge (signaux baissiers) au-dessus du prix et en vert (signaux optimistes) en dessous.
Gann High-Low est un groupe d’étoiles de la constellation de Gann.: Indicateur de hauts et bas de la loi de Gann, qui détermine les niveaux de support et de résistance en calculant les hauts et les bas de prix d’une période donnée. Dans le code, parta.highest(high, gannLength)etta.lowest(low, gannLength)Calculé avec la période de rétroaction de la longueur de gan (défaut 10) .
L’analyse de plusieurs périodes de tempsStratégie: calculer les indicateurs sur deux périodes de 15 minutes et 5 minutes, en utilisant la période supérieure ((15 minutes) pour juger de la tendance générale et générer un signal d’entrée, et la période inférieure ((5 minutes) pour capturer un revirement de court terme et générer un signal de sortie.request.securityLes fonctions permettent d’accéder aux données sur des périodes de temps différentes.
Les conditions d’entrée sont les suivantes:
close > st15 and close > gannHigh15)close < st15 and close < gannLow15)Les conditions de sortie sont les suivantes:
close < st5 and close < gannHigh5)close > st5 and close > gannLow5)La logique d’exécution de la stratégie est claire: elle passe lorsque les conditions d’entrée sont remplies.strategy.entryLa fonction ouvre la position et passe lorsque les conditions de sortie sont remplies.strategy.closeLa fonction est en équilibre.
Analyse synchronisée de plusieurs périodes: En combinant des signaux de différentes périodes, la stratégie permet de mieux saisir les tendances du marché et d’éviter les jugements unilatéraux qu’une seule période peut entraîner. Une période plus longue (environ 15 minutes) assure une entrée conforme à la tendance intermédiaire, tandis qu’une période plus courte (environ 5 minutes) offre une sortie plus sensible.
Mécanisme de double confirmationLa stratégie exige que les prix franchissent simultanément les lignes de tendance supérieure et les hauts et les bas de Gannett pour déclencher le signal. Ce mécanisme de double confirmation est efficace pour réduire les fausses ruptures et améliorer la qualité du signal.
Dynamique d’adaptation aux fluctuations du marchéL’indicateur de super-tendance est basé sur le calcul de l’ATR et permet d’ajuster automatiquement les paramètres en fonction de la volatilité du marché, ce qui permet à la stratégie de rester efficace dans différents environnements de marché.
Une maîtrise claire des risquesEn définissant des conditions de sortie claires, la stratégie permet de contrôler efficacement le risque d’une seule transaction en arrêtant les pertes en temps opportun au début d’une inversion du marché.
Ajustabilité des paramètres: La stratégie fournit trois paramètres clés pour les cycles ATR, les multiples de super-trends et les cycles de hauts et bas de Gannon, que l’utilisateur peut ajuster en fonction des différentes caractéristiques du marché et de ses préférences de risque personnelles.
La logique d’exécution est claire et concise.: La structure du code est claire, la logique simple et intuitive, facile à comprendre et à maintenir, ce qui favorise l’optimisation et l’amélioration continues des stratégies.
Risque de retardLes supertrends et les hauts et les bas de Gann sont des indicateurs basés sur des calculs de données historiques, qui peuvent ne pas réagir suffisamment en temps opportun dans des marchés très volatils, ce qui entraîne un retard dans les signaux d’entrée ou de sortie. La solution consiste à réduire les cycles ATR et les hauts et bas de Gann dans des environnements de marchés très volatils, afin d’améliorer la sensibilité de l’indicateur.
Risque de fausse percée: Dans le marché de la correction horizontale, les prix peuvent fréquemment franchir des niveaux critiques, mais ensuite revenir en arrière, ce qui entraîne une augmentation des faux signaux. La solution consiste à ajouter un mécanisme de confirmation au marché horizontal, comme demander que la rupture dure un certain temps ou une certaine ampleur avant de négocier.
Paramètre Sensibilité: Dans différents environnements de marché, les paramètres optimaux peuvent varier considérablement. Des paramètres trop extrémistes peuvent entraîner des transactions excessives, tandis que des paramètres trop conservateurs peuvent manquer des opportunités importantes. La solution consiste à trouver une gamme de paramètres robuste en faisant des recherches historiques et en vérifiant régulièrement l’efficacité des paramètres.
Conflit de calendrier: Dans certains cas, les cadres de temps hauts et bas peuvent donner des signaux contradictoires, ce qui rend la décision difficile. La solution consiste à augmenter les paramètres de pondération entre les cadres de temps, ou à ajouter des cadres de temps de niveau plus élevé comme filtre de tendance.
Une mauvaise gestion des fondsStratégie: par défaut, 10% des fonds du compte sont utilisés pour chaque transaction, ce qui peut entraîner une diminution rapide des fonds en cas de pertes continues. La solution consiste à ajuster la taille des positions en fonction de la volatilité du marché et de la dynamique de risque attendue, en introduisant un mécanisme de gestion des fonds plus sophistiqué.
Filtrage d’intensité de la tendance à la hausseIl est possible d’introduire des indicateurs de force de tendance tels que l’ADX (indice de direction moyenne), d’exécuter des transactions uniquement lorsque la tendance est claire et d’éviter de négocier fréquemment dans des marchés en turbulence. La méthode de mise en œuvre consiste à ajouter la logique de calcul de l’ADX et à la faire partie des conditions d’entrée.
Optimisation du mécanisme de sortie: Les conditions d’entrée et de sortie de la stratégie actuelle sont symétriques et peuvent ne pas être suffisamment flexibles. Des mécanismes d’entrée plus diversifiés tels que des arrêts mobiles, des objectifs de profit ou des arrêts de volatilité peuvent être envisagés pour mieux équilibrer les risques et les gains.
Augmentation du nombre de confirmations: les ruptures de prix doivent être accompagnées d’un volume de transactions plus important pour être plus fiables. Un indicateur de volume de transactions peut être ajouté comme confirmation, par exemple, le volume de transactions requis au moment de la rupture est supérieur au volume de transactions moyen des N derniers cycles.
Introduction de l’ajustement du taux de fluctuationIl est possible d’ajuster les multiples des supertrends en fonction de la dynamique des fluctuations du marché actuel, d’augmenter la sensibilité en utilisant des multiples plus petits pendant les périodes de faible volatilité et de réduire les faux signaux en utilisant des multiples plus importants pendant les périodes de forte volatilité.
Augmentation de la classification des états du marché: il est possible d’ajouter de la logique pour distinguer les marchés tendanciels des marchés oscillante, en utilisant différentes stratégies de négociation et paramètres de configuration dans différents états de marché. Par exemple, il est possible d’augmenter le nombre de multiplicateurs de super tendances dans les marchés oscillants et de réduire la fréquence des transactions.
Optimisation de la gestion des fondsIl est possible d’ajuster dynamiquement le pourcentage de fonds pour chaque transaction en fonction de la volatilité ou du ratio de risque attendu, plutôt que d’utiliser 10% de fonds. Cela permet d’estimer la position de stop loss en calculant l’ATR, puis de déterminer la taille de la position.
Ajouter un filtre de tempsIl est possible d’ajouter des filtres temporels pour éviter de négocier à certaines périodes (par exemple avant l’ouverture et la fermeture du marché) où les fluctuations sont importantes et peuvent générer de faux signaux.
La stratégie de rupture de supertrends et de hauts et de bas de Gannett est un système de trading quantitatif qui combine plusieurs outils d’analyse technique pour capturer les opportunités de marché en analysant les supertrends et les hauts et les bas de Gannett sur différentes périodes. Le principal avantage de la stratégie réside dans le mécanisme de confirmation multiple et l’analyse de plusieurs périodes, qui permettent de filtrer efficacement le bruit et d’améliorer la qualité du signal.
La stabilité et l’adaptabilité des stratégies peuvent être encore améliorées en augmentant le filtrage de la force de la tendance, en optimisant les mécanismes d’extraction, en augmentant la confirmation des volumes de transactions et en introduisant des ajustements de la volatilité. En particulier, la combinaison du mécanisme de gestion des fonds avec l’analyse de l’état du marché devrait améliorer considérablement les caractéristiques de risque-récompense des stratégies.
Pour les traders qui recherchent une stratégie de quantification de l’analyse technique, cette stratégie fournit un cadre de base solide qui peut être appliqué directement ou en tant que composant d’un système de négociation plus complexe. Plus important encore, les traders doivent effectuer un retour d’expérience et une optimisation des paramètres en fonction de leurs propres préférences en matière de risque et de leur compréhension du marché pour obtenir des résultats optimaux.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("MTF Supertrend + Gann HL Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
atrPeriod = input.int(10, "ATR Period")
factor = input.float(3.0, "Supertrend Multiplier")
gannLength = input.int(10, "Gann HL Period")
// === Timeframes ===
higherTF = "15"
lowerTF = "5"
// === Supertrend & Gann HL (15m) ===
[st15, dir15] = request.security(syminfo.tickerid, higherTF, ta.supertrend(factor, atrPeriod))
gannHigh15 = request.security(syminfo.tickerid, higherTF, ta.highest(high, gannLength))
gannLow15 = request.security(syminfo.tickerid, higherTF, ta.lowest(low, gannLength))
// === Supertrend & Gann HL (5m) for exit ===
[st5, dir5] = request.security(syminfo.tickerid, lowerTF, ta.supertrend(factor, atrPeriod))
gannHigh5 = request.security(syminfo.tickerid, lowerTF, ta.highest(high, gannLength))
gannLow5 = request.security(syminfo.tickerid, lowerTF, ta.lowest(low, gannLength))
// === Entry Conditions (15m) ===
longEntry = close > st15 and close > gannHigh15
shortEntry = close < st15 and close < gannLow15
// === Exit Conditions (5m) ===
longExit = close < st5 and close < gannHigh5
shortExit = close > st5 and close > gannLow5
// === Execute Strategy ===
if (longEntry)
strategy.entry("Long", strategy.long)
if (shortEntry)
strategy.entry("Short", strategy.short)
if (longExit)
strategy.close("Long")
if (shortExit)
strategy.close("Short")
// === Optional Plots ===
plot(st15, color=dir15 ? color.green : color.red, title="Supertrend 15m")