Stratégie de confirmation multiple englobant un graphique de 15 minutes

EMA RSI 吞没形态 突破策略 多重确认 风险管理 技术分析 ENGULFING PATTERN Breakout Strategy MULTI-CONFIRMATION
Date de création: 2025-04-16 15:33:57 Dernière modification: 2025-04-16 15:33:57
Copier: 0 Nombre de clics: 581
2
Suivre
319
Abonnés

Stratégie de confirmation multiple englobant un graphique de 15 minutes Stratégie de confirmation multiple englobant un graphique de 15 minutes

Aperçu

La stratégie est basée sur l’identification de la forme d’absorption et la combinaison de conditions de confirmation multiples pour déclencher un signal de négociation, dont le taux de réussite est de 76% selon les statistiques. La stratégie détecte les formes d’absorption de hausse et de baisse, puis vérifie si le prix a déjà franchi deux formes horizontales d’absorption dans les deux directions opposées, afin de filtrer les signaux de mauvaise qualité et d’améliorer le taux de réussite des transactions.

Principe de stratégie

Le principe de base de cette stratégie de dénivelé de confirmation multiple repose sur plusieurs éléments techniques clés:

  1. Dévorer la reconnaissance de forme

    • Vue de l’absorption de la pile: la pile actuelle est en ligne droite, la pile précédente est en ligne gauche, et le prix d’ouverture de la pile actuelle est inférieur au prix de clôture de la pile précédente, le prix de clôture est supérieur au prix d’ouverture de la pile précédente
    • Période d’absorption de la baisse: le cours actuel est négatif, le cours précédent est positif, et le cours d’ouverture du cours actuel est supérieur au cours de clôture du cours précédent, le cours de clôture est inférieur au cours d’ouverture du cours précédent
  2. Système de vérification multiple

    • Stratégie qui utilise un tableau pour stocker les 10 derniers niveaux de prix engloutis (en haut et en bas engloutis)
    • Les signaux de transaction doivent être confirmés par la rupture d’au moins deux niveaux de prix antérieurs à l’engorgement inverse.
  3. Zone de négociation définie

    • Signaux d’avalanche: réglez une zone d’achat lorsque vous détectez une forme d’avalanche engloutie et que vous avez franchi au moins deux points bas engloutis précédents
    • Signaux de baisse: définir une zone de vente lorsqu’une forme de baisse engloutissante est détectée et qu’elle franchit au moins deux hauts engloutissants précédents
  4. Conditions d’entrée

    • Entrée multiple: le bas du prix touche le haut de la zone d’achat et le prix de clôture est supérieur au bas de la zone d’achat
    • Entrée à vide: le sommet du prix touche le bas de la zone de vente et le prix de clôture est inférieur au sommet de la zone de vente
  5. Gestion des risques

    • Utilisation d’un stop-loss dynamique basé sur la zone d’absorption, avec une protection supplémentaire contre le décalage (environ 30 fois la taille du décalage)
    • La mise en place d’un arrêt dynamique basé sur la zone d’absorption garantit également un retour sur risque raisonnable.

Grâce à ce mécanisme de confirmation à plusieurs niveaux, les stratégies sont en mesure de filtrer efficacement le bruit du marché et de saisir les opportunités de transactions à forte probabilité.

Avantages stratégiques

L’analyse approfondie de la structure et de la logique du code présente les avantages suivants:

  1. Mécanisme de filtrage de confirmation multiple: La qualité du signal a été considérablement améliorée en exigeant la rupture d’au moins deux formes d’absorption antérieures dans le sens inverse, réduisant ainsi le risque de pertes causées par une fausse rupture.

  2. Zone de négociation dynamiqueContrairement à la stratégie de niveau de prix fixe, cette stratégie modifie les zones de négociation en fonction de l’évolution des prix en temps réel, afin de mieux s’adapter aux changements du marché.

  3. Résultats élevés: Le taux de réussite de 76% mentionné dans la note de code indique une performance stable de la stratégie sur le graphique de 15 minutes, bien au-dessus de la moyenne de la plupart des systèmes de trading.

  4. Une gestion intelligente des risquesLe risque de trading émotionnel est évité en définissant des points de stop-loss associés à la zone de négociation et en définissant un plan de sortie clair pour chaque transaction.

  5. Une visualisation claire: En marquant sur le graphique la forme d’absorption (la marque triangulaire), le trader peut comprendre intuitivement le fonctionnement de la stratégie et le processus de génération du signal.

  6. Une gestion de fonds soupleStratégie: par défaut, le pourcentage de titres de comptes utilisés pour la gestion des positions est de 10%, ce qui permet de maintenir la cohérence de la marge de risque et de soutenir la croissance à long terme du compte.

  7. Adaptation à une évolution du marché: La stratégie permet de surveiller simultanément les tendances de la baisse et de la hausse et de s’adapter à la fois à la hausse et à la baisse.

