Stratégie de trading quantitatif d'inversion de pivot multi-périodes

RSI PP R1 S1 价格行为 反转交易 技术分析 量化策略
Date de création: 2025-06-23 09:57:58 Dernière modification: 2025-06-23 09:57:58
Copier: 0 Nombre de clics: 232
2
Suivre
319
Abonnés

Stratégie de trading quantitatif d’inversion de pivot multi-périodes Stratégie de trading quantitatif d’inversion de pivot multi-périodes

Aperçu

La stratégie de revers des pivots multi-périodes est un système de négociation basé sur l’action des prix, axé sur la recherche de signaux de revers à haute probabilité dans les pivots de la semaine du jeudi (PP) au niveau des institutions clés. La stratégie est conçue pour capturer les mouvements de prix au début de chaque semaine, avec un contrôle strict du risque et un fort potentiel de gain.

Principe de stratégie

Le principe central de cette stratégie est d’identifier les points de retournement du marché en surveillant l’interaction des prix avec les pivots hebdomadaires:

  1. Calcul des points cardinauxLa stratégie utilise les hauts (high_prev), les bas (low_prev) et les prix de clôture (close_prev) de la semaine précédente pour calculer les points pivots (PP) et les points de résistance (R1) et de soutien (S1) de la semaine.

    • PP = (high_prev + low_prev + close_prev) / 3
    • R1 = 2 * PP - low_prev
    • S1 = 2 * PP - high_prev
  2. Signal de transaction généré

    • Il est possible de faire des conditions multiples: lorsque le prix ouvre au-dessous de la PP, mais recule ensuite et se referme au-dessus de la PP, indiquant un renversement de bullish.
    • Condition de dépréciation: lorsque le prix ouvre au-dessus de la PP, mais qu’il tombe ensuite et se referme en dessous de la PP, indiquant un renversement baissier.
  3. RSI confirmé(optionnel): Ajout du RSI comme condition de filtrage, par défaut:

    • Le RSI doit être supérieur à 50
    • Le RSI doit être inférieur à 50.
  4. Réglages de stop-loss

    • Traiter plus: arrêt sur R1 et arrêt sur S1
    • Opération de prise de risque: arrêt sur S1 et arrêt sur R1
  5. Détection de la conversion de cycleUtilisationta.change(time("W"))Détecter le début d’une nouvelle semaine de trading pour mettre à jour le calcul des pivots.

Avantages stratégiques

Une analyse approfondie du code de la stratégie permet de résumer les avantages notables suivants:

  1. Transactions au niveau de l’institutionLes pivots sont des niveaux de référence importants souvent utilisés par les grandes institutions et les traders professionnels. En négociant à ces niveaux, la stratégie est en phase avec les flux de commandes des principaux acteurs du marché.

  2. Des règles d’entrée clairesLa stratégie offre des critères d’admission clairs, réduit le besoin de jugements subjectifs et est adaptée à une mise en œuvre systématique.

  3. Optimisation de la gestion des risquesLes points d’arrêt et de rupture sont placés à des niveaux de support et de résistance clés, ce qui est non seulement conforme à la structure du marché, mais offre également un rapport de risque/rendement favorable.

  4. Efficacité du tempsLa stratégie s’intéresse particulièrement aux opportunités de trading du début de la semaine (du lundi au mercredi) et utilise cette période comme une période de réaction initiale du marché aux nouveaux niveaux de la semaine.

  5. Très adaptable: peut s’appliquer à de nombreux marchés de liquidité et à différentes périodes de temps, en particulier les graphiques de 15 minutes ou d’une heure.

  6. Personnalisation: vous pouvez choisir d’utiliser ou non la confirmation RSI et d’ajuster les paramètres RSI pour s’adapter à différents environnements de marché

Risque stratégique

Bien que cette stratégie présente de nombreux avantages, elle comporte les risques suivants:

  1. Risque de fausse percée: Le prix peut momentanément franchir le pivot, mais ensuite revenir dans sa direction d’origine, ce qui entraîne un signal erroné. La solution consiste à ajouter un mécanisme de confirmation, tel que demander au prix de rester un certain temps après la rupture.

  2. La volatilité des marchés: Dans un marché très volatil, les prix peuvent fréquemment traverser les pivots, ce qui entraîne des transactions excessives et des coûts de transaction accrus. La solution consiste à ajouter des filtres de tendance supplémentaires dans un environnement très volatil.

  3. L’impact des événements: Les nouvelles économiques majeures peuvent entraîner des fluctuations anormales des prix et perturber le fonctionnement normal de la technologie.

  4. Paramètre SensibilitéLe choix des paramètres RSI peut avoir une influence significative sur la performance de la stratégie, et différents marchés peuvent avoir besoin de paramètres optimaux différents. Il est recommandé d’effectuer une optimisation complète des paramètres avant le démarrage.

  5. Marché de portée peu performant: Dans les marchés de couverture horizontale, les prix peuvent fluctuer fréquemment autour des axes centraux mais ne forment pas de tendance claire, ce qui entraîne plusieurs pertes mineures. L’ajout d’un filtre de volatilité peut être envisagé pour éviter les transactions sur les marchés de couverture.

Orientation de l’optimisation de la stratégie

