Join today
Strategies / Trend / ADX Plus DI Trend

ADX Plus DI Trend: Early Week Longs With a Thursday Exit

The system buys when a short ADX(7) signals a trend and +DI(7) confirms buying pressure above 26. New longs are only opened from Monday to Wednesday. Every position is closed on Thursday unless the 200 point target or the 600 point stop is hit first.

TrendLong onlyIntradayS&P 5005 min
2.15Profit factor
3,715Net profit EUR
59.48%Win rate
153Trades
-444Max drawdown
24.28Avg trade

Best run of 65. S&P 500, 5 min, spread 1, from run pf:2026-09-24-USA500-5m.tsv:1.

Entry rules, long

  1. Monday to Wednesday
  2. Members only

Exit rules

  1. Sell on any Thursday bar
  2. Stop loss 600 points
  3. Members only

Test conditions

PeriodUp to 2026-09-25
InstrumentS&P 500, 5 minutes
Spread1 points
Contracts1
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-09-25

Parameters

positionSize
Contracts per trade
1
adxPeriod
ADX and DI length
7
adxThreshold
ADX trend level
16
diLevel
+DI level
26
firstTradeDay
First entry weekday (Monday)
1
lastTradeDay
Last entry weekday (Wednesday)
3
exitDay
Weekday that closes longs (Thursday)
4
stopLossPoints
Protective stop in points
600
takeProfitPoints
Profit target in points
200

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
S&P 500Best run5 min2.15 15359.483,715 EUR-444
S&P 50010 min1.55 29656.423,926 EUR-517
Nasdaq 1003 min1.51 26672.5611,461 EUR-2,275
Nasdaq 1005 min1.45 37570.4014,022 EUR-2,640
S&P 50015 min1.40 43956.724,085 EUR-551
Nasdaq 1004 hours1.34 84854.8310,555 EUR-1,992
S&P 50030 min1.33 86854.844,353 EUR-573
Nasdaq 10015 min1.32 80165.1719,648 EUR-2,993
USD/JPY15 min1.30 45656.36496,850 JPY-119,230
DAX 4030 min1.27 1,17958.7819,686 EUR-2,941
Nasdaq 10010 min1.27 61566.3414,162 EUR-3,032
Nasdaq 10030 min1.25 1,13460.3216,330 EUR-3,469
DAX 4015 min1.25 71861.5613,661 EUR-2,681
Dow Jones5 min1.22 53371.6712,666 EUR-2,719
USD/JPY30 min1.21 87053.91601,440 JPY-122,880
DAX 401 hour1.16 1,24158.3412,285 EUR-2,906
USD/JPY1 hourn/a 1,19954.05720,930 JPY-262,240
USD/JPY10 minn/a 31358.15494,210 JPY-125,820
USD/JPY2 minn/a 6162.3067,770 JPY-61,320
Silver3 minn/a 18069.4428,496 USD-13,986
Silver2 minn/a 15767.5218,103 USD-14,091
Dow Jones10 minn/a 90267.6314,389 EUR-5,140
Nikkei 2255 minn/a 1,17172.8413,704 USD-8,864
Silver15 minn/a 51253.7112,752 USD-12,420
Nikkei 22510 minn/a 1,34869.8811,435 USD-5,805
Nikkei 2253 minn/a 1,01074.0610,837 USD-9,071
Dow Jones30 minn/a 89267.6010,817 EUR-4,505
DAX 4010 minn/a 49861.859,452 EUR-2,575
Dow Jones15 minn/a 1,07067.299,107 EUR-5,682
Dow Jones4 hoursn/a 32266.468,916 EUR-3,615
DAX 405 minn/a 30366.348,472 EUR-2,440
Nasdaq 1001 hourn/a 1,23757.488,436 EUR-3,921
Dow Jones3 minn/a 40771.508,159 EUR-2,340
DAX 403 minn/a 22768.287,298 EUR-2,228
Nasdaq 1002 minn/a 18469.026,818 EUR-2,399
DAX 404 hoursn/a 81056.175,522 EUR-3,212
Dow Jones2 minn/a 25771.985,327 EUR-2,337
FTSE 10015 minn/a 46055.005,257 EUR-1,995
FTSE 10030 minn/a 91652.074,243 EUR-2,024
DAX 402 minn/a 14268.313,749 EUR-2,225
Brent CrudeDailyn/a 17060.593,460 EUR-1,561
FTSE 10010 minn/a 30255.303,198 EUR-1,856
FTSE 1003 minn/a 9863.273,180 EUR-635
Nasdaq 1001 minn/a 11669.833,134 EUR-2,250
Dow Jones1 minn/a 14170.212,903 EUR-2,165
FTSE 1001 hourn/a 1,10952.752,828 EUR-1,870
S&P 5003 minn/a 9662.502,712 EUR-443
DAX 401 minn/a 7865.382,655 EUR-2,440
FTSE 1005 minn/a 15556.132,589 EUR-1,116
FTSE 1002 minn/a 6663.642,130 EUR-613
Gold1 hourn/a 1,04752.442,077 EUR-1,110
S&P 5001 hourn/a 1,05852.741,988 EUR-1,039
S&P 5004 hoursn/a 78350.961,962 EUR-779
Gold10 minn/a 30255.961,865 EUR-1,035
Gold15 minn/a 44754.141,852 EUR-959
Gold3 minn/a 9656.251,784 EUR-1,032
Gold5 minn/a 15455.841,666 EUR-1,058
S&P 5002 minn/a 6459.381,546 EUR-386
Gold30 minn/a 88452.381,538 EUR-1,157
GBP/USD10 minn/a 29651.691,374 USD-957
Gold4 hoursn/a 73850.411,229 EUR-966
Gold2 minn/a 6753.731,170 EUR-1,070
GBP/USD3 minn/a 8956.18942 USD-505
FTSE 1001 minn/a 3452.94695 EUR-630
S&P 5001 minn/a 3450.00632 EUR-399

