Join waitlist
Strategies / Mean reversion / RSI And CCI Oversold Reversal

RSI And CCI Oversold Reversal

Buys when the 14 period RSI is below 30 and the 14 period CCI is below -100 at the same time. Closes the long when RSI rises above 70 and CCI rises above 100.

Mean reversionLong onlySwingNikkei 2254 hours
3.01Profit factor
51,299Net profit USD
75.00%Win rate
120Trades
-9,360Max drawdown
427Avg trade

Best run of 39. Nikkei 225, 4 hours, spread 10, from run pf:2026-10-04-NIKKEI-4h.tsv:4.

Entry rules, long

  1. CCI (14) is below -100.
  2. Entries are only checked after bar 40.

Exit rules

  1. RSI (14) is above 70 and CCI (14) is above 100, closing the long.

Test conditions

PeriodUp to 2026-10-04
InstrumentNikkei 225, 4 hours
Spread10 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
Nikkei 225Best run4 hours3.01 12075.0051,299 USD-9,360
Nasdaq 1004 hours2.84 16176.4018,391 EUR-4,546
FTSE 10010 min1.32 76768.064,431 EUR-1,049
USD/JPY1 hourn/a 58363.81316,830 USD-229,030
Dow JonesDailyn/a 5680.3648,604 EUR-8,988
EUR/USD10 minn/a 73362.6232,920 USD-10,666
Nikkei 2251 hourn/a 41766.6727,577 USD-9,373
Nikkei 22515 minn/a 81664.8327,423 USD-13,655
Nikkei 22530 minn/a 80165.7923,099 USD-9,953
DAX 40Dailyn/a 6071.6718,642 EUR-4,933
Nikkei 22510 minn/a 80965.1417,136 USD-10,426
Dow Jones1 hourn/a 19471.6515,997 EUR-9,943
DAX 404 hoursn/a 14271.1314,979 EUR-5,393
SilverDailyn/a 5170.5912,999 USD-8,384
Nasdaq 100Dailyn/a 4283.3312,501 EUR-4,231
Dow Jones30 minn/a 35167.5212,034 EUR-8,593
DAX 401 hourn/a 50367.209,841 EUR-6,007
Dow Jones15 minn/a 66066.369,578 EUR-8,514
Dow Jones10 minn/a 79466.129,458 EUR-6,903
FTSE 100Dailyn/a 3884.218,517 EUR-3,190
Nasdaq 10015 minn/a 82664.898,503 EUR-5,841
Nasdaq 1001 hourn/a 55367.817,917 EUR-6,981
Dow Jones1 minn/a 68266.576,704 EUR-3,230
DAX 4030 minn/a 83265.265,993 EUR-4,716
FTSE 1001 hourn/a 46668.455,269 EUR-2,663
DAX 4010 minn/a 78366.035,197 EUR-3,534
FTSE 1004 hoursn/a 11870.344,929 EUR-2,806
S&P 5004 hoursn/a 14174.473,604 EUR-1,298
FTSE 1005 minn/a 81967.523,519 EUR-911
FTSE 10030 minn/a 78866.623,347 EUR-2,872
S&P 500Dailyn/a 5379.253,327 EUR-955
S&P 50030 minn/a 79267.053,172 EUR-1,062
FTSE 10015 minn/a 76766.622,877 EUR-2,672
S&P 5001 hourn/a 55468.952,862 EUR-1,398
S&P 50010 minn/a 79166.121,888 EUR-1,076
S&P 50015 minn/a 78566.371,330 EUR-1,155
Gold4 hoursn/a 13958.991,296 EUR-744
GBP/USD5 minn/a 73964.681,174 USD-791
S&P 5001 minn/a 60866.28716 EUR-343

Charts

Results by run

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

// ==============================================================
// RSI And CCI Oversold Reversal
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: 4 hours
// ==============================================================

DEFPARAM CumulateOrders = false

myRsi = RSI[14](close)
tp = (high + low + close) / 3
sma = Average[14](tp)
devsum = 0
FOR myK = 0 TO 13 DO
    devsum = devsum + ABS(tp[myK] - sma)
NEXT
myCci = 0

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

RSICCISMA
Longer historyRe-run on up to 1,000,000 barsNikkei 225 · 4 hours · older data 0.00 USD

Nikkei 225 had no history beyond the standard run, so both runs used 22,000 bars.

Nikkei 225 · 4 hours

Bars available22,000
Net, standard 200,000-bar run51,298.70 USD
Net, long run51,298.70 USD
Net on the older data alone0.00 USD
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 RSI And CCI Oversold Reversal 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 39 market and timeframe combinations. The best run was Nikkei 225, 4 hours, with a profit factor of 3.01 over 120 trades.

How large was the drawdown?

The best run had a maximum drawdown of 9,360 USD at the tested position size, against a net result of 51,299 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

Rock Climber

Best run on the same market, Nikkei 225.

1.44 PF · 1,644 trades

RSI Zone Reversal

Also a mean reversion strategy.

3.00 PF · 120 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