Join waitlist
Strategies / Trend / Dual Moving Average Trend

Dual Moving Average Trend

Holds a long position while the 20-bar simple moving average is above the 100-bar simple moving average. Exits to flat when the 20-bar average falls to or below the 100-bar average.

TrendLong onlyIntradaySilver3 min
n/aProfit factor
16,228Net profit USD
30.99%Win rate
1,420Trades
-11,296Max drawdown
11.43Avg trade

Best run of 45. Silver, 3 min, spread 2, from run sweeps:2026-10-04-SILVER-3m-opt.tsv:12.

Entry rules, long

Exit rules

  1. The 20-bar simple moving average is at or below the 100-bar simple moving average.

Test conditions

PeriodUp to 2026-10-04
InstrumentSilver, 3 minutes
Spread2 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
SilverBest run3 minn/a 1,42030.9916,228 USD-11,296
USD/JPYDailyn/a 8242.681,054,750 USD-656,200
USD/JPY4 hoursn/a 23938.91614,020 USD-259,770
USD/JPY30 minn/a 1,29636.42599,200 USD-207,050
USD/JPY15 minn/a 1,31836.12507,910 USD-207,490
USD/JPY10 minn/a 1,34136.69380,600 USD-153,780
USD/JPY5 minn/a 1,34534.20250,220 USD-145,610
EUR/USDDailyn/a 9034.4473,215 USD-33,746
Nikkei 225Dailyn/a 7238.8937,617 USD-14,308
Dow JonesDailyn/a 9742.2723,122 EUR-6,286
Silver30 minn/a 1,36730.8022,777 USD-15,440
Nikkei 2254 hoursn/a 18436.4122,212 USD-13,361
Nikkei 22530 minn/a 1,31035.7321,137 USD-10,340
Nikkei 2251 hourn/a 67236.6118,785 USD-17,932
Nikkei 2252 minn/a 1,28934.7616,086 USD-7,130
Nikkei 2253 minn/a 1,31233.6915,860 USD-10,500
Nasdaq 100Dailyn/a 7251.3915,778 EUR-4,060
Nasdaq 1004 hoursn/a 21740.5514,865 EUR-4,719
Dow Jones15 minn/a 1,06735.8014,320 EUR-8,269
Dow Jones4 hoursn/a 7248.6114,147 EUR-6,799
DAX 40Dailyn/a 10443.2712,908 EUR-4,849
Nasdaq 10015 minn/a 1,30137.7412,751 EUR-4,561
Nasdaq 10030 minn/a 1,28037.4211,250 EUR-5,034
Nasdaq 1001 hourn/a 80437.8110,518 EUR-6,297
DAX 4015 minn/a 1,29536.8310,514 EUR-3,365
DAX 404 hoursn/a 20740.588,489 EUR-5,261
US Crude OilDailyn/a 7238.898,421 EUR-5,701
Nasdaq 10010 minn/a 1,35535.797,432 EUR-3,512
Brent Crude30 minn/a 84736.257,367 EUR-3,940
DAX 4010 minn/a 1,32334.775,505 EUR-2,898
Nasdaq 1005 minn/a 1,31833.164,939 EUR-4,368
DAX 401 hourn/a 77536.394,745 EUR-3,818
S&P 500Dailyn/a 9540.004,548 EUR-1,245
GoldDailyn/a 9543.163,277 EUR-1,222
S&P 5004 hoursn/a 20841.353,189 EUR-946
Gold4 hoursn/a 21738.712,598 EUR-962
Gold30 minn/a 1,29434.472,467 EUR-948
Gold15 minn/a 1,35732.652,331 EUR-775
Gold1 hourn/a 80536.402,203 EUR-1,253
Gold10 minn/a 1,35932.522,198 EUR-561
S&P 50015 minn/a 1,29835.441,886 EUR-771
S&P 5001 hourn/a 84436.491,585 EUR-1,067
Gold5 minn/a 1,38033.551,317 EUR-663
Gold3 minn/a 1,37932.631,088 EUR-672
Gold2 minn/a 1,38131.64994 EUR-643

Charts

Results by run

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

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// Dual Moving Average Trend
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long only
// Timeframe tested: 3 minutes
// ==============================================================

DEFPARAM CumulateOrders = false

short = Average[20](close)
longma = Average[100](close)

9 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

SMA
Read this firstKnown weaknesses3 points
  • No profit factor is available, because only sweep results exist for this strategy.
  • The maximum drawdown of 11,296 USD is large next to the net profit of 16,228 USD.
  • The code sets no stop loss, so a losing trade stays open until an exit signal arrives.

Questions

About this strategy

Can I run Dual Moving Average Trend 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 45 market and timeframe combinations. The best run by trade count was Silver, 3 minutes, with 1,420 trades.

How large was the drawdown?

The best run had a maximum drawdown of 11,296 USD at the tested position size, against a net result of 16,228 USD.

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

SMA Crossover With RSI Exit

Best run on the same market, Silver.

2.13 PF · 8,999 trades

ADX Filtered EMA Cross

Also a trend strategy.

1.15 PF · 607 trades

Want strategies that are already part of a live portfolio? Join the ProRealAlgos waitlist.

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