Strategy library · Strategy family

Mean reversion and bands on NQ and ES: 2-year backtest of 12 strategies

CE Market Solutions tested 12 strategies in the mean reversion and bands family on NQ and ES futures. The table lists every one of them, ordered by name, at its default timeframe on each market: the 15-minute chart where the strategy has one, otherwise its own first timeframe (1-hour, daily or session). Open a strategy for every timeframe and every trade. Nothing on this page is ordered by a result.

Tested by CE Market Solutions on 2026-10-26. Gross, no commission or slippage. Last 2 years.

Mean reversion and bands: 12 strategies at their default timeframe

Mean reversion and bands: 12 strategies at their default timeframe, NQ 2024-10-08 to 2026-10-07 and ES 2024-08-28 to 2026-08-27, one contract, before commission and slippage.

StrategyTimeframeMarketTradesWin %Net ptsNet $ (1 contract)Max DD ptsLong tradesLong net ptsShort tradesShort net pts
10-bar low above SMA 20015 minuteNQ63559.4%−535.75−$10,7151,894.25346−1,527.25289991.50
10-bar low above SMA 20015 minuteES64260.9%−89.25−$4,462491.253538.00289−97.25
Bollinger breakout (20, 2)15 minuteNQ64842.4%952.75$19,0553,777.253231,192.50325−239.75
Bollinger breakout (20, 2)15 minuteES67043.3%122.25$6,113577.25329295.50341−173.25
Bollinger lower band buy (20, 2)15 minuteNQ69762.6%−988.00−$19,7603,987.75347−691.00350−297.00
Bollinger lower band buy (20, 2)15 minuteES72961.7%−293.50−$14,675864.50362−95.25367−198.25
Bollinger re-entry (20, 2)15 minuteNQ70158.4%−246.75−$4,9353,457.25344769.50357−1,016.25
Bollinger re-entry (20, 2)15 minuteES72157.8%−607.50−$30,3751,104.75355−267.75366−339.75
Bollinger squeeze (TTM style)15 minuteNQ32543.4%1,440.25$28,8052,763.75172901.25153539.00
Bollinger squeeze (TTM style)15 minuteES33337.8%−224.75−$11,237428.50179−152.50154−72.25
Double 7s (Connors)DailyNQ2774.1%1,520.50$30,4105,517.00246,654.753−5,134.25
Double 7s (Connors)DailyES2875.0%296.75$14,838919.25251,072.753−776.00
Internal bar strength (IBS)DailyNQ7064.3%2,667.50$53,3506,428.00182,781.5052−114.00
Internal bar strength (IBS)DailyES6460.9%464.00$23,200740.2517268.0047196.00
Keltner reversion (EMA 20, 2 ATR)15 minuteNQ44560.9%−1,993.25−$39,8653,793.2522770.00218−2,063.25
Keltner reversion (EMA 20, 2 ATR)15 minuteES47055.7%−361.75−$18,087995.25234−284.75236−77.00
Three down closes in a row1 hourNQ43364.4%2,982.50$59,6502,206.751951,937.752381,044.75
Three down closes in a row1 hourES43761.6%227.00$11,350602.75202293.00235−66.00
Turnaround TuesdayDailyNQ3743.2%820.25$16,405943.00————
Turnaround TuesdayDailyES3345.5%249.25$12,463197.50————
VWAP 2 standard-deviation fade15 minuteNQ35865.1%2,325.50$46,5101,305.75183674.251751,651.25
VWAP 2 standard-deviation fade15 minuteES40261.4%358.00$17,900310.75201107.00201251.00
Z-score (20) at -215 minuteNQ64857.6%−952.75−$19,0555,085.75325239.75323−1,192.50
Z-score (20) at -215 minuteES67056.7%−130.75−$6,537798.00341164.75329−295.50

The figures in words

At those default timeframes the 12 strategies took 5,024 trades in total on NQ and 5,199 trades in total on ES, from NQ 2024-10-08 to 2026-10-07 and ES 2024-08-28 to 2026-08-27, before commission and slippage.

