Stratégie de trading CPR Breakout Momentum à plusieurs périodes de temps

CPR EMA RSI BC TC SMA MA
Date de création: 2025-02-21 11:45:06 Dernière modification: 2025-02-21 11:45:06
Copier: 1 Nombre de clics: 454
2
Suivre
319
Abonnés

Stratégie de trading CPR Breakout Momentum à plusieurs périodes de temps Stratégie de trading CPR Breakout Momentum à plusieurs périodes de temps

Aperçu

Cette stratégie est un système de négociation basé sur l’analyse de plusieurs périodes de temps, utilisant principalement la fourchette de prix centrale (CPR), l’indice des moyennes mobiles (EMA) et l’indicateur de force relative (RSI). La stratégie identifie les tendances du marché et les points de résistance de soutien clés à travers les niveaux de CPR du jour, le prix d’ouverture hebdomadaire et l’EMA de 20 cycles, et combine la confirmation de la transaction pour effectuer des transactions.

Principe de stratégie

Le cœur de la stratégie est de rechercher des opportunités de trading en analysant la relation entre le prix et le niveau de CPR. La CPR se compose d’un pivot, d’un centre inférieur et d’un centre supérieur. Lorsque le prix franchit TC et que le marché est à plusieurs têtes, le système émet plusieurs signaux; lorsque le prix franchit BC et que le marché est à vide, le système émet un signal vide.

Avantages stratégiques

  1. Mécanisme de confirmation multiple: une triple confirmation combinant le comportement des prix, la direction des tendances et le volume des transactions, améliore la fiabilité des signaux de négociation
  2. Gestion dynamique des risques: arrêt dynamique des pertes basé sur la largeur du CPR, adapté aux différentes conditions du marché
  3. Options de personnalisation flexibles: cycle de CPR, durée des EMA et confirmation de déviation RSI activée/arrêtée
  4. Asymétrie des gains: un ratio de gains/risques de 1,5:1 améliore la rentabilité à long terme
  5. Analyse multi-périodes: offre une vue plus complète du marché en intégrant les données de jour et de jour

Risque stratégique

  1. Risque de fausse rupture: Faux signaux de rupture peuvent survenir dans des marchés en crise, il est recommandé d’utiliser des conditions de filtrage de volume plus strictes
  2. Risque de renversement de tendance: il peut y avoir des retraits plus importants à des points de renversement de tendance, le risque peut être contrôlé en réduisant la zone de stop loss
  3. Sensitivité des paramètres: la performance de la stratégie est sensible à des paramètres tels que la longueur de l’EMA et la chute de la quantité de transaction, nécessitant une optimisation périodique
  4. Dépendance aux conditions du marché: le rapport bénéfice-risque peut être difficile à atteindre dans un environnement à faible volatilité
  5. Points de glissement d’exécution: les points de glissement peuvent être plus importants dans des conditions rapides, ce qui affecte l’efficacité des transactions réelles.

Orientation de l’optimisation de la stratégie

  1. Introduction d’un mécanisme d’adaptation à la volatilité: les objectifs de stop-loss et de profit sont ajustés en fonction de la dynamique de la volatilité du marché
  2. Augmentation de la classification des états du marché: segmentation des tendances et regroupement des marchés, avec différents paramètres de transaction
  3. Optimiser les filtres de trafic: prendre en compte les variations de trafic par rapport à une simple comparaison de moyenne
  4. Amélioration du mécanisme de sortie: augmentation des stop-loss mobiles et des gains partiels
  5. Ajout de filtres temporels: évitez de négocier pendant des périodes spécifiques, telles que les périodes de forte volatilité avant et après l’ouverture et la fermeture du marché

Résumer

Il s’agit d’une stratégie de suivi de tendance structurée et logiquement claire, qui maîtrise efficacement le risque de négociation grâce à l’utilisation combinée de plusieurs indicateurs techniques. Le principal avantage de la stratégie réside dans sa configuration de paramètres flexibles et son mécanisme de gestion du risque parfait, mais elle nécessite également que les traders suivent les changements de l’environnement du marché et ajustent les paramètres de la stratégie en temps opportun.

Code source de la stratégie
//@version=5
strategy("Ahmad Ali Khan CPR Strategy", overlay=true, margin_long=100, margin_short=100)

// ———— Inputs ————
use_daily_cpr = input.bool(true, "Use Daily CPR Levels")
ema_length = input.int(20, "EMA Trend Filter Length")
show_week_open = input.bool(true, "Show Weekly Open Price")
enable_divergence = input.bool(true, "Enable RSI Divergence Check")

// ———— Daily CPR Calculation ————
daily_high = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
daily_low = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
daily_close = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)

pivot = (daily_high + daily_low + daily_close) / 3
bc = (daily_high + daily_low) / 2
tc = pivot + (pivot - bc)

// ———— Weekly Open Price ————
weekly_open = request.security(syminfo.tickerid, "W", open, lookahead=barmerge.lookahead_on)

// ———— Trend Analysis ————
ema_trend = ta.ema(close, ema_length)
market_phase = close > ema_trend ? "Bullish" : "Bearish"

// ———— Momentum Confirmation ————
rsi_length = 14
rsi = ta.rsi(close, rsi_length)
bullish_div = ta.valuewhen(ta.crossover(rsi, 30), low, 0) > ta.valuewhen(ta.crossover(rsi, 30), low, 1)
bearish_div = ta.valuewhen(ta.crossunder(rsi, 70), high, 0) < ta.valuewhen(ta.crossunder(rsi, 70), high, 1)

// ———— Plotting ————
// CPR Levels
plot(pivot, "Pivot", color=color.blue, linewidth=2)
plot(bc, "BC", color=color.red, linewidth=2)
plot(tc, "TC", color=color.green, linewidth=2)
fill(plot(bc), plot(tc), color=color.new(color.purple, 90))

// Weekly Open
plot(show_week_open ? weekly_open : na, "Weekly Open", color=color.orange, linewidth=2)

// EMA Trend
plot(ema_trend, "EMA Trend", color=color.white, linewidth=2)

// ———— Strategy Logic ————
long_condition = 
  close > tc and 
  market_phase == "Bullish" and 
  (not enable_divergence or bullish_div) and
  volume > ta.sma(volume, 20)

short_condition = 
  close < bc and 
  market_phase == "Bearish" and 
  (not enable_divergence or bearish_div) and
  volume > ta.sma(volume, 20)

// ———— Risk Management ————
cpr_width = tc - bc
stop_loss_long = bc - (0.5 * cpr_width)
take_profit_long = tc + (1.5 * cpr_width)
stop_loss_short = tc + (0.5 * cpr_width)
take_profit_short = bc - (1.5 * cpr_width)

// ———— Execute Orders ————
if long_condition
    strategy.entry("Long", strategy.long)
    strategy.exit("XL", "Long", stop=stop_loss_long, limit=take_profit_long)
    
if short_condition
    strategy.entry("Short", strategy.short)
    strategy.exit("XS", "Short", stop=stop_loss_short, limit=take_profit_short)

// ———— Signal Plotting ————
plotshape(long_condition, "Buy", shape.labelup, location.belowbar, color=color.green, text="BUY", textcolor=color.white)
plotshape(short_condition, "Sell", shape.labeldown, location.abovebar, color=color.red, text="SELL", textcolor=color.white)