Sur la base de l’analyse du code, la stratégie peut être optimisée de la manière suivante:

  1. Ajout d’une confirmation de plusieurs périodes: en combinant la direction de la tendance à des périodes plus élevées, ne négociez que dans la direction qui correspond à la tendance à des périodes plus élevées. Cela augmente le taux de victoire, car cela garantit que les transactions sont conformes à la tendance principale.

  2. Adaptation de l’arrêt dynamique: Le stop loss est actuellement placé en position fixe S1 ou R1, on peut envisager d’implémenter un stop loss de suivi pour protéger les profits et faire courir les profits.

  3. Augmentation de l’analyse du volume des transactions: l’intégration d’indicateurs de volume de transaction comme facteur de confirmation supplémentaire, l’entrée en jeu seulement lorsque la rupture est accompagnée d’une augmentation du volume de transaction, ce qui peut réduire le risque de fausse rupture.

  4. Ajouter un filtre de structure de marchéPar exemple, il n’est possible de faire plus de transactions que lorsque les prix sont dans un modèle de plus haut sommet et de plus bas sommet, et vice versa.

  5. Indicateur intégré de volatilitéAjout d’indicateurs de volatilité tels que l’ATR (Average True Range) pour ajuster le stop loss ou éviter de négocier dans un environnement à forte volatilité.

  6. Analyse saisonnière: Certains marchés peuvent présenter des modèles prévisibles à des dates ou des mois spécifiques, et des filtres saisonniers peuvent être ajoutés pour optimiser le moment de l’entrée.

  7. Amélioration de l’application RSIIl est possible d’envisager d’utiliser l’écart du RSI au lieu d’une simple baisse comme confirmation, ce qui pourrait fournir un signal de reprise plus fort.

Résumer

La stratégie de retournement d’axe à périodes multiples est une méthode de négociation systématisée basée sur des principes de bon marché, utilisant des pivots au niveau de l’institution pour identifier des opportunités de retournement de marché à forte probabilité. En surveillant l’interaction des prix avec les pivots, combinée à une confirmation RSI optionnelle, la stratégie permet de capturer des opportunités de négociation avec un contrôle strict des risques et des objectifs de profit clairs.

Cette stratégie est particulièrement adaptée aux marchés liquides et aux cadres de heures de négociation intra-journée, et fonctionne particulièrement bien au début de la semaine. Malgré les risques tels que les faux-breechers et la volatilité du marché, ces risques peuvent être efficacement contrôlés par une gestion appropriée des risques et des mesures d’optimisation recommandées.

Par-dessus tout, les traders doivent effectuer un retour d’expérience complet et ajuster les paramètres en fonction des conditions spécifiques du marché avant de les appliquer sur le marché. Les performances de la stratégie peuvent être encore améliorées et devenir un élément précieux de la boîte à outils des traders en ajoutant des optimisations telles que l’analyse de plusieurs périodes, l’arrêt dynamique des pertes et la confirmation du volume de transactions.

Code source de la stratégie
/*backtest
start: 2024-06-23 00:00:00
end: 2025-06-21 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Marx Weekly Pivot Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
use_rsi = input.bool(true, "Use RSI confirmation", group="Confirmation")
rsi_period = input.int(14, "RSI Period", group="Confirmation")
rsi_thresh = input.int(50, "RSI Threshold", group="Confirmation")

// === CALCULATE WEEKLY PIVOTS ===
var float pp = na
var float r1 = na
var float s1 = na
var float r2 = na
var float s2 = na

new_week = ta.change(time("W"))
high_prev = request.security(syminfo.tickerid, "W", high[1])
low_prev = request.security(syminfo.tickerid, "W", low[1])
close_prev = request.security(syminfo.tickerid, "W", close[1])

if new_week
    pp := (high_prev + low_prev + close_prev) / 3
    r1 := 2 * pp - low_prev
    s1 := 2 * pp - high_prev
    r2 := pp + (r1 - s1)
    s2 := pp - (r1 - s1)

// === RSI Confirmation ===
rsi = ta.rsi(close, rsi_period)
rsi_buy = rsi > rsi_thresh
rsi_sell = rsi < rsi_thresh

// === STRATEGY CONDITIONS ===
long_condition = close > pp and open < pp and (not use_rsi or rsi_buy)
short_condition = close < pp and open > pp and (not use_rsi or rsi_sell)

// === ENTRIES & EXITS ===
if (long_condition)
    strategy.entry("Long", strategy.long)
    strategy.exit("TP Long", from_entry="Long", limit=r1, stop=s1)

if (short_condition)
    strategy.entry("Short", strategy.short)
    strategy.exit("TP Short", from_entry="Short", limit=s1, stop=r1)

// === VISUAL LABELS ===
plotshape(long_condition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", title="Long Signal")
plotshape(short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", title="Short Signal")

// === ALERTS ===
alertcondition(long_condition, title="Long Alert", message="Long setup detected (Weekly Pivot Reversal)")
alertcondition(short_condition, title="Short Alert", message="Short setup detected (Weekly Pivot Reversal)")

// === PLOT PIVOTS ===
plot(pp, title="Pivot", color=color.orange, linewidth=1)
plot(r1, title="R1", color=color.green, linewidth=1)
plot(s1, title="S1", color=color.red, linewidth=1)