Join waitlist
Strategies / Mean reversion / SMA Pullback With RSI Filter

SMA Pullback With RSI Filter

It buys when price is below its 10-period SMA, above its 200-period SMA, and RSI(3) is below 30. It closes when price moves back above the 10-period SMA and below the prior bar's low, or at a 5 percent stop or 20 percent target.

Mean reversionLong onlySwingS&P 500Daily
2.04Profit factor
6,165Net profit EUR
70.43%Win rate
399Trades
-921Max drawdown
15.45Avg trade

Best run of 12. S&P 500, Daily, spread 1, from run pf:2026-10-13-USA500-D.tsv:4.

Entry rules, long

  1. The close is above the 200-period SMA.
  2. The close is below the 10-period SMA.

Exit rules

  1. A 5 percent stop loss and a 20 percent profit target are set from the entry price.

Test conditions

PeriodUp to 2026-10-13
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-13

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
S&P 500Best runDaily2.04 39970.436,165 EUR-921
Nasdaq 100Daily1.78 37662.7721,754 EUR-4,024
S&P 5004 hours1.62 72067.225,135 EUR-732
Nasdaq 1004 hours1.38 71965.9213,966 EUR-3,558
Dow JonesDailyn/a 36267.1327,405 EUR-7,901
Nikkei 225Dailyn/a 29163.9225,766 USD-11,480
Nikkei 2254 hoursn/a 48861.6825,715 USD-10,397
Dow Jones4 hoursn/a 20868.7516,077 EUR-5,374
Dow Jones1 hourn/a 70062.4313,440 EUR-6,303
DAX 40Dailyn/a 44360.508,478 EUR-5,248
FTSE 100Dailyn/a 30362.712,684 EUR-2,570
GoldDailyn/a 29557.291,479 EUR-1,225

Charts

Results by run

Top 10 of 12 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

// ==============================================================
// SMA Pullback With RSI Filter
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: Daily
// ==============================================================

DEFPARAM CumulateOrders = false

malong = Average[200](close)
mashort = Average[10](close)
myRsi = RSI[3](close)

12 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
Read this firstKnown weaknesses2 points
  • Results include the spread only. Commissions and overnight financing are not included.
  • The code is published as it was backtested and has not been compiled again since.

Questions

About this strategy

Can I run SMA Pullback With RSI Filter 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 12 market and timeframe combinations. The best run was S&P 500, Daily, with a profit factor of 2.04 over 399 trades.

How large was the drawdown?

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

Seasonal RSI Dip Buying

Also a mean reversion strategy.

2.04 PF · 65 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