10-bar low above SMA 200: buys when price closes at a 10-bar low while above the 200 SMA, sells short when price closes at a 10-bar high while below the 200 SMA. Exit: Close back above / below SMA 5.

Bollinger breakout (20, 2): buys when price closes above the upper Bollinger Band, sells short when price closes below the lower Bollinger Band. Exit: Close back through the middle band.

Bollinger lower band buy (20, 2): buys when price closes below the lower Bollinger Band (20, 2), sells short when price closes above the upper Bollinger Band (20, 2). Exit: Touch of the middle band (SMA 20).

Bollinger re-entry (20, 2): buys when price closes back inside the lower Bollinger Band, sells short when price closes back inside the upper Bollinger Band. Exit: Touch of the middle band.

Bollinger squeeze (TTM style): buys when the Bollinger Band squeeze inside the Keltner Channel releases with upward momentum, sells short when the Bollinger Band squeeze inside the Keltner Channel releases with downward momentum. Exit: Close back through EMA 20.

Double 7s (Connors): buys when price closes at a 7-day low while above the 200 SMA, sells short when price closes at a 7-day high while below the 200 SMA. Exit: Close at a 7-day high / low.

Internal bar strength (IBS): buys when the day closes in the bottom 20% of its range, sells short when the day closes in the top 20% of its range. Exit: Next close in the top 80% / bottom 20%.

Keltner reversion (EMA 20, 2 ATR): buys when price closes below the lower Keltner Channel (EMA 20, 2 ATR), sells short when price closes above the upper Keltner Channel (EMA 20, 2 ATR). Exit: Touch of the middle line.

Three down closes in a row: buys when price makes three lower closes in a row, sells short when price makes three higher closes in a row. Exit: First close in the trade's favour.

Turnaround Tuesday: buys when Monday closes down (buying Monday's close and selling Tuesday's close). Exit: Sell Tuesday's close.

VWAP 2 standard-deviation fade: buys when price closes below VWAP minus 2 standard deviations, sells short when price closes above VWAP plus 2 standard deviations. Exit: Touch of VWAP.

Z-score (20) at -2: buys when the 20-bar z-score drops below -2, sells short when the 20-bar z-score rises above +2. Exit: Z-score back to 0.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, 10-bar low above SMA 200 took 635 trades, won 59.4% of them and made -535.75 points (-$10,715 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, 10-bar low above SMA 200 took 642 trades, won 60.9% of them and made -89.25 points (-$4,462 on one ES contract), before commission and slippage.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, Bollinger breakout (20, 2) took 648 trades, won 42.4% of them and made 952.75 points ($19,055 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, Bollinger breakout (20, 2) took 670 trades, won 43.3% of them and made 122.25 points ($6,113 on one ES contract), before commission and slippage.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, Bollinger lower band buy (20, 2) took 697 trades, won 62.6% of them and made -988.00 points (-$19,760 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, Bollinger lower band buy (20, 2) took 729 trades, won 61.7% of them and made -293.50 points (-$14,675 on one ES contract), before commission and slippage.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, Bollinger re-entry (20, 2) took 701 trades, won 58.4% of them and made -246.75 points (-$4,935 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, Bollinger re-entry (20, 2) took 721 trades, won 57.8% of them and made -607.50 points (-$30,375 on one ES contract), before commission and slippage.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, Bollinger squeeze (TTM style) took 325 trades, won 43.4% of them and made 1,440.25 points ($28,805 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, Bollinger squeeze (TTM style) took 333 trades, won 37.8% of them and made -224.75 points (-$11,237 on one ES contract), before commission and slippage.

On the NQ daily chart from 2024-10-08 to 2026-10-07, Double 7s (Connors) took 27 trades, won 74.1% of them and made 1,520.50 points ($30,410 on one NQ contract), before commission and slippage. On the ES daily chart from 2024-08-28 to 2026-08-27, Double 7s (Connors) took 28 trades, won 75.0% of them and made 296.75 points ($14,838 on one ES contract), before commission and slippage.

On the NQ daily chart from 2024-10-08 to 2026-10-07, Internal bar strength (IBS) took 70 trades, won 64.3% of them and made 2,667.50 points ($53,350 on one NQ contract), before commission and slippage. On the ES daily chart from 2024-08-28 to 2026-08-27, Internal bar strength (IBS) took 64 trades, won 60.9% of them and made 464.00 points ($23,200 on one ES contract), before commission and slippage.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, Keltner reversion (EMA 20, 2 ATR) took 445 trades, won 60.9% of them and made -1,993.25 points (-$39,865 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, Keltner reversion (EMA 20, 2 ATR) took 470 trades, won 55.7% of them and made -361.75 points (-$18,087 on one ES contract), before commission and slippage.

On the NQ 1-hour chart from 2024-10-08 to 2026-10-07, Three down closes in a row took 433 trades, won 64.4% of them and made 2,982.50 points ($59,650 on one NQ contract), before commission and slippage. On the ES 1-hour chart from 2024-08-28 to 2026-08-27, Three down closes in a row took 437 trades, won 61.6% of them and made 227.00 points ($11,350 on one ES contract), before commission and slippage.

On the NQ daily chart from 2024-10-08 to 2026-10-07, Turnaround Tuesday took 37 trades, won 43.2% of them and made 820.25 points ($16,405 on one NQ contract), before commission and slippage. On the ES daily chart from 2024-08-28 to 2026-08-27, Turnaround Tuesday took 33 trades, won 45.5% of them and made 249.25 points ($12,463 on one ES contract), before commission and slippage.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, VWAP 2 standard-deviation fade took 358 trades, won 65.1% of them and made 2,325.50 points ($46,510 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, VWAP 2 standard-deviation fade took 402 trades, won 61.4% of them and made 358.00 points ($17,900 on one ES contract), before commission and slippage.

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, Z-score (20) at -2 took 648 trades, won 57.6% of them and made -952.75 points (-$19,055 on one NQ contract), before commission and slippage. On the ES 15-minute chart from 2024-08-28 to 2026-08-27, Z-score (20) at -2 took 670 trades, won 56.7% of them and made -130.75 points (-$6,537 on one ES contract), before commission and slippage.

How to read the columns: Trades is the number of closed trades; Win % is the share of them that finished above zero points; Net pts is the sum of every trade's points; Net $ is net points times the contract's dollars per point, on one contract; Max DD pts is the largest fall of the running total of points from a peak. The longs-only and shorts-only columns are sums over that side's own trades, and the two sides add up to the strategy's combined result.

CE Market Solutions tested every strategy on the last 2 years of NQ and ES futures (NQ 2024-10-08 to 2026-10-07 and ES 2024-08-28 to 2026-08-27), before commission and slippage, with each signal filled at the next bar's open, intraday positions flat at 15:59 ET and textbook default indicator settings. Nothing is tuned.

Questions and answers

How many strategies in the mean reversion and bands family did CE Market Solutions test on NQ and ES?

CE Market Solutions tested 12 strategies in the mean reversion and bands family on NQ and ES futures, and at their default timeframes they took 5,024 trades in total on NQ and 5,199 trades in total on ES, from NQ 2024-10-08 to 2026-10-07 and ES 2024-08-28 to 2026-08-27, before commission and slippage.

Which strategies are in the mean reversion and bands family?

The 12 strategies in the mean reversion and bands family are 10-bar low above SMA 200, Bollinger breakout (20, 2), Bollinger lower band buy (20, 2), Bollinger re-entry (20, 2), Bollinger squeeze (TTM style), Double 7s (Connors), Internal bar strength (IBS), Keltner reversion (EMA 20, 2 ATR), Three down closes in a row, Turnaround Tuesday, VWAP 2 standard-deviation fade and Z-score (20) at -2, each on NQ and ES futures over the last 2 years (NQ 2024-10-08 to 2026-10-07 and ES 2024-08-28 to 2026-08-27), before commission and slippage.

How these were run

  • Gross: no commission and no slippage.
  • The last 2 years of each market, from the first to the last session of its window.
  • A signal on a closed bar fills at the next bar’s open.
  • A stop and a target touched in the same minute count as the stop.
  • Intraday positions are flat at 15:59 ET.
  • Textbook TradingView default settings for every indicator; nothing is tuned.

Want your own rules tested the same way?