
La stratégie de prévision de la tendance MACD est une stratégie de suivi de la tendance basée sur l’indicateur MACD et l’indicateur EMA. Contrairement à la stratégie MACD traditionnelle, la stratégie génère un signal de transaction par la croisée des lignes de signal.
Calculer le DEMAfast de la ligne rapide: Calculer la moyenne MMEfast de deux EMA de la ligne rapide par la méthode EMA, puis calculer le DEMAfast de la ligne rapide selon la formule DEMAfast=((2 * MMEfast) - MMEfastb)
Calculer la ligne lente DEMAslow: Calculer deux fois la moyenne EMA de la ligne lente MMEslow par la méthode EMA, puis calculer la ligne lente DEMAslow selon la formule DEMAslow = (((2 * MMEslow) - MMEslowb)).
Calculer la ligne MACD: la ligne MACD est la ligne rapide DEMAfast moins la différence de la ligne lente DEMAslow.
Calcul de la ligne de signal: Calculer deux fois la moyenne des valeurs EMA de la ligne MACD par la méthode EMA, puis la ligne de signal selon la formule Lignesignal=((2 * MMEsignal) - MMEsignalb).
Comparer les lignes MACD et les lignes de signal: un signal d’achat est généré lorsque la ligne MACD est plus grande que la ligne de signal; un signal de vente est généré lorsque la ligne MACD est plus petite que la ligne de signal.
Les calculs ci-dessus utilisent l’algorithme DEMA, qui réduit efficacement le retard de l’indicateur MACD.
L’utilisation de l’algorithme DEMA permet de réduire le retard de l’indicateur MACD et de rendre les signaux de négociation plus sensibles.
Les signaux de croisement ne dépendent pas de l’indicateur MACD, mais capturent les changements de tendance par les changements de distance entre le MACD et la ligne de signal, ce qui permet d’entrer plus tôt dans la tendance.
La stratégie est précise sur les tendances, le facteur de profit peut atteindre 1.6-3.5, le rendement est meilleur.
La logique de la stratégie est simple, claire, facile à comprendre et adaptée aux transactions quantifiées.
Le MACD, en tant qu’indicateur de retard, peut générer de nombreux signaux de transaction inefficaces lors de la levée de fonds.
L’algorithme DEMA réduit le retard mais ne l’élimine pas complètement.
Les gains peuvent être faibles en cas de choc, comme stratégie de suivi de la tendance.
Les paramètres sma, lma,tsp doivent être optimisés pour s’adapter à différents cycles et variétés.
Il peut être nécessaire d’ajouter des stratégies de stop-loss pour contrôler les pertes.
Optimiser les paramètres sma, lma,tsp pour s’adapter à différents cycles et types de transactions.
Ajout d’une stratégie de stop-loss dynamique similaire à l’ATR pour contrôler chaque perte.
Les indicateurs de tendance peuvent être combinés avec des indicateurs de tendance pour éviter de négocier dans des conditions de choc.
Ajout d’un contrôle de volume et ajustement des positions en fonction de la volatilité du marché.
Optimisation de la logique d’entrée et de sortie et affination des règles de signaux.
La stratégie de prévision de la tendance MACD peut capturer efficacement les changements de tendance en améliorant la méthode de calcul de l’indicateur MACD, en utilisant l’algorithme DEMA pour réduire le retard et en utilisant le MACD et la distance entre les lignes de signal pour juger de la tendance. La stratégie de suivi de la tendance peut capturer efficacement les changements de tendance, le facteur de profit peut atteindre 1.6-3.5, avec un certain avantage.
/*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")