Stratégie MACD de désamorçage des tendances


Date de création: 2023-10-30 17:08:16 Dernière modification: 2023-10-30 17:08:16
Copier: 1 Nombre de clics: 641
1
Suivre
1617
Abonnés

Stratégie MACD de désamorçage des tendances

Aperçu

La stratégie utilise la tendance à l’élimination des prix des actions pour voir plus clairement la forme de l’indicateur MACD. En calculant les lignes rapides et les lignes lentes DEMA, on obtient les lignes droites et les lignes de signal MACD, en jugeant leur croisement pour générer un signal de négociation. La stratégie combine également le filtrage conditionnel du mois, de la date et la logique de placement de la position de stop-loss pour former un système de stratégie plus complet.

Principe de stratégie

Tout d’abord, le calcul de l’EMA du prix, pour éliminer la tendance du prix, pour obtenir le prix après l’élimination de la tendance de l’EMA. Ensuite, sur la base de l’EMA, calculer le DEMA rapide, le DEMA lent et le MACD direct.*EMA1-EMA2)。 le DEMA de la ligne lente et le DEMA de la ligne de signal sont calculés de la même manière。 après avoir obtenu la ligne droite du MACD ((DEMA de la ligne rapide - DEMA de la ligne lente) et la ligne de signal, si le MACD traverse la ligne droite du signal, un signal d’achat est généré; si le MACD traverse la ligne droite du signal, un signal de vente est généré。 enfin, filtrez le signal en combinaison avec les conditions de mois et de date, et définissez la logique d’arrêt des pertes。

La logique de cette stratégie est la suivante:

  1. Éliminer les tendances des prix et voir plus clairement le MACD

  2. Calculer les lignes rapides et lentes DEMA pour obtenir les lignes droites et les lignes de signal MACD

  3. La ligne MACD et la ligne de signal croisée génèrent un signal de transaction

  4. Filtrer les conditions d’adhésion par mois et par date

  5. Définition de la logique de stop-loss

Analyse des avantages

Les principaux avantages de cette stratégie sont:

  1. Éliminer les tendances des prix et voir plus clairement les intersections des MACD afin d’éviter d’être induit en erreur par les tendances.

  2. L’algorithme DEMA est utilisé pour calculer l’indicateur MACD, qui permet de filtrer certains bruits et de rendre le signal plus clair.

  3. Le filtrage par mois et par date réduit les transactions inutiles.

  4. La logique d’arrêt des pertes est configurée pour arrêter les pertes en temps opportun et contrôler les risques.

  5. L’utilisation d’un croisement pour générer des signaux peut réduire le nombre de transactions erronées.

  6. Dans l’ensemble, cette stratégie, combinée à l’élimination de la tendance, au calcul DEMA et au filtrage conditionnel, peut produire un signal de transaction plus clair et plus fiable.

Analyse des risques

Cette stratégie comporte également des risques à prendre en compte:

  1. Après la suppression de la tendance, les signaux de croisement MACD peuvent augmenter et doivent être vérifiés sur le terrain.

  2. L’algorithme DEMA a filtré une partie du bruit, mais le calcul des indicateurs peut néanmoins présenter plus de faux signaux.

  3. Les conditions de filtrage par date et par mois sont peut-être trop rigides et ont laissé passer des opportunités de trading.

  4. Il est nécessaire de considérer si la position de stop loss est raisonnable, trop laxiste pour augmenter le risque, trop stricte pour freiner les pertes.

  5. La stratégie repose principalement sur l’indicateur MACD, dont l’efficacité peut être affectée si le marché n’est pas adapté à son utilisation.

  6. Il y a encore beaucoup de place pour optimiser les paramètres de la stratégie, et il faudra faire des tests plus approfondis via le backtesting et les tests sur disque.

La réponse:

  1. Pour éviter les faux signaux, ajoutez d’autres indicateurs de confirmation.

  2. Optimiser les conditions de filtrage des dates et les assouplir.

  3. Test et optimisation des points de rupture.

  4. Les traders doivent être prêts à faire face à la concurrence et à la concurrence, et non à la concurrence.

  5. La stabilité est améliorée par un retour complet et une optimisation des paramètres.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Testez différentes moyennes de prix pour trouver des lignes de remplacement plus appropriées pour l’EMA.

  2. Essayez différentes combinaisons de paramètres pour optimiser la longueur des lignes rapides et lentes du MACD.

  3. Augmentation des indicateurs de jugement auxiliaires tels que les indicateurs de capacité, pour éviter les faux signaux.

  4. Optimiser les stratégies de stop loss, en définissant des stop loss mobiles raisonnables ou des stop losses en suspension.

  5. Optimiser les conditions de filtrage par date et par mois pour les rendre plus flexibles.

  6. Il est possible d’ajouter des jugements de tendance et d’éviter des opérations de contre-courant.

  7. Optimisation complète des paramètres pour améliorer la stabilité de la stratégie.

  8. Les résultats sont analysés sur des périodes plus longues afin de vérifier l’efficacité à long terme de la stratégie.

  9. Les paramètres de la stratégie peuvent être modifiés en fonction de la situation sur le terrain.

Résumer

Dans l’ensemble, la stratégie consiste à supprimer les tendances, à calculer l’indicateur MACD sous forme de DEMA et à générer un signal de négociation en combinaison avec le filtrage de la date. C’est une stratégie simple mais viable. Son plus grand avantage est qu’il est possible de voir clairement la forme du MACD et d’éviter d’être influencé par la tendance des prix.

Code source de la stratégie
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy(title = "Trendless MACD  Strategy",shorttitle="MACD-T Strategy",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.01,initial_capital=100000)



maperiod=input(9)
ema=ema(close,maperiod)


fastmacd = input(12,title='MACD Fast  Line Length')
slowmacd = input(26,title='MACD Slow Line Length')
signalmacd = input(9,title='Signal Line Length')

macdslowline1 = ema(ema,slowmacd)
macdslowline2 = ema(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )

macdfastline1 = ema(ema,fastmacd)
macdfastline2 = ema(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)

MACDLine = (DEMAfast - DEMAslow)

SignalLine1 = ema(MACDLine, signalmacd)
SignalLine2 = ema(SignalLine1, signalmacd)
SignalLine = ((2 * SignalLine1) - SignalLine2 )


MACDSignal = MACDLine-SignalLine


colorbar= MACDSignal>0?green:red

plot(MACDSignal,color=colorbar,style=columns,title='Histogram',histbase=0)
p1 = plot(MACDLine,color=blue,title='MACDLine')
p2=plot(SignalLine,color=red,title="SignalLine")
fill(p1,p2,color=blue)


longCond =  crossover(MACDLine,SignalLine) 

shortCond =  crossunder(MACDLine,SignalLine) 




monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)

yearfrom= input(2018)
yearuntil=input(2021)

if (  longCond   ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond  ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT")
else
    strategy.cancel(id="SHORT")