Les ressources ont été chargées... Je charge...

Tendance ATR dynamique suivant une stratégie basée sur une rupture de soutien

Auteur:ChaoZhang est là., Date: 2024-12-12 17h26
Les étiquettes:ATRLe taux d'intérêtLe SMC

img

Résumé

Il s'agit d'une stratégie dynamique de suivi de la tendance ATR basée sur une rupture de support. La stratégie intègre le système EMA, l'indicateur de volatilité ATR et le concept d'argent intelligent (SMC) pour capturer les tendances du marché.

Principe de stratégie

La stratégie repose sur plusieurs éléments essentiels:

  1. Utilise le système EMA à 50 et 200 périodes pour confirmer l'orientation de la tendance du marché
  2. Utilise l'indicateur ATR pour ajuster dynamiquement les objectifs de stop-loss et de profit
  3. Analyse des blocs d'ordre et des zones de déséquilibre pour trouver les points d'entrée optimaux
  4. Calcule automatiquement la taille de la position en fonction du pourcentage de risque du compte
  5. Détermine la consolidation du marché en observant la fourchette de prix des 20 dernières bougies

Les avantages de la stratégie

  1. Gestion complète des risques par le calcul dynamique
  2. Système fiable d'identification des tendances qui évite les marchés de consolidation
  3. Réglage raisonnable des arrêts-pertes et des prises de bénéfices avec ratio risque/rendement 1:3
  4. S'adapte bien aux différentes conditions du marché
  5. Structure de code claire, facile à maintenir et à optimiser

Risques stratégiques

  1. Les indicateurs EMA présentent un décalage inhérent, ce qui pourrait retarder les points d'entrée
  2. Peut générer de faux signaux sur des marchés très volatils
  3. La stratégie dépend de la poursuite de la tendance, peut être sous-performante sur divers marchés
  4. Le placement à stop-loss large peut entraîner des pertes plus importantes dans certaines situations

Directions d'optimisation

  1. Incorporer une analyse de la relation volume-prix pour améliorer l'identification des tendances
  2. Ajouter des indicateurs de sentiment du marché pour optimiser le calendrier d'entrée
  3. Considérer l'analyse de plusieurs délais pour améliorer la stabilité du système
  4. Critères d'identification des blocs de commandes et des zones de déséquilibre
  5. Optimiser la méthode de stop-loss, envisager la mise en œuvre de trailing stops

Résumé

Cette stratégie est un système global de suivi des tendances qui permet d'atteindre la stabilité du trading grâce à une bonne gestion des risques et à la confirmation de plusieurs signaux.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// TradingView Pine Script strategy for Smart Money Concept (SMC)
//@version=5
strategy("Smart Money Concept Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=100)

// === Input Parameters ===
input_risk_percentage = input.float(1, title="Risk Percentage", step=0.1)
input_atr_length = input.int(14, title="ATR Length")
input_ema_short = input.int(50, title="EMA Short")
input_ema_long = input.int(200, title="EMA Long")

// === Calculations ===
atr = ta.atr(input_atr_length)
ema_short = ta.ema(close, input_ema_short)
ema_long = ta.ema(close, input_ema_long)

// === Utility Functions ===
// Identify Order Blocks
is_order_block(price, direction) =>
    ((high[1] > high[2] and low[1] > low[2] and direction == 1) or (high[1] < high[2] and low[1] < low[2] and direction == -1))

// Identify Imbalance Zones
is_imbalance() =>
    range_high = high[1]
    range_low = low[1]
    range_high > close and range_low < close

// Calculate Lot Size Based on Risk
calculate_lot_size(stop_loss_points, account_balance) =>
    risk_amount = account_balance * (input_risk_percentage / 100)
    lot_size = risk_amount / (stop_loss_points * syminfo.pointvalue)
    lot_size

// Determine if Market is Consolidating
is_consolidating() =>
    (ta.highest(high, 20) - ta.lowest(low, 20)) / atr < 2

// === Visual Enhancements ===
// Plot Order Blocks
// if is_order_block(close, 1)
//     line.new(x1=bar_index[1], y1=low[1], x2=bar_index, y2=low[1], color=color.green, width=2, extend=extend.right)
// if is_order_block(close, -1)
//     line.new(x1=bar_index[1], y1=high[1], x2=bar_index, y2=high[1], color=color.red, width=2, extend=extend.right)

// Highlight Imbalance Zones
// if is_imbalance()
//     box.new(left=bar_index[1], top=high[1], right=bar_index, bottom=low[1], bgcolor=color.new(color.orange, 80))

// === Logic for Trend Confirmation ===
is_bullish_trend = ema_short > ema_long
is_bearish_trend = ema_short < ema_long

// === Entry Logic ===
account_balance = strategy.equity
if not is_consolidating()
    if is_bullish_trend
        stop_loss = close - atr * 2
        take_profit = close + (math.abs(close - (close - atr * 2)) * 3)
        stop_loss_points = math.abs(close - stop_loss) / syminfo.pointvalue
        lot_size = calculate_lot_size(stop_loss_points, account_balance)
        strategy.entry("Buy", strategy.long, qty=lot_size)
        strategy.exit("TP/SL", "Buy", stop=stop_loss, limit=take_profit)

    if is_bearish_trend
        stop_loss = close + atr * 2
        take_profit = close - (math.abs(close - (close + atr * 2)) * 3)
        stop_loss_points = math.abs(close - stop_loss) / syminfo.pointvalue
        lot_size = calculate_lot_size(stop_loss_points, account_balance)
        strategy.entry("Sell", strategy.short, qty=lot_size)
        strategy.exit("TP/SL", "Sell", stop=stop_loss, limit=take_profit)

// === Plotting Indicators ===
plot(ema_short, color=color.blue, title="EMA 50")
plot(ema_long, color=color.orange, title="EMA 200")
plotshape(series=is_bullish_trend and not is_consolidating(), style=shape.triangleup, location=location.belowbar, color=color.green, text="Buy")
plotshape(series=is_bearish_trend and not is_consolidating(), style=shape.triangledown, location=location.abovebar, color=color.red, text="Sell")


Relationnée

Plus de