Stratégie de rupture de tendance en trois étapes et de suivi de la dynamique

HLOC BAR TRINITY PA TA RANGE Trend
Date de création: 2025-02-17 10:53:49 Dernière modification: 2025-02-17 10:53:49
Copier: 0 Nombre de clics: 372
1
Suivre
1617
Abonnés

Stratégie de rupture de tendance en trois étapes et de suivi de la dynamique Based on the provided code, I’ll help create an SEO-friendly article analyzing this trading strategy in both Chinese and English.

Aperçu

Cette stratégie est basée sur l’analyse du comportement des prix (Price Action) et sur la théorie de la division de la ligne K de Bill Williams. Elle permet d’identifier les points de basculement et la continuité des tendances du marché en analysant la relation entre l’ouverture et la fermeture du prix de la ligne K actuelle et la précédente, afin de générer un signal de négociation.

Principe de stratégie

La logique centrale de la stratégie consiste à diviser les zones de fluctuation de chaque ligne K en trois parties, en analysant la position des prix d’ouverture et de clôture dans ces zones pour juger de la tendance du marché. Elle comprend notamment:

  1. K-ligne classification - les lignes K sont classées en plusieurs types selon la position de l’open/closing:
    • Voir aussi: 1-3 (ouverture vers le bas), 2-3 (ouverture vers le haut au milieu), 3-3 (ouverture vers le haut)
    • La forme de l’air: 3-1 (ouvert vers le haut et recouvert vers le bas), 2-1 (ouvert vers le milieu et recouvert vers le bas), 1-1 (ouvert vers le bas et recouvert vers le bas)
  2. Génération de signaux - confirmation de signaux de transaction par une combinaison morphologique de deux lignes K successives:
    • Signaux d’achat: la ligne K précédente est une forme de polymorphisme, la ligne K actuelle est une forme de 1-3 ou 3-3
    • Signal de vente: la ligne K précédente est une forme de vue libre, la ligne K actuelle est une forme de 1-1 ou 3-1
  3. Exécution de la transaction - l’ordre de marché est exécuté automatiquement après le signal de confirmation:
    • Si un signal de vente apparaît, vide le portefeuille et ouvre plus.
    • Lorsque le signal de vente apparaît, éliminez les positions en surplus et laissez-les vacantes

Avantages stratégiques

  1. PRICE DRIVED - entièrement basé sur l’analyse du comportement des prix, évitant le retard des indicateurs techniques
  2. Systématisation des transactions - exécution des transactions par un système de règles bien défini, réduisant les biais de jugement subjectif
  3. Suivi des tendances - capture efficacement les fluctuations importantes des prix et améliore la marge de profit individuelle
  4. Contrôle des risques - amélioration de la fiabilité du signal par l’analyse de deux lignes K en continu
  5. Simple et intuitif - la logique de la stratégie est claire, facile à comprendre et à exécuter

Risque stratégique

  1. Ne s’applique pas aux marchés de tremblement de terre - les faux signaux peuvent être fréquents dans les zones de tremblement de terre
  2. Délai d’entrée - besoin d’attendre la fermeture de la ligne K pour confirmer le signal, peut manquer le meilleur point d’entrée
  3. Gestion insuffisante des fonds - la stratégie elle-même ne contient pas de mécanisme de prévention des pertes et nécessite des mesures de contrôle des risques supplémentaires
  4. Dépendance aux conditions du marché - risque de mauvaise performance dans un environnement de faible liquidité ou de forte volatilité
  5. Sensitivité des paramètres - le choix de la période de ligne K a une influence importante sur la performance de la stratégie

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres de volatilité - pour ajuster dynamiquement la fréquence des transactions dans différents environnements de marché en ajoutant des indicateurs de volatilité tels que l’ATR
  2. Amélioration du contrôle des risques - conception d’un mécanisme d’arrêt des dommages dynamique basé sur la ligne K3
  3. Optimisation de la confirmation du signal - envisager l’introduction d’indicateurs auxiliaires tels que le trafic, le taux d’oscillation pour améliorer la fiabilité du signal
  4. Augmentation de l’analyse des environnements de marché - développement de modules de reconnaissance de l’état du marché qui utilisent différents paramètres de transaction dans différents environnements de marché
  5. Amélioration de la gestion des positions - Adaptation du taux de détention en fonction de l’intensité des signaux et de la dynamique de l’environnement du marché

Résumer