Risque stratégique

Bien que cette stratégie présente de nombreux avantages, une analyse de notre code nous a permis d’identifier quelques risques potentiels:

  1. Le risque d’une fluctuation rapide du marché: Dans un marché très volatil, les prix peuvent rapidement franchir la zone de déglutition et se retourner, provoquant le déclenchement d’un stop loss. Solution: Vous pouvez envisager d’ajuster la distance de stop loss ou de suspendre la négociation lorsque les indicateurs de volatilité (comme l’ATR) sont élevés.

  2. Ils ont raté la grande tendance: Comme la stratégie redéfinit la zone de négociation correspondante après chaque déclenchement du signal (s’établissant sur na), il est possible de rater des occasions consécutives dans les grandes tendances. Solution: Vous pouvez ajouter un filtre de tendance pour maintenir la préférence directionnelle dans les tendances fortes.

  3. Gestion des fonds fixeLa stratégie impose un pourcentage de participation fixe de 10% pour chaque transaction, sans modification de la taille de la position en fonction des différentes caractéristiques de risque de la situation de la transaction. La solution: envisagez d’ajuster la taille de la position en fonction de la distance d’arrêt ou de la dynamique de la volatilité du marché.

  4. Optimisation des réglages d’écartLa stratégie consiste à utiliser un écart fixe (de 30x la taille de l’écart) pour ajuster les positions de stop loss et de stop loss, ce qui peut nécessiter des ajustements sur les différentes variétés de transactions. La solution consiste à paramétrer la taille de l’écart et à l’optimiser en fonction des caractéristiques des différentes variétés de transactions.

  5. Les risques de retrait: Les échecs consécutifs peuvent entraîner des retraits significatifs sur les comptes, en particulier lorsque la structure du marché change. Remèdes: envisager d’ajouter des filtres pour la santé globale du marché ou de réduire automatiquement la taille des transactions après une série de pertes.

  6. Risques de sur-optimisation: le code ne contient pas de filtres de temps ou d’autres conditions de marché, ce qui peut entraîner des performances médiocres dans certaines conditions de marché. Solution: tester différents filtres de conditions de marché, tels que les restrictions d’heures de négociation, les filtres de volatilité, etc.

Orientation de l’optimisation de la stratégie

Cette stratégie, basée sur une analyse approfondie du code, peut être optimisée dans les directions suivantes:

  1. Ajouter un filtre de tendance: L’intégration d’une moyenne mobile, d’un ADX ou d’un autre indicateur de tendance ne peut être utilisée que si la direction de la tendance est en accord avec le signal. Cela peut considérablement améliorer le taux de réussite de la stratégie, car l’absorption est généralement plus efficace dans la direction de la tendance.

  2. Optimisation dynamique du stop loss: L’introduction de l’indicateur ATR pour ajuster dynamiquement la distance de rupture au lieu d’utiliser un multiplicateur de points de rupture fixe. Cette méthode permet de mieux s’adapter aux conditions du marché lorsque la volatilité du marché change et de réduire les sorties inutiles causées par une rupture excessive.

  3. Augmenter le filtrage des heures de transaction: L’ajout d’une limite de fenêtre de temps de négociation, afin d’éviter les périodes de faible liquidité et les temps de communiqués de presse majeurs. Cela peut réduire les risques de sauts inattendus et de fluctuations extrêmes, et améliorer la qualité des transactions.

  4. Confirmation de la quantité intégrée: Le volume de transactions est utilisé comme indicateur de confirmation supplémentaire, confirmant le signal d’entrée uniquement lorsque le volume de transactions augmente de manière significative. Cela aide à identifier les véritables percées du marché, et non les fluctuations aléatoires.

  5. Développer une fonctionnalité de mise en place pyramidale: La stratégie permet d’augmenter la position dans une position avantageuse pour maximiser les gains d’une tendance réussie lorsque la tendance est forte. En même temps, le stop loss peut être déplacé vers le point d’équilibre de la perte pour protéger les gains déjà réalisés.

  6. Ajout d’un indicateur de sentiment du marché: L’intégration d’indicateurs de l’humeur du marché tels que le RSI, le MACD, etc. comme condition supplémentaire de confirmation d’entrée, qui n’intervient que lorsque ces indicateurs sont synchronisés avec les mouvements de prix. Cela fournira plus de niveaux de confirmation de signal.

  7. Développer un système de paramètres adaptatifs: Création d’un mécanisme d’adaptation des paramètres qui ajuste automatiquement les paramètres clés en fonction de la performance récente du marché (comme le nombre de confirmations, la distance de stop loss, etc.). Cela peut aider la stratégie à s’optimiser elle-même en fonction de l’état du marché.

Résumer

