Join waitlist
Strategies / Mean reversion / CCI Regression Typical Price Reversal

CCI Regression Typical Price Reversal

Buys when the CCI, measured against a 90 bar least squares regression line, falls to -30 or below. Closes the long when the CCI rises to 150 or above.

Mean reversionLong onlyIntradayS&P 50030 min
1.44Profit factor
5,215Net profit EUR
68.74%Win rate
803Trades
-1,224Max drawdown
6.49Avg trade

Best run of 42. S&P 500, 30 min, spread 1, from run pf:2026-10-04-USA500-30m.tsv:3.

Entry rules, long

  1. Signals are only checked after bar 185.

Exit rules

  1. The 90 bar CCI rises to 150 or above, closing the long.

Test conditions

PeriodUp to 2026-10-04
InstrumentS&P 500, 30 minutes
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 run30 min1.44 80368.745,215 EUR-1,224
USD/JPY15 minn/a 71564.20199,590 USD-198,510
Dow JonesDailyn/a 3778.3847,854 EUR-11,142
Nikkei 2254 hoursn/a 8970.7942,736 USD-11,312
Nikkei 225Dailyn/a 3560.0041,788 USD-31,883
Nikkei 22510 minn/a 74064.0537,540 USD-12,120
Nikkei 2251 hourn/a 32663.5032,119 USD-13,035
Nikkei 22530 minn/a 72864.9730,055 USD-11,230
Nikkei 22515 minn/a 69462.3927,290 USD-14,655
Nasdaq 100Dailyn/a 3588.5724,416 EUR-5,520
DAX 40Dailyn/a 4571.1124,119 EUR-5,511
Nasdaq 1001 hourn/a 42670.1922,009 EUR-7,069
Nasdaq 10030 minn/a 78269.0521,129 EUR-6,525
Nasdaq 1004 hoursn/a 10476.9220,862 EUR-6,070
DAX 404 hoursn/a 10075.0019,633 EUR-5,779
Nasdaq 10015 minn/a 82667.0719,416 EUR-5,977
Dow Jones30 minn/a 32568.9219,241 EUR-10,356
Dow Jones4 hoursn/a 3775.6818,205 EUR-9,647
Dow Jones15 minn/a 71666.2015,613 EUR-10,656
Nasdaq 10010 minn/a 86869.8214,994 EUR-4,907
Dow Jones1 hourn/a 15274.3414,393 EUR-11,342
DAX 401 hourn/a 42267.3013,957 EUR-5,928
DAX 4030 minn/a 80167.6713,671 EUR-5,818
Dow Jones10 minn/a 92166.1212,441 EUR-9,731
FTSE 100Dailyn/a 3582.869,391 EUR-3,621
DAX 4015 minn/a 76766.368,701 EUR-5,177
DAX 4010 minn/a 81465.727,919 EUR-4,935
Nasdaq 1005 minn/a 74465.197,325 EUR-5,263
S&P 500Dailyn/a 3284.386,972 EUR-1,238
S&P 5004 hoursn/a 9977.785,594 EUR-1,298
FTSE 1004 hoursn/a 10372.825,318 EUR-3,390
FTSE 1001 hourn/a 40265.924,895 EUR-3,564
FTSE 10015 minn/a 82067.564,455 EUR-2,485
S&P 5001 hourn/a 42071.904,319 EUR-1,429
S&P 50015 minn/a 79769.393,820 EUR-1,294
FTSE 10030 minn/a 76766.363,551 EUR-2,807
FTSE 10010 minn/a 84866.043,473 EUR-1,238
Gold4 hoursn/a 11764.102,385 EUR-1,445
FTSE 1005 minn/a 85566.432,328 EUR-1,260
S&P 50010 minn/a 81968.861,648 EUR-1,554
S&P 5005 minn/a 75965.611,490 EUR-1,343
GoldDailyn/a 5863.791,436 EUR-1,035

Charts

Results by run

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

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// CCI Regression Typical Price Reversal
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: 30 minutes
// ==============================================================

DEFPARAM CumulateOrders = false

ONCE dir = 0

37 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

CCILinear Regression
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 CCI Regression Typical Price 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 42 market and timeframe combinations. The best run was S&P 500, 30 minutes, with a profit factor of 1.44 over 803 trades.

How large was the drawdown?

The best run had a maximum drawdown of 1,224 EUR at the tested position size, against a net result of 5,215 EUR.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

CCI Breakout

Uses the same indicator.

1.08 PF · 6,065 trades

CCI Sign With EMA Alignment

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

1.23 PF · 1,253 trades

Smoothed RSI Reversal With Stops

Also a mean reversion strategy.

1.43 PF · 202 trades

Put your name on the ProRealAlgos waitlist to trade a tested portfolio instead of single strategies.

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