La stratégie établit un système simple et efficace de suivi des tendances en analysant le comportement des prix par une méthode innovante de la ligne K à la troisième place. Bien qu’il y ait certaines limites, il est possible d’obtenir des rendements stables dans un environnement de marché caractérisé par une tendance évidente grâce à des mesures d’optimisation et de contrôle des risques raisonnables. Le principal avantage de la stratégie réside dans sa méthodologie systématique et son analyse approfondie du comportement des prix.

Code source de la stratégie
/*backtest
start: 2025-01-17 00:00:00
end: 2025-02-15 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("TrinityBar", overlay=true, initial_capital=100000, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=200)

//─────────────────────────────────────────────────────────────
// Current Bar Thirds Calculations
//─────────────────────────────────────────────────────────────
cur_range      = high - low
cur_lowerThird = low + cur_range / 3
cur_upperThird = high - cur_range / 3

//─────────────────────────────────────────────────────────────
// Previous Bar Thirds Calculations
//─────────────────────────────────────────────────────────────
prev_range      = high[1] - low[1]
prev_lowerThird = low[1] + prev_range / 3
prev_upperThird = high[1] - prev_range / 3

//─────────────────────────────────────────────────────────────
// Define Bullish Bar Types for Current Bar
//─────────────────────────────────────────────────────────────
is_1_3 = (open <= cur_lowerThird) and (close >= cur_upperThird)
is_3_3 = (open >= cur_upperThird) and (close >= cur_upperThird)
is_2_3 = (open > cur_lowerThird) and (open < cur_upperThird) and (close >= cur_upperThird)

//─────────────────────────────────────────────────────────────
// Define Bearish Bar Types for Current Bar
//─────────────────────────────────────────────────────────────
is_3_1 = (open >= cur_upperThird) and (close <= cur_lowerThird)
is_1_1 = (open <= cur_lowerThird) and (close <= cur_lowerThird)
is_2_1 = (open > cur_lowerThird) and (open < cur_upperThird) and (close <= cur_lowerThird)

//─────────────────────────────────────────────────────────────
// Define Bullish Bar Types for Previous Bar
//─────────────────────────────────────────────────────────────
prev_is_1_3 = (open[1] <= prev_lowerThird) and (close[1] >= prev_upperThird)
prev_is_3_3 = (open[1] >= prev_upperThird) and (close[1] >= prev_upperThird)
prev_is_2_3 = (open[1] > prev_lowerThird) and (open[1] < prev_upperThird) and (close[1] >= prev_upperThird)

//─────────────────────────────────────────────────────────────
// Define Bearish Bar Types for Previous Bar
//─────────────────────────────────────────────────────────────
prev_is_3_1 = (open[1] >= prev_upperThird) and (close[1] <= prev_lowerThird)
prev_is_1_1 = (open[1] <= prev_lowerThird) and (close[1] <= prev_lowerThird)
prev_is_2_1 = (open[1] > prev_lowerThird) and (open[1] < prev_upperThird) and (close[1] <= prev_lowerThird)

//─────────────────────────────────────────────────────────────
// Valid Signal Conditions
//─────────────────────────────────────────────────────────────
// Bullish Signal: If the previous bar is any bullish type (2‑3, 3‑3, or 1‑3)
// and the current bar is either a 1‑3 or a 3‑3 bar.
validBuy = (prev_is_2_3 or prev_is_3_3 or prev_is_1_3) and (is_1_3 or is_3_3)

// Bearish Signal: If the previous bar is any bearish type (2‑1, 1‑1, or 3‑1)
// and the current bar is either a 1‑1 or a 3‑1 bar.
validSell = (prev_is_2_1 or prev_is_1_1 or prev_is_3_1) and (is_1_1 or is_3_1)

//─────────────────────────────────────────────────────────────
// Plot Only the Signal Triangles
//─────────────────────────────────────────────────────────────
plotshape(validBuy, title="Valid Buy", style=shape.triangleup, location=location.belowbar, 
     color=color.green, size=size.small, text="B")
plotshape(validSell, title="Valid Sell", style=shape.triangledown, location=location.abovebar, 
     color=color.red, size=size.small, text="S")

//─────────────────────────────────────────────────────────────
// Market Order Execution Based on Signals
//─────────────────────────────────────────────────────────────
if validBuy
    // Close any short positions.
    strategy.close("Short", comment="")
    // If not already long, enter a market long.
    if strategy.position_size <= 0
        strategy.entry("Long", strategy.long, comment="")
        
if validSell
    // Close any long positions.
    strategy.close("Long", comment="")
    // If not already short, enter a market short.
    if strategy.position_size >= 0
        strategy.entry("Short", strategy.short, comment="")