Cette stratégie s'appelle
L'ADX est l'abréviation de l'indice de direction moyen, qui reflète la force d'une tendance.
Le DMI comprend les lignes DI+ et DI-. DI+ au-dessus de DI- indique une tendance à la hausse, tandis que DI- au-dessus de DI+ indique une tendance à la baisse.
La logique de négociation est la suivante:
Lorsque l'ADX est supérieur à 45, la tendance est considérée comme très forte.
Si DI+ est inférieur à DI- alors, cela indique un état de survente et une opportunité d'inversion de tendance, en long.
À l'inverse, si le DI- est inférieur au DI+, cela suggère des conditions de surachat et une opportunité de renversement pour un short.
Prenez des bénéfices en temps opportun après le renversement.
L'avantage est d'utiliser l'ADX pour déterminer les points d'inversion de tendance forts. Des valeurs ADX élevées filtrent efficacement les faux signaux des marchés variés. Mais les paramètres ADX ont besoin d'optimisation, et le stop loss est également important.
En conclusion, l'ADX est habile à mesurer le moment où les tendances s'inverseront, mais les traders doivent encore surveiller plus de facteurs, en utilisant l'ADX comme indicateur supplémentaire.
/*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())