Stratégie d'interconnexion méticuleuse de l'EMA

Auteur:ChaoZhang est là., Date: 2023-12-20 14h28 et 36 min
Les étiquettes:

img

Résumé

La Méticuleuse EMA Crossover Strategy est un système de trading de tendance basé sur les signaux de croisement entre deux lignes moyennes mobiles exponentielles (EMAs) avec des paramètres différents. Il utilise une ligne EMA rapide à courte période et une ligne EMA lente à plus longue période et génère des signaux de trading lorsqu'elles se croisent. Un signal long est déclenché lorsque la ligne rapide traverse au-dessus de la ligne lente, et un signal de position proche est déclenché lorsque la ligne rapide traverse en dessous de la ligne lente. Ce système intègre également des moyens de gestion des risques tels que le stop loss, le trailing stop pour verrouiller les profits et contrôler les risques.

Principes de stratégie

Les indicateurs de base de cette stratégie sont deux lignes EMA: la ligne rapide et la ligne lente. Le paramètre de la ligne rapide est défini par défaut sur une ligne de 13 périodes pour une réaction plus rapide aux changements de prix. Le paramètre de la ligne lente est défini par défaut sur une ligne de 48 périodes pour des réponses plus lentes. Lorsque la tendance à court terme augmente rapidement, la ligne rapide s'élèvera devant la ligne lente. Et lorsque les prix baissent, la ligne rapide baissera plus rapidement que la ligne lente. Par conséquent, la ligne rapide qui traverse au-dessus de la ligne lente signale une tendance à la hausse et la ligne rapide qui traverse en dessous de la ligne lente signale un renversement à la baisse.

En fonction de ce principe, la stratégie est longue lorsque la ligne EMA rapide traverse au-dessus de la ligne EMA lente, ce qui indique une tendance à la hausse afin que vous puissiez acheter. Lorsque la ligne rapide traverse au-dessous de la ligne lente, elle ferme les positions, montrant la fin de la tendance à la hausse et le temps de prendre des bénéfices. Pour contrôler les risques, la stratégie définit également un stop-loss initial à 8% en dessous du prix d'entrée et un stop de trailing par défaut à 120 points du prix du marché. Cela permet au système de sortir tôt et de minimiser les pertes en cas d'inversion de tendance.

Dans la mise en œuvre du codage, les fonctions crossover et crossunder sont utilisées pour déterminer les signaux crossover EMA. Les commandes entry et close correspondantes seront alors déclenchées pour acheter ou fermer des positions.

Analyse des avantages

La stratégie de croisement méticuleuse de l'EMA présente les principaux avantages suivants:

  1. Les signaux sont simples et clairs, faciles à comprendre et à mettre en œuvre.

  2. Le filtre MA peut détecter les changements de tendance avec moins de bruit de marché.

  3. Paramètres hautement configurables sur les lignes EMA rapides/lentes, les niveaux de stop loss, etc.

  4. Le stop loss signifie contrôler efficacement les risques.

  5. Système relativement stable dans différentes conditions de marché.

Analyse des risques

Cette stratégie comporte également certains risques inhérents:

  1. Les signaux de l'EMA peuvent être retardés lors de fortes fluctuations du marché, incapables de refléter les variations de prix en temps opportun.

  2. Un réglage trop rapide des paramètres des indicateurs MA peut produire davantage de faux signaux.

  3. Les tendances faibles des prix peuvent générer moins de croisements de la EMA et donc ne pas être en mesure de capturer les mouvements.

  4. Aucune analyse des tendances globales du marché ne signifie aller à l'encontre de la tendance principale.

Les risques peuvent être atténués par:

  1. Ajout de filtres comme MACD et KD pour confirmer les signaux croisés.

  2. Ajustez les paramètres de l'EMA en fonction des différents marchés afin de réduire les faux signaux.

  3. Incorporer une analyse de l'évolution globale basée sur des moyennes mobiles à long terme.

Directions d'optimisation

La stratégie peut être améliorée à partir des aspects suivants:

  1. L'ajout de filtres de position ouverte pour éviter une survente sur les marchés à plage peut combiner des indicateurs de volatilité et de volume pour définir le seuil d'ouverture de position.

  2. Définissez les niveaux de stop loss et de profit basés sur les niveaux de swing high/low et les zones de support/résistance pour une meilleure précision.

  3. Ajouter un module de tendance pour analyser les tendances à plus long terme comme filtres pour les signaux à court terme, en évitant de négocier contre les tendances majeures.

  4. Utiliser l'apprentissage automatique pour former et optimiser les paramètres EMA idéaux adaptés aux marchés pratiques afin de réduire les faux signaux.

Les principales orientations pour améliorer cette stratégie transversale de base de l'EMA à l'avenir sont les suivantes: une combinaison appropriée d'indicateurs plus techniques et de moyens de gestion des risques peut certainement améliorer l'efficacité de la stratégie.

Conclusion

La Méticuleuse EMA Crossover Strategy est un système fondamental de suivi des tendances basé sur des croisements rapides et lents de la ligne EMA pour déterminer les tendances des prix et intègre un stop loss pour contrôler les risques. Ses signaux sont simples et propres, faciles à comprendre pour les débutants, ce qui en fait l'une des stratégies de quantité de démarrage typiques. Mais des délais inhérents et des risques de faux signaux existent.


/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// *** USE AT YOUR OWN RISK ***
// 
strategy("EMA Strategy", shorttitle = "EMA Strategy", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)

// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop     = input(defval = true, title = "Use Initial Stop Loss?")
slPoints    = input(defval = 25, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 120, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 20, title = "Trail Offset Points", minval = 1)

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.08)



Plus de