Cette stratégie génère des signaux d'entrée et de sortie en calculant la moyenne mobile exponentielle de l'EMA et l'indicateur MACD et en combinant les signaux de croisement des deux.
Cette stratégie utilise la moyenne mobile exponentielle de l'EMA pour déterminer la direction de la tendance actuelle. En même temps, elle utilise le croisement de la moyenne mobile de l'indicateur MACD pour générer des signaux de trading. Ce n'est que lorsque le prix franchit la ligne EMA que les signaux de croix dorée et de croix de mort MACD seront considérés. Cela évite de faux signaux.
La stratégie est principalement basée sur les avantages des stratégies de négociation moyennes mobiles et des stratégies de négociation MACD. La moyenne mobile peut juger assez bien de la direction de la tendance. Les croisements de ligne rapides et lents de la moyenne mobile exponentielle MACD peuvent indiquer des points d'achat et de vente.
Cette stratégie combine les deux indicateurs EMA et MACD pour filtrer efficacement certains faux signaux et améliorer la qualité du signal. En même temps, l'EMA juge la tendance principale et le MACD juge les points d'entrée et de sortie spécifiques. Les deux se complètent et peuvent obtenir de bons rendements.
En outre, cette stratégie ne prend en compte le signal MACD que lorsque le prix franchit la ligne EMA, évitant ainsi de faire des transactions erronées sur des marchés instables.
Le principal risque de cette stratégie réside dans les paramètres. Si les paramètres de l'EMA et du MACD ne sont pas correctement définis, des signaux peuvent être manqués ou de faux signaux peuvent être générés. En outre, si la tendance du marché s'inverse, la stratégie entraînera certaines pertes.
Pour réduire les risques, les paramètres doivent être ajustés de manière appropriée pour correspondre au cycle de marché actuel de l'EMA et du MACD. Dans le même temps, il est recommandé d'utiliser un stop loss pour contrôler une seule perte. Lorsque le marché entre dans un processus de bassement ou touche un support, les transactions doivent être suspendues pour éviter des pertes soutenues.
Les aspects suivants de la stratégie peuvent être optimisés:
Optimiser dynamiquement les paramètres pour ajuster les paramètres EMA et MACD en fonction des conditions et des cycles du marché en temps réel afin d'assurer la validité des paramètres
Ajouter d'autres indicateurs en combinaison, tels que les canaux BOLL ou les indicateurs KD, pour enrichir les signaux stratégiques
Utiliser des méthodes d'apprentissage automatique pour optimiser automatiquement les paramètres de stratégie et ajuster les paramètres en fonction des résultats des tests antérieurs
Lorsque vous franchissez la ligne EMA, jugez la force de la direction pour éviter de fausses ruptures
Ajouter des stratégies de prise de profit et de stop-loss pour verrouiller les bénéfices et réduire les pertes
La stratégie quantitative de croisement de moyenne mobile combine deux indicateurs EMA et MACD pour générer efficacement des signaux de haute qualité. L'optimisation des paramètres, l'ajout de stop loss / profit taking, l'ajout d'autres indicateurs, etc. peuvent encore améliorer la stabilité et la rentabilité de la stratégie. Cette stratégie efficace et simple a une grande valeur de référence et d'application pour les traders quantitatifs.
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("LONERTESTV2", overlay=true) // Input definitions fastLength = input(12, title="Fast Length") slowlength = input(26, title="Slow Length") MACDLength = input(9, title="MACD Length") emaLength = input(13, title="EMA Length") //smaLength = input(200, title="SMA Length") // SMA Indicator - Are we in a Bull or Bear market according to 200 SMA? //SMA = ta.ema(close, smaLength) // EMA Indicator - Are we in a rally or not? EMA = ta.ema(close, emaLength) // MACD Indicator - Is the MACD bullish or bearish? MACD = ta.ema(close, fastLength) // - ta.ema(close, slowlength) aMACD = ta.ema(MACD, MACDLength) delta = MACD - aMACD // Set Buy/Sell conditions buy_entry = close > EMA and delta > 5 ? true : close > EMA and delta > -5 sell_entry = close < EMA and delta < -5 ? true : close < EMA and delta < 5 if buy_entry strategy.entry(id='EL', direction=strategy.long) if sell_entry strategy.entry(id='ES', direction=strategy.short) // strategy.entry("Buy", strategy.long) // strategy.entry("Sell", strategy.short)