Stratégie quantitative MACD à gradient


Date de création: 2023-12-19 16:14:50 Dernière modification: 2023-12-19 16:14:50
Copier: 0 Nombre de clics: 713
1
Suivre
1621
Abonnés

Stratégie quantitative MACD à gradient

Aperçu

Cette stratégie permet de suivre les tendances de la ligne moyenne et longue en calculant la ligne Heikin-Ashi, en aplatissant le prix de la ligne K et en émettant des signaux de négociation en combinaison avec l’indicateur MACD.

Principe de stratégie

  1. Calculer le prix d’ouverture et de clôture, le prix le plus élevé et le prix le plus bas, tracer une ligne de dérivation Heikin-Ashi et lisser la ligne K.

  2. Les paramètres MACD sont définis comme suit: longueur de ligne rapide 12, longueur de ligne lente 26, longueur de ligne de signal 9.

  3. Calculer le décalage entre la ligne lente DEA, la ligne rapide DEA et le décalage MACD. Dessiner un diagramme en colonnes du MACD.

  4. Faire plus lorsque le MACD est supérieur à zéro; faire moins lorsque le MACD est inférieur à zéro.

  5. Par exemple, le filtrage de l’année, du mois et de la journée est configuré pour que les transactions se déroulent uniquement dans les périodes de temps spécifiées.

Analyse des avantages

  1. Les filtres Heikin-Ashi sont efficaces pour filtrer le bruit du marché et identifier les tendances.

  2. Le MACD fournit des points de vente et de vente de tendances plus clairs.

  3. La combinaison de Heikin-Ashi et MACD peut améliorer la qualité des points d’achat et de vente et augmenter les trades rentables.

  4. Les conditions de filtrage temporel permettent de déterminer les meilleurs moments de négociation en fonction des données historiques et d’améliorer le taux de profit.

Analyse des risques

  1. Si la tendance est inversée, les pertes pourraient être plus importantes.

  2. Les paramètres du MACD sont mal réglés et peuvent générer trop de signaux inefficaces.

  3. Les conditions de filtrage du temps sont trop rigides et risquent de laisser passer de meilleures opportunités de trading.

La réponse:

  1. Il est possible de régler le stop-loss et de contrôler les pertes ponctuelles.

  2. Optimiser les paramètres MACD pour déterminer la meilleure combinaison de paramètres

  3. Les tendances locales sont évaluées en combinaison avec d’autres indicateurs.

Direction d’optimisation

  1. Testez différentes combinaisons de paramètres pour trouver le paramètre optimal.

  2. Ajout de mécanismes de stop-loss, tels que la mise en place d’un stop-loss / suivi d’un stop-loss

  3. Le point de basculement a été déterminé en fonction d’indicateurs tels que l’EMA, le KDJ et d’autres.

  4. Ajout d’indicateurs quantitatifs pour éviter la divergence quantitatifs.

Résumer

Cette stratégie utilise une stratégie quantitative basée sur le suivi des tendances en calculant le prix de l’aplatissement de la ligne Heikin-Ashi, en combinaison avec l’indicateur MACD Tradingview pour déterminer la direction de la tendance et le point d’entrée. Comparée à la stratégie MACD ordinaire, elle aplatit la courbe des prix, filtre une partie du bruit et permet de déterminer plus clairement la direction de la tendance.

Code source de la stratégie
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD ASHI BARS .v1 ", overlay=false,default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,slippage=1)

// Calculation HA Values 
haopen  = 0.0
haclose = (open + high + low + close) / 4
haopen := na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2
hahigh  = max(high, max(haopen, haclose))
halow   = min(low,  min(haopen, haclose))

// HA colors
hacolor = haclose > haopen ? color.green : color.red
src=haclose



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

macdslowline1 = sma(src,slowmacd)
macdslowline2 = sma(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )

macdfastline1 = sma(src,fastmacd)
macdfastline2 = sma(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)

MACDLine = (DEMAfast - DEMAslow)

SignalLine = sma(MACDLine, signalmacd)

delta = MACDLine-SignalLine




swap1 = delta>0?color.green:color.red



plot(delta,color=swap1,style=plot.style_columns,title='Histo',histbase=0,transp=20)
p1 = plot(MACDLine,color=color.blue,title='MACD Line')
p2 = plot(SignalLine,color=color.red,title='Signal')
fill(p1, p2, color=color.blue)
hline(0)



yearfrom = input(2020)
yearuntil =input(2042)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)







if ( crossover(delta,0)  and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND",  comment="AL")
    
else
    strategy.cancel(id="MMAL")


if (  crossunder(delta,0) and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

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