- Carré
- Stratégie de négociation d'évolution de tendance multi-EMA avec gestion des risques basée sur ATR
Stratégie de négociation d'évolution de tendance multi-EMA avec gestion des risques basée sur ATR
Auteur:
ChaoZhang est là., Date: 2024-12-20 à 17h06
Les étiquettes:
Le taux d'intérêtATR
Résumé
Cette stratégie est un système de négociation basé sur plusieurs moyennes mobiles exponentielles (EMA) et moyenne vraie plage (ATR). Elle utilise trois EMA (20, 50 et 100 périodes) en conjonction avec ATR pour une gestion dynamique des risques et un ciblage des bénéfices.
Principes de stratégie
La logique de base est basée sur l'interaction entre le prix et plusieurs EMA:
- Les signaux d'entrée sont basés sur des croisements de prix avec l'EMA à 20 périodes, filtrés par l'EMA à 50 périodes
- Conditions d'entrée longues: les prix dépassent 20 EMA et dépassent 50 EMA
- Conditions d'entrée à court terme: les prix passent sous la 20e EMA et sont inférieurs à la 50e EMA
- Le montant de l'obligation de dépôt de garantie est calculé sur la base de la valeur de la garantie.
- Objectif de profit: utilise un ratio risque/rendement de 1,5, en fixant des objectifs de profit à 1,5 fois la distance stop-loss
Les avantages de la stratégie
- Validation à plusieurs délais: utilise des EMA 20/50/100 pour réduire les faux signaux
- Gestion dynamique des risques: les arrêts basés sur l'ATR assurent un contrôle des risques adapté au marché
- Rapport risque/rendement clair: un taux fixe de 1,5 R/R favorise la rentabilité à long terme
- Combine le suivi des tendances avec le swing trading: Capture les principales tendances et les opportunités à court terme
- Signaux de trading visualisés: fournit une interface graphique claire pour une meilleure compréhension et une meilleure exécution
Risques stratégiques
- Risque de volatilité du marché: peut générer de fréquents faux signaux de rupture lors de la consolidation
- Risque de glissement: les prix d'exécution réels peuvent différer des prix de signaux lors de mouvements rapides du marché
- Risque d'inversion de tendance: des inversions soudaines de tendance peuvent entraîner des pertes importantes
- Risque d'optimisation des paramètres: une optimisation excessive peut entraîner de mauvaises performances dans le monde réel
Directions d'optimisation
- Incorporer des indicateurs de volume: utiliser le volume pour confirmer la validité de l'écart de prix
- Ajouter des filtres de force de tendance: prendre en compte l'ADX ou des indicateurs similaires pour améliorer la qualité d'entrée
- Optimiser la méthode de stop-loss: envisager la mise en œuvre de trailing stops pour une meilleure protection des bénéfices
- Classification de l'environnement de marché: ajustement des paramètres en fonction des différentes conditions du marché
- Ajouter des filtres de volatilité: suspendre la négociation en cas de volatilité excessive du marché
Résumé
Cette stratégie combine plusieurs EMA et un contrôle dynamique des risques basé sur l'ATR pour créer un système de trading qui présente à la fois des caractéristiques de suivi de tendance et de swing trading.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("EMA Swing Strategy with ATR", overlay=true)
// Inputs
emaShort = input.int(20, "Short EMA")
emaMid = input.int(50, "Mid EMA")
emaLong = input.int(100, "Long EMA")
rrRatio = input.float(1.5, "Risk-Reward Ratio")
contracts = input.int(5, "Number of Contracts")
// Calculations
ema20 = ta.ema(close, emaShort)
ema50 = ta.ema(close, emaMid)
ema100 = ta.ema(close, emaLong)
atr = ta.atr(14)
// Conditions
longCondition = ta.crossover(close, ema20) and close > ema50
shortCondition = ta.crossunder(close, ema20) and close < ema50
// Variables for trades
var float entryPrice = na
var float stopLoss = na
var float takeProfit = na
// Long Trades
if (longCondition)
entryPrice := close
stopLoss := close - atr
takeProfit := close + atr * rrRatio
strategy.entry("Long", strategy.long, contracts)
strategy.exit("Exit Long", from_entry="Long", stop=stopLoss, limit=takeProfit)
// Short Trades
if (shortCondition)
entryPrice := close
stopLoss := close + atr
takeProfit := close - atr * rrRatio
strategy.entry("Short", strategy.short, contracts)
strategy.exit("Exit Short", from_entry="Short", stop=stopLoss, limit=takeProfit)
// Plot EMAs
plot(ema20, color=color.green, title="EMA 20")
plot(ema50, color=color.red, title="EMA 50")
plot(ema100, color=color.white, title="EMA 100")
// Visualization for Entries
plotshape(series=longCondition, style=shape.labelup, color=color.green, location=location.belowbar, title="Long Entry")
plotshape(series=shortCondition, style=shape.labeldown, color=color.red, location=location.abovebar, title="Short Entry")
Relationnée
Plus de