Stratégie de négociation basée sur les indicateurs ADX et MACD

Auteur:ChaoZhang est là., Date: 2023-12-13 15:45:24 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie s'appelle Trend Following Strategy Based on ADX and MACD Indicators. Elle utilise l'indice de mouvement directionnel moyen (ADX) pour déterminer la direction et la force de la tendance, combinée avec les signaux de trading de la divergence de convergence moyenne mobile (MACD), pour mettre en œuvre la tendance suivant les transactions. Elle n'établira des positions longues ou courtes que lorsque l'ADX indique une tendance forte et que le MACD donne des signaux de trading.

La logique de la stratégie

La stratégie calcule les lignes ADX et +DI, -DI pour juger de la direction et de l'intensité de la tendance du marché. Lorsque la ligne +DI traverse au-dessus de -DI, c'est une tendance haussière; lorsque -DI tombe en dessous de +DI, c'est une tendance à la baisse. De plus, lorsque la lecture ADX est supérieure à 20, elle indique que la tendance est suffisamment forte. La stratégie prend ensuite la valeur de différence de l'indicateur MACD (macdline) et les croisements de la ligne de signal (ligne de signal) comme signaux d'achat et de vente, pour effectuer des transactions suivant la tendance.

Plus précisément, la logique des signaux de trading est la suivante:

Signal long: +DI > -DI et ligne de différence MACD se croisent au-dessus de la ligne de signal
Signal court: -DI > +DI et ligne de différence MACD se croisent en dessous de la ligne de signal

Avec cette logique, la stratégie est en mesure de capturer le moment optimal d'entrée dans des tendances fortes.

Les avantages

Le plus grand avantage de cette stratégie est qu'elle prend en considération à la fois le jugement de tendance et la sélection du moment d'entrée, permettant aux traders de trouver des points d'entrée relativement bons lorsqu'il y a un marché directionnel fort.

En outre, une logique de stop loss est également mise en œuvre. Elle réduira activement les pertes si la perte de position dépasse le prix de stop loss défini par l'utilisateur.

Les risques

Bien que la stratégie présente certains avantages, il y a encore des risques à prendre en compte:

  1. Les signaux de négociation composés d'ADX et de MACD peuvent échouer ou donner de faux signaux dans certaines situations de marché, entraînant des pertes inutiles.

  2. Le prix de stop loss défini par l'utilisateur pourrait être pénétré, entraînant des pertes au-delà des attentes.

  3. Trop de transactions inefficaces peuvent se produire sur différents marchés, ce qui entraîne des coûts de transaction.

Pour atténuer ces risques, l'optimisation des paramètres de l'ADX et du MACD est recommandée, ainsi que la mise en œuvre de règles strictes de gestion de l'argent.

Directions de renforcement

Cette stratégie peut encore être améliorée:

  1. Plus d'indicateurs pourraient être introduits pour former des signaux de négociation plus forts, par exemple en combinant l'indice de volatilité pour limiter les transactions.

  2. Les paramètres ADX et MACD pourraient être optimisés automatiquement par apprentissage automatique.

  3. Un mécanisme de stop loss adaptatif peut être mis en place pour le suivi dynamique des fluctuations du marché.

Ces méthodes peuvent contribuer à améliorer encore la stabilité et la rentabilité de la stratégie.

Conclusion

En conclusion, la stratégie de suivi de tendance basée sur les indicateurs ADX et MACD présente des avantages pour déterminer la direction de la tendance, trouver le moment d'entrée optimal, définir une logique de stop-loss, etc., ce qui en fait un système de trading considérable. Compte tenu de l'ajustement des paramètres et du contrôle des risques, elle est capable de générer des rendements d'investissement décents. Mais les traders doivent toujours être prudents face aux risques potentiels et surveiller de près l'évolution de l'environnement du marché.


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("TUE ADX/MACD Confluence V1.0", overlay=true)

showsignals = input(true, title="Show BUY/SELL Signals")
showcandlecolors = input(true, title="Show Candle Colors")
length = input(14, title="ADX Length")
smoothing = input(10, title="ADX Smoothing")
macdsource = input(close, title="MACD Source")
macdfast = input(12, title="MACD Fast Length")
macdslow = input(26, title="MACD Slow Length")
macdsignal = input(9, title="MACD Signal Length")
colorup = input(color.green, title="Up Candle Color")
colordown = input(color.red, title="Down Candle Color")

/////////////////////////////////////////////////////////////////////////////////////////////// ADX AND MACD CALC
[diplus, diminus, adx] = ta.dmi(length, smoothing)

[macdline, signalline, histline] = ta.macd(macdsource, macdfast, macdslow, macdsignal)

//////////////////////////////////////////////////////////////////////////////////////////////TRADE CALC

longcheck = diplus > diminus and macdline > signalline
shortcheck = diminus > diplus and signalline > macdline

int trade = 0

//Open from nothing

if trade == 0 and longcheck
    trade := 1

else if trade == 0 and shortcheck
    trade := -1
    
//Reversal

else if trade == 1 and shortcheck
    trade := -1
    
else if trade == -1 and longcheck
    trade := 1
    
//Keep status quo until crossover

else
    trade := trade[1]

//////////////////////////////////////////////////////////////////////////////////////////////PLOT 

colors = longcheck ? colorup : shortcheck ? colordown : color.white

plotcandle(open, high, low, close, color = showcandlecolors ? colors : na)

plotshape(trade[1] != 1 and trade == 1 and showsignals, style=shape.labelup, text='BUY', textcolor=color.white, color=color.green, size=size.small, location=location.belowbar)
plotshape(trade[1] != -1 and trade == -1 and showsignals, style=shape.labeldown, text='SELL', textcolor=color.white, color=color.red, size=size.small, location=location.abovebar)

///////////////////////////////////////////////////////////////////////////////////////////// ALERTS

// Add Stop Loss
stopLossPrice = input(100, title="Stop Loss Price")

if trade == 1
    strategy.entry("Long", strategy.long)

if trade == -1
    strategy.entry("Short", strategy.short)

if trade == 1 and close < close[1] - stopLossPrice
    strategy.close("LongExit")

if trade == -1 and close > close[1] + stopLossPrice
    strategy.close("ShortExit")


Plus de