La stratégie de confirmation multiple de rupture de rupture de 15 minutes est un système de négociation très efficace qui combine la reconnaissance de la forme d’absorption avec la confirmation de prix multiple. En demandant au prix de franchir au moins deux niveaux de forme d’absorption antérieurs dans la direction opposée, la stratégie filtre efficacement un grand nombre de signaux de mauvaise qualité et améliore considérablement le taux de réussite des transactions.

Le principal avantage de la stratégie réside dans ses mécanismes de confirmation à plusieurs niveaux et sa configuration de zones de négociation dynamiques, qui lui permettent de s’adapter aux différentes conditions du marché et de maintenir un taux de victoire élevé. Le système de gestion des risques intégré fournit un cadre de contrôle des risques clair pour chaque transaction grâce à des paramètres de stop loss et de stop loss associés aux zones de négociation.

Cependant, il reste encore de la place pour l’optimisation de la stratégie, en particulier en ce qui concerne le filtrage des tendances, les ajustements de stop-loss dynamiques et l’identification de l’état du marché. La robustesse et la performance à long terme de la stratégie peuvent être encore améliorées en intégrant des indicateurs de tendance, des mesures de volatilité et des indicateurs de l’humeur du marché.

Pour les investisseurs qui souhaitent négocier sur des périodes de temps moyennes (graphiques de 15 minutes), la stratégie offre une méthode de négociation basée sur des règles claires, facile à comprendre et dotée d’un avantage statistique. En comprenant et en appliquant les principes qui la sous-tendent, les traders peuvent obtenir un avantage marginal de cohérence sur le marché.

Code source de la stratégie
/*backtest
start: 2024-04-16 00:00:00
end: 2024-05-09 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("15Min Engulfing Break Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
pipSize = input.float(0.0001, "Pip Size", step=0.0001)
pipOffset = 30 * pipSize

// === FUNCTION: Detect Engulfing Candles ===
isBullishEngulfing() =>
    cond1 = close[1] < open[1]  // previous candle bearish
    cond2 = close > open        // current candle bullish
    cond3 = open < close[1]     // open below previous close
    cond4 = close > open[1]     // close above previous open
    cond1 and cond2 and cond3 and cond4

isBearishEngulfing() =>
    cond1 = close[1] > open[1]  // previous candle bullish
    cond2 = close < open        // current candle bearish
    cond3 = open > close[1]     // open above previous close
    cond4 = close < open[1]     // close below previous open
    cond1 and cond2 and cond3 and cond4

// === VARIABLES TO TRACK ZONES ===
var float buyZoneHigh = na
var float buyZoneLow = na
var float sellZoneHigh = na
var float sellZoneLow = na

// === ARRAYS TO STORE ENGULFING LEVELS ===
var float[] bullHighs = array.new_float()
var float[] bearLows = array.new_float()

// === STORE ENGULFING LEVELS ===
if isBullishEngulfing()
    array.unshift(bullHighs, high)
    if array.size(bullHighs) > 10
        array.pop(bullHighs)

if isBearishEngulfing()
    array.unshift(bearLows, low)
    if array.size(bearLows) > 10
        array.pop(bearLows)

// === CHECK IF BREAKS 2 PRIOR ENGULFINGS ===
breaksTwoBearishEngulfings() =>
    count = 0
    arrSize = array.size(bearLows)
    if arrSize >= 2
        for i = 0 to arrSize - 1
            if high > array.get(bearLows, i)
                count += 1
            if count >= 2
                break
    count >= 2

breaksTwoBullishEngulfings() =>
    count = 0
    arrSize = array.size(bullHighs)
    if arrSize >= 2
        for i = 0 to arrSize - 1
            if low < array.get(bullHighs, i)
                count += 1
            if count >= 2
                break
    count >= 2

// === SET ENGULFING ZONES ===
if isBullishEngulfing() and breaksTwoBearishEngulfings()
    buyZoneHigh := high
    buyZoneLow := low

if isBearishEngulfing() and breaksTwoBullishEngulfings()
    sellZoneHigh := high
    sellZoneLow := low

// === TRADE ENTRIES ===
longCondition = not na(buyZoneHigh) and low <= buyZoneHigh and close > buyZoneLow
shortCondition = not na(sellZoneLow) and high >= sellZoneLow and close < sellZoneHigh

if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", from_entry="Long", stop=buyZoneLow - pipOffset, limit=buyZoneHigh + pipOffset)
    buyZoneHigh := na
    buyZoneLow := na

if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", from_entry="Short", stop=sellZoneHigh + pipOffset, limit=sellZoneLow - pipOffset)
    sellZoneHigh := na
    sellZoneLow := na

// === PLOTTING ===
plotshape(isBullishEngulfing(), style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Bull Engulf")
plotshape(isBearishEngulfing(), style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Bear Engulf")