Il s'agit d'une stratégie de négociation quantitative croisée EMA. Elle utilise deux EMA avec des périodes différentes comme signaux de négociation, en allant long lorsque l'EMA de la période plus courte traverse l'EMA de la période plus longue et en allant court lorsque l'EMA de la période plus courte traverse en dessous de l'EMA de la période plus longue.
Cette stratégie utilise la croix d'or et la croix de la mort des EMA comme signaux de trading. Plus précisément, elle calcule respectivement l'EMA à plus courte période et l'EMA à plus longue période. Lorsque l'EMA à plus courte période traverse l'EMA à plus longue période, elle génère un signal d'achat pour aller long. Lorsque l'EMA à plus courte période traverse en dessous de l'EMA à plus longue période, elle génère un signal de vente pour aller court. Ainsi, les tendances mobiles des EMA déterminent les directions de trading.
Après avoir entré des positions, la stratégie définit également un stop loss et un take profit simultanément. Le stop loss est un certain pourcentage du prix d'entrée en tant que ligne de stop loss. Si le prix touche la ligne de stop loss, il sortira de la position pour le stop loss. Le take profit est un certain pourcentage du prix d'entrée en tant que ligne de take profit. Si le prix touche la ligne de take profit, il sortira de la position pour le take profit.
Cette stratégie permet également de choisir uniquement le long, uniquement le court, le trading intraday ou le trading de position.
Cette stratégie présente les avantages suivants:
Utilisation de l'indicateur EMA pour filtrer les bruits et détecter les tendances à moyen et long terme en douceur.
Adoption des croisements EMA entre des périodes plus courtes et plus longues comme signaux de négociation pour éviter une sur- négociation.
Mettre un stop-loss et un profit pour contrôler le rapport risque-rendement de chaque transaction, ce qui est bon pour la gestion de l'argent.
Permettre uniquement les opérations longues, courtes, intraday et de position pour les différents types de traders.
Prise en charge de plusieurs actifs de négociation tels que des actions, des devises, des crypto-monnaies, etc.
Cette stratégie comporte également des risques potentiels:
L'indicateur EMA a un effet de retard et peut manquer certains tournants de tendance à court terme.
Des choix inappropriés de périodes EMA plus courtes et plus longues peuvent provoquer des signaux de négociation désordonnés.
La détention de positions trop longue peut entraîner des fluctuations plus importantes du marché.
Le stop loss mécanique et le take profit peuvent permettre de quitter les positions trop tôt ou de réduire prématurément les bénéfices.
Les mesures de gestion des risques correspondantes:
Optimiser les paramètres EMA pour trouver la meilleure combinaison de périodes.
Ajouter d'autres indicateurs à titre de jugement auxiliaire.
Ajustez dynamiquement le stop loss et le profit.
Intervenir manuellement dans des conditions de marché inhabituelles.
Cette stratégie peut être optimisée dans les aspects suivants:
Optimisation optimale des paramètres de l'EMA afin de trouver des combinaisons de périodes plus courtes et plus longues appropriées pour différents actifs négociés.
Ajouter d'autres indicateurs comme MACD, KD pour une synergie multi-indicateur.
Ajoutez des modèles d'apprentissage automatique pour générer un stop loss dynamique et un profit.
Connectez des indicateurs RISK plus avancés pour l'ingénierie des caractéristiques.
Ajouter des composants de trading adaptatifs pour l'auto-optimisation des paramètres.
En résumé, il s'agit d'une excellente tendance suivant le modèle de stratégie. Sa force principale réside dans l'utilisation de l'indicateur EMA pour filtrer les bruits et réaliser des profits stables, tout en possédant une gestion complète du risque-rendement.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy by Vikrant Singh", overlay=true) // Input for EMA Lengths var bool runningPOS = false var float stopLossLevel = na var float targetLevel = na shortLength = input(11, title="Short EMA Length") longLength = input(21, title="Long EMA Length") // Input for Stop-Loss and Target stopLossPct = input(1, title="Stop-Loss (%)") targetPct = input(3, title="Target (%)") longOnly = input(true, title="Long Only") intraDay = input(true, title="intraday?") // Calculate EMAs emaShort = ta.ema(close, shortLength) emaLong = ta.ema(close, longLength) // Calculate crossover conditions crossoverCondition = ta.crossover(emaShort, emaLong) crossunderCondition = ta.crossunder(emaShort, emaLong) // Entry condition (long position just before crossover) if crossoverCondition and not runningPOS and longOnly and (hour <= 15) strategy.entry("Long", strategy.long) runningPOS := true stopLossLevel := close * (1 - stopLossPct / 100) targetLevel := close * (1 + targetPct / 100) //Entry condition (short position just before crossover) if crossunderCondition and not runningPOS and not longOnly and (hour <= 15) strategy.entry("Short", strategy.short) runningPOS := true stopLossLevel := close * (1 + stopLossPct / 100) targetLevel := close * (1 - targetPct / 100) // Exit conditions (square off on reverse crossover) //Exit long if (crossunderCondition or (low < stopLossLevel) or (high > targetLevel) ) and longOnly and runningPOS strategy.close("Long",comment = "Exit long")// ("Long", from_entry="Long",stop=stopLossLevel, limit=targetLevel) runningPOS := false //Exit short if (crossoverCondition or (high > stopLossLevel) or (low < targetLevel) ) and not longOnly and runningPOS strategy.close("Short", comment = "Exit Short") runningPOS := false if intraDay and runningPOS if (hour >= 15) strategy.close_all(comment = "Intraday square off") //strategy.close("Long",comment = "intraday square off") runningPOS := false // Plot EMAs plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA")