Join waitlist
Strategies / Mean reversion / CCI Extreme With EMA Cross

CCI Extreme With EMA Cross

Buys when CCI(30) is below -100 and the 8-period EMA crosses above the 28-period EMA. Sells when CCI(30) is above 100 and the EMAs cross the other way, with one contract held long only.

Mean reversionLong onlyIntradayNasdaq 10030 min
n/aProfit factor
14,693Net profit EUR
100.00%Win rate
5Trades
-7,057Max drawdown
2,939Avg trade

Best run of 39. Nasdaq 100, 30 min, spread 3, from run sweeps:2026-10-03-NAS100-30m-opt.tsv:56.

Entry rules, long

  1. CCI(30) of the typical price is below -100 on this bar

Exit rules

  1. CCI(30) of the typical price is above 100 on this bar

Test conditions

PeriodUp to 2026-10-03
InstrumentNasdaq 100, 30 minutes
Spread3 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
Nasdaq 100Best run30 minn/a 5100.0014,693 EUR-7,057
USD/JPY1 hourn/a 1100.00539,050 USD-259,570
USD/JPY30 minn/a 1100.00247,830 USD-244,650
USD/JPY5 minn/a 1100.00155,340 USD-109,650
USD/JPY3 minn/a 1100.00136,190 USD-110,410
Nikkei 22530 minn/a 1100.0048,754 USD-12,879
Nikkei 2251 hourn/a 1100.0042,423 USD-12,691
Nikkei 22510 minn/a 366.6731,973 USD-12,992
Nikkei 2255 minn/a 250.0028,913 USD-13,126
Nasdaq 1001 hourn/a 1100.0017,569 EUR-5,831
Nikkei 2253 minn/a 366.6716,357 USD-13,081
Dow Jones10 minn/a 1100.0016,122 EUR-8,394
Nasdaq 1005 minn/a 1100.0012,729 EUR-5,875
Nasdaq 1004 hoursn/a 1100.0012,528 EUR-5,672
Dow Jones15 minn/a 2100.0012,297 EUR-8,376
Nasdaq 1003 minn/a 1100.009,447 EUR-3,758
DAX 4010 minn/a 1100.009,447 EUR-4,461
Dow Jones5 minn/a 1100.009,432 EUR-8,419
DAX 40Dailyn/a 1100.008,363 EUR-3,843
S&P 5004 hoursn/a 1100.006,314 EUR-1,298
Nasdaq 1001 minn/a 1100.006,312 EUR-3,760
DAX 4030 minn/a 2100.006,056 EUR-5,810
Nasdaq 1002 minn/a 2100.005,205 EUR-3,756
S&P 50030 minn/a 1100.004,993 EUR-1,319
S&P 5001 hourn/a 1100.004,401 EUR-1,317
FTSE 10030 minn/a 3100.004,258 EUR-1,305
FTSE 10010 minn/a 1100.002,860 EUR-1,320
Gold4 hoursn/a 1100.002,326 EUR-1,586
Gold10 minn/a 1100.002,320 EUR-1,629
FTSE 1005 minn/a 1100.002,136 EUR-1,320
Brent Crude10 minn/a 1100.001,770 EUR-1,218
Gold5 minn/a 250.001,754 EUR-1,378
Brent Crude2 minn/a 1100.001,711 EUR-1,263
FTSE 1003 minn/a 250.001,518 EUR-1,262
S&P 5003 minn/a 250.001,394 EUR-699
Gold30 minn/a 1100.001,029 EUR-454
Gold15 minn/a 1100.001,020 EUR-454
S&P 50010 minn/a 2100.00720 EUR-558
Nasdaq 10010 minn/a 1100.00447 EUR-436

Charts

Results by run

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

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// CCI Extreme With EMA Cross
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: 30 minutes
// ==============================================================

DEFPARAM CumulateOrders = false

cciv = CCI[30](TypicalPrice)
emafast = ExponentialAverage[8](close)
emaslow = ExponentialAverage[28](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

CCIEMA
Read this firstKnown weaknesses3 points
  • No profit factor is available, because only sweep results exist for this strategy.
  • The best run has only 5 trades, which is a small sample to judge it on.
  • The code sets no stop loss, so a losing trade stays open until an exit signal arrives.

Questions

About this strategy

Can I run CCI Extreme With EMA Cross 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 by trade count was Nasdaq 100, 30 minutes, with 5 trades.

How large was the drawdown?

The best run had a maximum drawdown of 7,057 EUR at the tested position size, against a net result of 14,693 EUR.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Reversal Pattern With Chaikin Volatility

Uses the same indicator.

2.26 PF · 6,872 trades

Volatility Spike Regression Long

Best run on the same market, Nasdaq 100.

1.22 PF · 1,850 trades

ATR Band

Also a mean reversion strategy.

10.31 PF · 53 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