La tendance à éliminer la stratégie MACD

Auteur:ChaoZhang est là., Date: le 30 octobre 2023 à 17h08h16
Les étiquettes:

趋势消除MACD策略

Résumé

Cette stratégie utilise l'élimination des tendances des prix des actions pour observer plus clairement la forme de l'indicateur MACD. Elle produit des signaux de trading en calculant la ligne rapide DEMA et la ligne lente DEMA, puis en obtenant la ligne droite MACD et la ligne de signal, en jugeant leur intersection. Elle combine également le filtrage conditionnel des mois, des dates et la logique de l'équilibre stop-loss pour former un système de stratégie plus complet.

Les principes stratégiques

Tout d'abord, l'EMA du prix est calculé pour éliminer la tendance des prix et obtenir l'EMA après l'élimination de la tendance. Ensuite, l'EMA est calculé sur la base de la ligne rapide DEMA, la ligne lente DEMA et la ligne droite MACD. Dans ce cas, la méthode de calcul de la DEMA rapide est la suivante: d'abord calculer l'EMA1 de la ligne rapide, puis calculer l'EMA2 d'EMA1, puis calculer la DEMA = ((2*EMA1-EMA2)); la ligne lente DEMA est assimilée au calcul de la ligne de signal.

La logique centrale de cette stratégie est la suivante:

  1. Éliminer les tendances des prix et voir plus clairement la forme du MACD

  2. Calculer les lignes rapides DEMA, les lignes lentes et obtenir la ligne droite MACD et la ligne de signal

  3. La ligne MACD et la ligne de signal se croisent pour produire des signaux de trading.

  4. Filtrer les conditions de la date et du mois de l'adhésion

  5. Mettre en place une logique de stop-loss

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. L'élimination des tendances des prix permet de voir plus clairement les intersections du MACD et d'éviter d'être induit en erreur par les tendances.

  2. L'algorithme DEMA est utilisé pour calculer le MACD, ce qui permet de filtrer le bruit et de rendre le signal plus clair.

  3. Le filtrage combiné de la date et du mois peut réduire certaines transactions inutiles.

  4. La logique d'arrêt des pertes peut être mise en place pour arrêter les pertes en temps opportun et contrôler les risques.

  5. L'utilisation d'un signal croisé peut réduire les erreurs de transaction.

  6. Dans l'ensemble, cette stratégie, combinée à l'élimination des tendances, au calcul de la DEMA et au filtrage des conditions, permet de produire des signaux de trading plus clairs et plus fiables.

L'analyse des risques

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

  1. Une fois la tendance supprimée, le signal croisé MACD peut augmenter et il est nécessaire de vérifier si cela est possible.

  2. Bien que l'algorithme DEMA filtre une partie du bruit, il est possible que le calcul de l'indicateur présente davantage de faux signaux.

  3. Les conditions de filtrage de la date et du mois peuvent être trop stagnantes et des opportunités de transaction peuvent être manquées.

  4. La position de l'arrêt de perte doit être considérée comme raisonnable, trop lourde augmente le risque et trop stricte provoque des arrêts fréquents.

  5. La stratégie repose principalement sur l'indicateur MACD, et l'effet peut être affecté si le marché n'est pas adapté à son utilisation.

  6. Il y a encore beaucoup de place pour optimiser les paramètres stratégiques et des tests supplémentaires doivent être effectués avec des retests et des disques réels.

Comment réagir:

  1. Il faut ajouter d'autres indicateurs de confirmation pour éviter les faux signaux.

  2. Optimiser les conditions de filtrage des dates et les assouplir de manière appropriée.

  3. Les tests sont minutieux et optimisent les points de rupture.

  4. Il y a aussi une certaine tendance à la hausse des prix et à la baisse des prix.

  5. Les paramètres sont entièrement testés et optimisés pour améliorer la stabilité.

Optimisation

La stratégie peut être optimisée pour les domaines suivants:

  1. Test de différentes moyennes de prix pour trouver un type de ligne plus approprié pour remplacer l'EMA.

  2. Essayez différentes combinaisons de paramètres pour optimiser la longueur de la ligne rapide, la longueur de la ligne lente et la longueur de la ligne de signal du MACD.

  3. Les indicateurs de jugement auxiliaires tels que l'augmentation de la quantité d'énergie sont utilisés pour éviter les faux signaux.

  4. Optimiser la stratégie de stop-loss, mettre en place des stop-loss mobiles raisonnables ou des stop-loss suspendus.

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

  6. Il y a aussi une certaine tendance à l'augmentation de l'utilisation de l'étiquette.

  7. L'optimisation complète des paramètres améliore la stabilité stratégique.

  8. Des revues sur de plus longues périodes de temps sont effectuées pour examiner les effets à long terme de la stratégie.

  9. Les paramètres stratégiques sont modifiés en fonction des situations réelles.

Résumé

Dans l'ensemble, l'idée d'éliminer les tendances, de calculer les indicateurs MACD sous forme de DEMA et de générer des signaux de négociation en combinant le filtrage des dates est une idée stratégique simple mais viable. Son plus grand avantage est de pouvoir voir clairement la forme du MACD et d'éviter d'être influencé par les tendances des prix.


/*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")





En savoir plus