Join waitlist
Strategies / Momentum / Moving Average RSI Long

Moving Average RSI Long

The idea buys when the 5 period high average is above the 20 period high average and RSI(11) is above 65. It sells the long when the 5 period high average falls below the 20 period low average and RSI(11) is below 35.

MomentumLong onlySwingS&P 500Daily
3.49Profit factor
5,214Net profit EUR
44.55%Win rate
110Trades
-819Max drawdown
47.40Avg trade

Best run of 35. S&P 500, Daily, spread 1, from run pf:2026-10-04-USA500-D.tsv:11.

Entry rules, long

  1. The previous candle body is above 0, and the current body is less than 2 times the previous body.
  2. No long position is open.

Exit rules

  1. The 5 period average of highs is below the 20 period average of lows, and RSI(11) is below 35.

Test conditions

PeriodUp to 2026-10-04
InstrumentS&P 500, Daily
Spread1 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
S&P 500Best runDaily3.49 11044.555,214 EUR-819
USD/JPY30 minn/a 1,48738.06467,060 USD-190,670
USD/JPY1 hourn/a 1,09840.35448,420 USD-248,610
EUR/USDDailyn/a 11041.8238,612 USD-38,140
Nikkei 225Dailyn/a 9038.8935,614 USD-13,961
Nikkei 2254 hoursn/a 21947.4927,214 USD-14,270
Nikkei 2253 minn/a 1,54037.3423,568 USD-8,034
Dow JonesDailyn/a 12640.4820,216 EUR-8,083
Nikkei 2255 minn/a 1,62237.1820,134 USD-15,443
Nasdaq 100Dailyn/a 8859.0915,272 EUR-4,820
Nikkei 2251 hourn/a 80539.7514,471 USD-10,401
US Crude OilDailyn/a 9950.5113,216 EUR-5,518
Dow Jones4 hoursn/a 8846.5912,763 EUR-6,615
Nasdaq 1004 hoursn/a 30144.1912,463 EUR-4,202
Nikkei 2252 minn/a 1,55338.5112,411 USD-9,330
Nasdaq 10030 minn/a 1,50041.5311,603 EUR-3,773
DAX 4030 minn/a 1,54941.5110,676 EUR-4,116
Brent CrudeDailyn/a 4346.5110,296 EUR-5,988
Nasdaq 10015 minn/a 1,53439.5010,169 EUR-4,084
Nasdaq 1001 hourn/a 98042.3510,132 EUR-6,251
DAX 404 hoursn/a 28143.069,947 EUR-4,819
Nasdaq 10010 minn/a 1,53635.689,500 EUR-4,328
Nasdaq 1005 minn/a 1,50438.368,479 EUR-4,816
Dow Jones30 minn/a 64639.788,238 EUR-6,782
DAX 40Dailyn/a 9443.627,402 EUR-4,985
DAX 4015 minn/a 1,54639.724,072 EUR-3,550
GoldDailyn/a 12137.192,999 EUR-886
Gold1 hourn/a 91140.612,796 EUR-1,056
Gold30 minn/a 1,46337.052,781 EUR-938
Gold4 hoursn/a 27640.222,456 EUR-1,446
Gold10 minn/a 1,54635.581,475 EUR-756
S&P 50030 minn/a 1,53839.471,441 EUR-1,266
S&P 5004 hoursn/a 30041.001,213 EUR-1,178
Gold15 minn/a 1,52635.911,174 EUR-909
Gold5 minn/a 1,56836.54904 EUR-614

Charts

Results by run

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

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// Moving Average RSI Long
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long only
// Timeframe tested: Daily
// ==============================================================

DEFPARAM CumulateOrders = false

smahigh = Average[5](high)
smahighslow = Average[20](high)
smalowslow = Average[20](low)
myRsi = RSI[11](close)
body = abs(open - close)
prevbody = abs(open[1] - close[1])

13 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

SMARSI
Longer historyRe-run on up to 1,000,000 barsS&P 500 · Daily · older data 33.57 EUR

S&P 500 had no history beyond the standard run, so both runs used 14,000 bars.

S&P 500 · Daily

Bars available14,000
Net, standard 200,000-bar run5,213.58 EUR
Net, long run5,247.15 EUR
Net on the older data alone33.57 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 Moving Average RSI Long 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 35 market and timeframe combinations. The best run was S&P 500, Daily, with a profit factor of 3.49 over 110 trades.

How large was the drawdown?

The best run had a maximum drawdown of 819 EUR at the tested position size, against a net result of 5,214 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

CCI Sign With EMA Alignment

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

1.23 PF · 1,253 trades

Trend Filtered RSI Average Entry

Also a momentum strategy.

3.40 PF · 116 trades

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

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