Stratégie d'inversion de tendance basée sur l'indicateur ADX


Date de création: 2023-09-13 17:02:31 Dernière modification: 2023-09-13 17:02:31
Copier: 3 Nombre de clics: 915
1
Suivre
1617
Abonnés

Cette stratégie est connue sous le nom de stratégie de renversement de tendance basée sur l’indicateur ADX. Cette stratégie utilise l’indicateur ADX pour déterminer la force de la tendance et saisir les opportunités de renversement lors d’un surachat ou d’une survente.

L’ADX indique l’indice de tendance moyen, qui reflète l’intensité de la tendance. Plus l’ADX est élevé, plus la tendance est forte.

Le DMI comprend les lignes DI+ et DI- [2]. Le DI+ indique une tendance à la hausse et le DI- une tendance à la baisse [2].

La logique de négociation de cette stratégie:

  1. Quand l’ADX est supérieur à 45, on considère que la tendance est très forte.

  2. Si le DI+ est inférieur au DI-, il s’agit d’une situation de survente et d’une opportunité de renversement de tendance.

  3. En revanche, si le DI- est inférieur au DI+, il est jugé comme un état de surachat, une occasion de revenir en arrière et de faire le vide.

  4. Il s’arrête juste après avoir tourné.

L’avantage de cette stratégie est qu’elle utilise l’ADX pour déterminer les points de retournement de tendances fortes, et que des valeurs élevées d’ADX peuvent filtrer efficacement les faux signaux des marchés sur le tremblement de terre. Cependant, les paramètres ADX doivent être optimisés et la stratégie de stop loss est également importante.

Dans l’ensemble, l’indicateur ADX est un bon indicateur pour déterminer le moment où une tendance forte est inversée. Cependant, les traders doivent prêter attention à d’autres facteurs, l’ADX n’étant qu’un indicateur auxiliaire.

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

//@version=4
strategy(shorttitle='DMI swings',title='DMI swings', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true        // create function "within window of time"

[pos_dm, neg_dm, avg_dm] = dmi(14, 14)

//Entry 
strategy.entry(id="long", long = true, when = avg_dm > 45 and pos_dm < neg_dm and window())

//Exit
strategy.close("long", when = avg_dm > 45 and pos_dm > neg_dm and window())