
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.
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:
Éliminer les tendances des prix et voir plus clairement le MACD
Calculer les lignes rapides et lentes DEMA pour obtenir les lignes droites et les lignes de signal MACD
La ligne MACD et la ligne de signal croisée génèrent un signal de transaction
Filtrer les conditions d’adhésion par mois et par date
Définition de la logique de stop-loss
Les principaux avantages de cette stratégie sont:
Éliminer les tendances des prix et voir plus clairement les intersections des MACD afin d’éviter d’être induit en erreur par les tendances.
L’algorithme DEMA est utilisé pour calculer l’indicateur MACD, qui permet de filtrer certains bruits et de rendre le signal plus clair.
Le filtrage par mois et par date réduit les transactions inutiles.
La logique d’arrêt des pertes est configurée pour arrêter les pertes en temps opportun et contrôler les risques.
L’utilisation d’un croisement pour générer des signaux peut réduire le nombre de transactions erronées.
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.
Cette stratégie comporte également des risques à prendre en compte:
Après la suppression de la tendance, les signaux de croisement MACD peuvent augmenter et doivent être vérifiés sur le terrain.
L’algorithme DEMA a filtré une partie du bruit, mais le calcul des indicateurs peut néanmoins présenter plus de faux signaux.
Les conditions de filtrage par date et par mois sont peut-être trop rigides et ont laissé passer des opportunités de trading.
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.
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.
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:
Pour éviter les faux signaux, ajoutez d’autres indicateurs de confirmation.
Optimiser les conditions de filtrage des dates et les assouplir.
Test et optimisation des points de rupture.
Les traders doivent être prêts à faire face à la concurrence et à la concurrence, et non à la concurrence.
La stabilité est améliorée par un retour complet et une optimisation des paramètres.
Cette stratégie peut être optimisée dans les domaines suivants:
Testez différentes moyennes de prix pour trouver des lignes de remplacement plus appropriées pour l’EMA.
Essayez différentes combinaisons de paramètres pour optimiser la longueur des lignes rapides et lentes du MACD.
Augmentation des indicateurs de jugement auxiliaires tels que les indicateurs de capacité, pour éviter les faux signaux.
Optimiser les stratégies de stop loss, en définissant des stop loss mobiles raisonnables ou des stop losses en suspension.
Optimiser les conditions de filtrage par date et par mois pour les rendre plus flexibles.
Il est possible d’ajouter des jugements de tendance et d’éviter des opérations de contre-courant.
Optimisation complète des paramètres pour améliorer la stabilité de la stratégie.
Les résultats sont analysés sur des périodes plus longues afin de vérifier l’efficacité à long terme de la stratégie.
Les paramètres de la stratégie peuvent être modifiés en fonction de la situation sur le terrain.
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.
/*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")