Charts

Results by run

Profit factor by run

Above 1.0 made money, below 1.0 lost money.

0.00.61.31.92.51.0 = break-evenS&P 500 · 5 min2.15S&P 500 · 10 min1.55Nasdaq 100 · 3 min1.51Nasdaq 100 · 5 min1.45S&P 500 · 15 min1.40Nasdaq 100 · 4 hours1.34S&P 500 · 30 min1.33Nasdaq 100 · 15 min1.32USD/JPY · 15 min1.30DAX 40 · 30 min1.27Nasdaq 100 · 10 min1.27Nasdaq 100 · 30 min1.25DAX 40 · 15 min1.25Dow Jones · 5 min1.22USD/JPY · 30 min1.21DAX 40 · 1 hour1.16

Net profit against max drawdown

Net profitMax drawdown
0-500K-250K500K1.0MUSD/JPY · 1 hourUSD/JPY · 30 minUSD/JPY · 15 minUSD/JPY · 10 minUSD/JPY · 2 minSilver · 3 minDAX 40 · 30 minNasdaq 100 · 15 minSilver · 2 minNasdaq 100 · 30 minDow Jones · 10 minNasdaq 100 · 10 minNasdaq 100 · 5 minNikkei 225 · 5 minDAX 40 · 15 minSilver · 15 min

Longer history

Re-run on up to 1,000,000 bars

With 947,000 bars available on S&P 500 5 minutes, net profit rose to EUR 5,469.38 from EUR 3,714.79 in the standard run, and the older data alone added EUR 1,754.59.

S&P 500 · 5 min

Bars available947,000
Net, standard 200,000-bar run3,714.79 EUR
Net, long run5,469.38 EUR
Net on the older data alone1,754.59 EUR

The code

ProBuilder, rewritten to house standard

Every file in the library uses the same header, the same section order and the same variable names. The numbers above were produced by the original version before the rewrite, and the rewrite has not yet been compiled in ProRealTime.

// ============================================================
// ADX Plus DI Trend
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long only
// Timeframe tested: 5 minutes
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1          // contracts per trade
adxPeriod = 7             // ADX and DI length
adxThreshold = 16         // ADX level that confirms a trend
diLevel = 26              // +DI level that confirms buying pressure
firstTradeDay = 1         // entries allowed from Monday
lastTradeDay = 3          // to Wednesday
exitDay = 4               // close any long on Thursday
stopLossPoints = 600      // protective stop
takeProfitPoints = 200    // profit target

// --- Indicators ---
adxValue = ADX[adxPeriod]
plusDI = DIplus[adxPeriod](close)
tradingWindow = DayOfWeek >= firstTradeDay AND DayOfWeek <= lastTradeDay

17 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • The stop loss (600 points) is three times the profit target (200 points), so one full loss wipes out about three winners. The 59.48% win rate on the best run leaves little room for that ratio to slip.
  • The best run has only 153 trades on S&P 500 5 minutes, a small sample for an intraday system.
  • Many markets in the table only have sweep data, where profit factor was not recorded, so those rows show net profit without the balance of wins and losses.
  • The published stats come from the version before the code rewrite, and the rewritten code has not been compile-checked yet.

Indicators used

ADXDMI

How to load it

  1. Copy the code with the copy button above the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Questions

About this strategy

Can the ADX Plus DI Trend run live in ProOrder?

It is written as a ProOrder system with fixed stop and target orders. The rewritten code has not been compile-checked yet, so run it on a demo account before going live.

How did it do on the Nasdaq 100?

Every Nasdaq 100 run in the table was profitable. The 3 minute run made EUR 11,461.4 with a profit factor of 1.51, and the 15 minute run made EUR 19,647.7 at 1.32, but its drawdown reached EUR 2,993.1.

How much capital does one contract need?

With 1 contract the best run had a max drawdown of EUR 443.83 on the S&P 500. On the Nasdaq 100 drawdowns ran higher, for example EUR 3,469.4 on 30 minutes, so size capital to the market you trade.

Why is the best result on 5 minutes?

A 5 minute chart lets the ADX(7) signal fire several times a week while the fixed 200 point target is still reachable within a day or two. Slower charts took more trades but reached lower profit factors, such as 1.33 on 30 minutes.

Related

Strategies like this one

DAX Survivor

Uses the same indicator.

1.17 PF · 1,514 trades

Candle Body Sum Intraday

Best run on the same market, S&P 500.

2.86 PF · 124 trades

RSI 3 Oversold Long

A similar profit factor.

2.12 PF · 255 trades

Want to see how traders size ADX setups like this one? Join the ProRealAlgos community waitlist.

Copy trading on US indices is available to ProRealAlgos members as spots open.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs