Stratégies de trading basées sur les indicateurs ADX et MACD


Date de création: 2023-12-13 15:45:24 Dernière modification: 2023-12-13 15:45:24
Copier: 3 Nombre de clics: 1244
1
Suivre
1621
Abonnés

Stratégies de trading basées sur les indicateurs ADX et MACD

Aperçu

Cette stratégie, appelée “stratégie de suivi de tendance basée sur les indicateurs ADX et MACD”, utilise l’indicateur moyen de tendance ((ADX) pour déterminer la direction et la force de la tendance et, en combinaison avec le signal polyvalent de l’indicateur de concentration de la moyenne mobile ((MACD), pour réaliser des transactions de suivi de tendance. La stratégie établit une position polyvalente ou blanche lorsque l’ADX indique la présence d’une forte tendance et que le MACD émet un signal de transaction.

Principe de stratégie

Cette stratégie permet de déterminer la direction et l’intensité d’une tendance du marché en calculant les courbes ADX et +DI, -DI. Il s’agit d’un marché à plusieurs têtes lorsque la courbe +DI traverse la courbe -DI et d’un marché à tête vide lorsque la courbe +DI traverse la courbe -DI.

La logique des signaux de transaction de la stratégie est la suivante:

Signal à plusieurs têtes: lorsque la ligne différentielle de +DI> -DI et MACD traverse la ligne du signal de bas en haut Signal de tête vide: lorsque -DI> +DI et que la ligne de différence du MACD traverse la ligne du signal de haut en bas

Selon cette logique, la stratégie est capable de capturer les meilleurs moments d’entrée dans une tendance forte.

Avantages stratégiques

Le plus grand avantage de cette stratégie est qu’elle prend en compte à la fois le jugement de la tendance et le choix du moment de l’entrée, ce qui permet aux traders de trouver un meilleur point d’entrée lorsque le marché est fortement orienté, ce qui améliore considérablement la stabilité et la rentabilité du système.

En outre, la stratégie a introduit une logique de stop-loss. Lorsque la perte de position est supérieure au prix de stop-loss défini par l’utilisateur, la stratégie prend le contrôle des pertes de chaque transaction.

Risque stratégique

Bien que cette stratégie présente certains avantages, elle comporte des risques auxquels il faut faire attention:

  1. les signaux de négociation constitués par l’ADX et le MACD, qui peuvent être invalidés ou générer des signaux erronés dans certaines conditions de marché, entraînant des pertes inutiles;

  2. Le prix de stop-loss défini par l’utilisateur peut être dépassé, entraînant des pertes supérieures aux attentes;

  3. Dans un marché inversé, la stratégie peut générer trop de transactions inefficaces et entraîner des coûts de transaction.

Afin de réduire ces risques, il est recommandé d’optimiser les paramètres de l’ADX et du MACD et de mettre en œuvre des stratégies de gestion de fonds rigoureuses, tout en adaptant la logique de stop-loss aux différentes conditions du marché.

Orientation de l’optimisation de la stratégie

Il y a un peu de marge d’optimisation dans cette stratégie:

  1. Il est possible d’introduire plus d’indicateurs pour créer des signaux de négociation plus forts, par exemple en combinant les indicateurs de volatilité avec des restrictions de négociation.

  2. les paramètres ADX et MACD peuvent être automatiquement optimisés par des méthodes d’apprentissage automatique;

  3. Il est possible de mettre en place des mécanismes de stop-loss adaptatifs, permettant aux prix stop-loss de suivre la dynamique des fluctuations du marché.

Grâce à ces méthodes, la stabilité et la rentabilité de la stratégie devraient être renforcées.

Résumer

Dans l’ensemble, une stratégie de suivi de la tendance basée sur les indicateurs ADX et MACD, avec des avantages tels que la détermination de la direction de la tendance, la recherche d’un meilleur moment d’entrée et la mise en place d’une logique de stop-loss, est un système de négociation qui mérite d’être examiné.

Code source de la stratégie
/*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")