Stratégie de suivi de tendance à moyenne mobile double dynamique

EMA MA BREAKOUT
Date de création: 2025-02-24 09:33:11 Dernière modification: 2025-02-27 16:50:42
Copier: 1 Nombre de clics: 347
2
Suivre
319
Abonnés

Stratégie de suivi de tendance à moyenne mobile double dynamique Stratégie de suivi de tendance à moyenne mobile double dynamique

Aperçu

La stratégie est un système de trading de suivi de tendance basé sur une moyenne mobile à deux indices (EMA). La stratégie utilise deux lignes EMA de 44 cycles et 200 cycles, combinées à des signaux de rupture de prix pour déterminer la direction de la transaction.

Principe de stratégie

La logique centrale de la stratégie est basée sur l’interaction du prix avec les lignes de double EMA. L’EMA à 44 cycles est utilisée pour former des canaux ascendants et descendants pour les prix les plus élevés et les plus bas, respectivement, et l’EMA à 200 cycles est utilisé comme filtre de tendance à long terme.

Avantages stratégiques

  1. La logique de suivi des tendances est claire et fournit une confirmation de tendance fiable via le double canal EMA et le filtrage de la moyenne à long terme
  2. Options de négociation flexibles, avec une option de faire plus, de faire moins ou de négocier dans les deux sens
  3. Des mécanismes de contrôle des risques complets comprenant des calculs de positions dynamiques et des arrêts mobiles
  4. Les paramètres sont adaptables et peuvent être optimisés pour différents environnements de marché
  5. Le processus de calcul est simple et efficace pour l’exécution de transactions en temps réel.

Risque stratégique

  1. Les EMA sont retardés et peuvent produire des signaux de retard dans des marchés très volatils.
  2. Le classement horizontal des marchés pourrait générer de fréquents signaux de fausses ruptures
  3. Les paramètres de stop-loss peuvent être trop larges dans un mouvement de retournement rapide, entraînant un retrait plus important.
  4. Le calcul de la position dépend de la volatilité des prix et peut générer des positions excessives dans un environnement à forte volatilité.

Orientation de l’optimisation de la stratégie

  1. Augmentation des indicateurs de confirmation des transactions et amélioration de la fiabilité des signaux de rupture
  2. Introduction d’un mécanisme d’adaptation au taux de volatilité et d’ajustement dynamique des paramètres EMA
  3. Optimisation des mécanismes de coupe des pertes et possibilité d’introduction de coupe dynamique ATR
  4. Ajout de la gestion des objectifs de revenus et mise en place d’un arrêt mobile dynamique
  5. Augmentation des filtres d’environnement de marché pour identifier les états de marché qui ne conviennent pas à la négociation

Résumer

Il s’agit d’une stratégie de suivi de tendance structurée et logiquement claire. Elle fournit des signaux de négociation via un double canal EMA et un filtrage de tendance à long terme, avec un mécanisme de gestion des risques parfait.

Code source de la stratégie
/*backtest
start: 2024-02-25 00:00:00
end: 2024-03-17 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("RENTABLE Dual EMA Breakout TSLA ", overlay=true)

// Inputs for EMA lengths and risk per trade
length = input(44, title="EMA Length")
longTermLength = input(200, title="Long-Term EMA Length")
riskPerTrade = input.float(1.0, title="Risk per Trade (%)", minval=0.1, maxval=10.0)

// Additional inputs for strategy customization
useFilter = input.bool(true, title="Use 200 EMA Filter")
tradeDirection = input.string("Both", title="Trade Direction", options=["Long", "Short", "Both"])

// EMAs based on the high and low prices and long-term EMA
emaHigh = ta.ema(high, length)
emaLow = ta.ema(low, length)
ema200 = ta.ema(close, longTermLength)

// Plotting EMAs on the chart
plot(emaHigh, color=color.green, title="High EMA")
plot(emaLow, color=color.red, title="Low EMA")
plot(ema200, color=color.blue, title="200 EMA")

// Entry conditions with optional EMA filter
longCondition = close > emaHigh and (useFilter ? close > ema200 : true)
shortCondition = close < emaLow and (useFilter ? close < ema200 : true)

// Calculating stop-loss and position size
longStop = emaLow
shortStop = emaHigh
riskPerShareLong = close - longStop
riskPerShareShort = shortStop - close
equity = strategy.equity

// Ensure risk per share is positive for calculations
riskPerShareLong := riskPerShareLong > 0 ? riskPerShareLong : 0.01
riskPerShareShort := riskPerShareShort > 0 ? riskPerShareShort : 0.01

positionSizeLong = (equity * riskPerTrade / 100) / riskPerShareLong
positionSizeShort = (equity * riskPerTrade / 100) / riskPerShareShort

// Ensure position sizes are positive before entering trades
if (longCondition and (tradeDirection == "Long" or tradeDirection == "Both") and positionSizeLong > 0)
    strategy.entry("Long", strategy.long, qty= positionSizeLong)
if (shortCondition and (tradeDirection == "Short" or tradeDirection == "Both") and positionSizeShort > 0)
    strategy.entry("Short", strategy.short, qty=positionSizeShort)

// Applying the stop-loss to strategy
strategy.exit("Exit Long", "Long", stop=longStop)
strategy.exit("Exit Short", "Short", stop=shortStop) 
////Usar en  1,2 3 4 HRS TSLA