Cet article explique en détail une stratégie de trading quantitative basée sur l'indicateur MACD normalisé.
I. Logique stratégique
L'idée de base de cette stratégie est de normaliser l'indicateur MACD traditionnel afin de réduire les taux d'erreur.
Calculer les moyennes mobiles à court et à long terme de Hull et utiliser leur croisement pour déterminer la direction de la tendance.
Calculer la différence MACD.
Normaliser le MACD sur une certaine période.
Calculer la moyenne mobile du MACD normalisé comme déclencheur.
Allez long lorsque le MACD normalisé dépasse le déclencheur, et allez court lorsqu'il dépasse le déclencheur.
Ajoutez le filtrage de tendance pour éviter de manquer les mouvements majeurs.
Définir un stop loss et un profit pour contrôler le risque par transaction.
La normalisation réduit l'ampleur absolue des différences MACD, réduisant le bruit pour une meilleure qualité du signal.
II. Avantages de la stratégie
Comparé aux stratégies MACD simples, le plus grand avantage est la normalisation, qui peut réduire efficacement les erreurs MACD et améliorer la précision du signal.
Un autre avantage est l'ajout de filtrage de tendance pour éviter les faux retours, ce qui améliore la stabilité de la stratégie.
Enfin, les paramètres stop loss et take profit assurent également un risque-rendement contrôlable par transaction pour une gestion prudente de l'argent.
III. Les faiblesses potentielles
Malgré les optimisations, les risques suivants doivent être pris en compte lors de la négociation dans la pratique:
Tout d'abord, la grande difficulté d'optimisation des paramètres peut entraîner un surajustement si elle est réglée de manière inappropriée.
Deuxièmement, le risque d'arrêter prématurément un stop-loss trop proche.
Enfin, les signaux peuvent être retardés lors des transitions de tendance et ne pas réagir à temps.
IV. Résumé
En résumé, cet article a expliqué une stratégie de trading quantitative qui normalise l'indicateur MACD. Il améliore la stratégie classique MACD pour améliorer efficacement la qualité du signal et intègre des mécanismes de gestion des risques. Mais la difficulté d'optimisation des paramètres et le réglage du stop loss doivent encore être gérés avec prudence. Dans l'ensemble, il fournit une approche viable pour optimiser les stratégies MACD.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 6h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // Normalized MACD but heavily modified by SeaSide420. Normalized MACD v420 strategy("Normalized MACD (v420)",shorttitle="NmacD(v420)",overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1440, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0) p=input(ohlc4) jah=input(title="HullMA cross",defval=21) tsp = input(34,title='Trigger') np = input(50,title='Normalize') SL = input(defval=-420.00, title="Stop Loss in $", step=1) TP = input(defval=31.00, title="Target Point in $", step=1) ot=1 n2ma=2*wma(p,round(jah/2)) nma=wma(p,jah) diff=n2ma-nma sqn=round(sqrt(jah)) n2ma1=2*wma(p[2],round(jah/2)) nma1=wma(p[2],jah) diff1=n2ma1-nma1 sqn1=round(sqrt(jah)) n1=wma(diff,sqn) n2=wma(diff1,sqn) sh=n1 lon=n2 ratio = min(sh,lon)/max(sh,lon) Mac = (iff(sh>lon,2-ratio,ratio)-1) MacNorm = ((Mac-lowest(Mac, np)) /(highest(Mac, np)-lowest(Mac, np)+.000001)*2)- 1 MacNorm2 = iff(np<2,Mac,MacNorm) Trigger = wma(MacNorm2, tsp) Hist =(MacNorm2-Trigger) Hist2= Hist>1?1:Hist<-1?-1:Hist teh=MacNorm2+MacNorm2[2]-MacNorm2[1] closelong = strategy.openprofit<SL or strategy.openprofit>TP or teh[1]<Trigger[1] and n1<n2[1] if (closelong) strategy.close("Long") closeshort = strategy.openprofit<SL or strategy.openprofit>TP or teh[1]>Trigger[1] and n1>n2[1] if (closeshort) strategy.close("Short") longCondition = Trigger<0 and teh>Trigger and MacNorm>Trigger and strategy.opentrades<ot if (longCondition) strategy.entry("Long",strategy.long) shortCondition = Trigger>0 and teh<Trigger and MacNorm<Trigger and strategy.opentrades<ot if (shortCondition) strategy.entry("Short",strategy.short)