Cette stratégie calcule les chandeliers Heikin-Ashi pour lisser les lignes de prix et combine l'indicateur MACD pour générer des signaux de trading, en mettant en œuvre une stratégie quantitative qui suit les tendances à moyen et long terme.
Calculer les prix d'ouverture, de clôture, de hausse et de baisse de Heikin-Ashi pour tracer les chandeliers Heikin-Ashi et les tendances des prix.
Définir les paramètres MACD: longueur rapide 12, longueur lente 26, longueur du signal 9.
Calculer la ligne lente DEA, la ligne rapide DEA et l'histogramme MACD.
Aller long lorsque l'histogramme MACD dépasse 0, aller court lorsqu'il dépasse 0.
Ajouter des filtres d'année, de mois et de jour pour limiter les transactions à une plage de temps spécifiée.
Les chandeliers Heikin-Ashi filtrent efficacement le bruit du marché pour identifier les tendances.
Le MACD fournit des signaux de trading de tendance clairs.
La combinaison de Heikin-Ashi et du MACD améliore la qualité et la rentabilité du signal.
Les filtres horaires aident à optimiser le calendrier des transactions en fonction des performances historiques.
Des pertes potentiellement importantes lors d'un renversement de tendance.
Des paramètres MACD incorrects peuvent générer des signaux inutiles excessifs.
Les filtres à temps rigide peuvent manquer de bonnes opportunités commerciales.
Les contre-mesures:
Définir le stop loss/take profit pour limiter les pertes.
Optimiser les paramètres MACD pour déterminer la meilleure combinaison.
Ajouter des indicateurs pour déterminer les tendances locales.
Testez différentes combinaisons de paramètres pour trouver le meilleur.
Ajoutez des mécanismes de stop-loss comme le stop-loss de suivi.
Ajoutez des indicateurs comme EMA, KDJ pour déterminer les points de renversement.
Ajouter des indicateurs de volume pour éviter les divergences.
Cette stratégie facilite l'action des prix avec des chandeliers Heikin-Ashi et détermine la direction de la tendance et les signaux d'entrée avec l'indicateur MACD Tradingview pour mettre en œuvre une stratégie quantitative de suivi de tendance.
/*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")