Join waitlist
Strategies / Trend / ADX Filtered SMA Crossover (long only)

ADX Filtered SMA Crossover (long only)

Buys when ADX(14) is above 25 and the 3-period simple moving average crosses above the 10-period one. Sells when ADX(14) is below 25 and the averages cross the other way, holding one contract, long only.

TrendLong onlySwingDAX 404 hours
1.86Profit factor
19,856Net profit EUR
59.38%Win rate
160Trades
-4,215Max drawdown
124Avg trade

Best run of 31. DAX 40, 4 hours, spread 3, from run pf:2026-10-04-DAX40-4h.tsv:1.

Entry rules, long

  1. ADX(14) is above 25 on this bar

Exit rules

  1. ADX(14) is below 25 on this bar

Test conditions

PeriodUp to 2026-10-04
InstrumentDAX 40, 4 hours
Spread3 points
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-10-04

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
DAX 40Best run4 hours1.86 16059.3819,856 EUR-4,215
S&P 5001 hour1.67 70760.966,947 EUR-1,175
Nasdaq 1001 hour1.49 72157.7020,412 EUR-3,993
S&P 50030 min1.40 1,04556.755,046 EUR-1,085
Nasdaq 10030 min1.39 1,00957.3820,486 EUR-5,088
USD/JPY4 hoursn/a 18855.85763,880 USD-293,670
Dow JonesDailyn/a 8377.1141,857 EUR-7,927
Nikkei 22530 minn/a 1,07353.2238,623 USD-13,591
Nikkei 2251 hourn/a 54554.5037,558 USD-13,955
Nikkei 2254 hoursn/a 13959.7137,156 USD-11,500
Dow Jones1 hourn/a 22862.2826,979 EUR-9,431
Nikkei 22515 minn/a 1,09151.8820,335 USD-11,122
Nasdaq 1004 hoursn/a 16665.0619,289 EUR-6,689
Nikkei 2255 minn/a 1,10449.3718,965 USD-13,795
Nasdaq 100Dailyn/a 6468.7517,176 EUR-4,516
Dow Jones30 minn/a 43453.2315,974 EUR-10,157
DAX 40Dailyn/a 8158.0215,770 EUR-4,395
Dow Jones4 hoursn/a 5366.0411,994 EUR-9,925
Nasdaq 10015 minn/a 1,09757.7010,845 EUR-5,654
DAX 401 hourn/a 63553.3910,236 EUR-7,874
Nasdaq 10010 minn/a 1,10255.177,916 EUR-5,873
FTSE 100Dailyn/a 6870.597,898 EUR-2,138
Nasdaq 1005 minn/a 1,11354.817,221 EUR-6,034
Dow Jones3 minn/a 1,09851.097,041 EUR-4,672
S&P 500Dailyn/a 8770.115,661 EUR-1,190
Nasdaq 1003 minn/a 1,10254.455,561 EUR-4,449
FTSE 1004 hoursn/a 15763.064,623 EUR-3,363
S&P 5004 hoursn/a 17664.204,098 EUR-1,184
S&P 5005 minn/a 1,08352.722,138 EUR-1,004
S&P 50010 minn/a 1,09853.101,820 EUR-1,365
S&P 5003 minn/a 1,05552.321,061 EUR-923

Charts

Results by run

Top 10 of 31 runs. The full list is in the table above.

Above 1.0 made money, below 1.0 lost money.

The code

ProBuilder code, as tested

// ==============================================================
// ADX Filtered SMA Crossover (long only)
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long only
// Timeframe tested: 4 hours
// ==============================================================

DEFPARAM CumulateOrders = false

smafast = Average[3](close)
smaslow = Average[10](close)
myAdx = ADX[14]

15 more lines: the entry and exit rules.

Setup

How to load it

  1. Copy the code with the copy button on 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.

Indicators used

ADXSMA
Longer historyRe-run on up to 1,000,000 barsDAX 40 · 4 hours · older data 71.40 EUR

DAX 40 had no history beyond the standard run, so both runs used 28,000 bars.

DAX 40 · 4 hours

Bars available28,000
Net, standard 200,000-bar run19,856.20 EUR
Net, long run19,927.60 EUR
Net on the older data alone71.40 EUR
Read this firstKnown weaknesses2 points
  • The code sets no stop loss, so a losing trade stays open until an exit signal arrives.
  • Results include the spread only. Commissions and overnight financing are not included.

Questions

About this strategy

Can I run ADX Filtered SMA Crossover (long only) in ProOrder?

Yes. The code is ProBuilder and runs as an automated ProOrder system. Backtest it on your own account with your own spread and position size before trading it live.

Which markets was it tested on?

It was tested on 31 market and timeframe combinations. The best run was DAX 40, 4 hours, with a profit factor of 1.86 over 160 trades.

How large was the drawdown?

The best run had a maximum drawdown of 4,215 EUR at the tested position size, against a net result of 19,856 EUR.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Trend Surfer

Uses the same indicator.

1.04 PF · 10,813 trades

Heikin Ashi Color Flip

Best run on the same market, DAX 40.

1.12 PF · 3,692 trades

EMA Pullback Short Continuation

Also a trend strategy.

1.87 PF · 36 trades

See how ProRealAlgos combines strategies like this into one automated portfolio.

The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.

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