La stratégie de prédiction de tendance MACD est une stratégie de suivi de tendance basée sur l'indicateur MACD et l'indicateur EMA. Contrairement aux stratégies MACD traditionnelles qui génèrent des signaux de trading en croisant des lignes de signal, cette stratégie génère des signaux de trading en modifiant la distance entre la ligne MACD et la ligne de signal pour capturer les changements de tendance.
Calculer la DEMAfast de ligne rapide: Calculer deux valeurs EMA de la MMEfast de ligne rapide et calculer la DEMAfast de ligne rapide selon la formule DEMAfast = ((2 * MMEfast) - MMEfastb).
Calculer la DEMAslow de la ligne lente: Calculer deux valeurs de l'EMA de la MMEslow de la ligne lente et calculer la DEMAslow de la ligne lente selon la formule DEMAslow = ((2 * MMEslow) - MMEslowb).
Calculer la ligne MACD: La ligne MACD est la différence entre la ligne rapide DEMAfast et la ligne lente DEMAslow, LigneMACDZeroLag.
Calculer la ligne de signal: Calculer deux valeurs EMA de la ligne MACD MMEsignal et calculer la ligne de signal Lignesignal selon la formule Lignesignal = ((2 * MMEsignal) - MMEsignalb).
Comparer la ligne MACD et la ligne de signal: Générer un signal d'achat lorsque la ligne MACD est supérieure à la ligne de signal, et générer un signal de vente lorsque la ligne MACD est inférieure à la ligne de signal.
Le calcul ci-dessus utilise l'algorithme DEMA, qui peut réduire efficacement le décalage de l'indicateur MACD.
L'utilisation de l'algorithme DEMA peut réduire le décalage de l'indicateur MACD et rendre les signaux de trading plus sensibles.
Il ne s'appuie pas sur les signaux de croisement MACD, mais capte les changements de tendance à travers les changements de distance entre le MACD et les lignes de signal, qui peuvent entrer dans les tendances plus tôt.
La stratégie évalue avec précision la tendance, et le facteur de profit peut atteindre 1,6-3,5 avec une bonne rentabilité.
La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre, adaptée au trading quantitatif.
En tant qu'indicateur à retardement, le MACD peut générer de nombreux signaux de négociation non valides sur les marchés à fourchette.
Bien que l'algorithme DEMA réduise le décalage, il ne peut pas éliminer complètement le décalage.
En tant que tendance à suivre la stratégie, le bénéfice peut ne pas être bon sur les différents marchés.
Les paramètres sma, lma, tsp doivent être optimisés pour différentes périodes et variétés.
Il peut être nécessaire d'ajouter des stratégies de stop loss aux stratégies de contrôle des pertes.
Optimiser les paramètres sma, lma, tsp pour s'adapter aux différentes périodes et variétés de négociation.
Ajouter des stratégies de stop loss dynamiques comme ATR pour contrôler les pertes par transaction.
Incorporer des indicateurs de jugement de tendance pour éviter les transactions sur des marchés variés.
Ajouter la dimension de position pour ajuster les positions en fonction de la volatilité du marché.
Optimiser la logique d'entrée et de sortie pour affiner les règles des signaux de trading.
La stratégie de prédiction de tendance du MACD améliore le calcul du MACD en utilisant l'algorithme DEMA pour réduire le décalage et juge la tendance à travers les changements de distance entre le MACD et les lignes de signal. En tant que stratégie de suivi de tendance, elle peut capturer efficacement les changements de tendance. Le facteur de profit peut atteindre 1,6-3,5, avec certains avantages. Mais il faut encore optimiser davantage les paramètres, les stratégies de stop loss, filtrer les marchés de gamme, etc. pour s'adapter à plus d'environnements de marché.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © moritz1301 //@version=4 strategy("MACD Trendprediction Strategy V1", shorttitle="MACD TPS", overlay=true) sma = input(12,title='DEMA Courte') lma = input(26,title='DEMA Longue') tsp = input(9,title='Signal') dolignes = input(true,title="Lignes") MMEslowa = ema(close,lma) MMEslowb = ema(MMEslowa,lma) DEMAslow = ((2 * MMEslowa) - MMEslowb ) MMEfasta = ema(close,sma) MMEfastb = ema(MMEfasta,sma) DEMAfast = ((2 * MMEfasta) - MMEfastb) LigneMACDZeroLag = (DEMAfast - DEMAslow) MMEsignala = ema(LigneMACDZeroLag, tsp) MMEsignalb = ema(MMEsignala, tsp) Lignesignal = ((2 * MMEsignala) - MMEsignalb ) MACDZeroLag = (LigneMACDZeroLag - Lignesignal) bgcolor(LigneMACDZeroLag<Lignesignal ? color.red : color.green) if (LigneMACDZeroLag>Lignesignal) strategy.entry("Buy", strategy.long, comment="BUY") if (LigneMACDZeroLag<Lignesignal) strategy.close("Buy", strategy.long, comment="SELL")