VALYNOX
VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Indicators and signals

RSI 2 strategy: Connors settings, costs and an NQ futures test

On daily bars of a large contract the round-trip cost is a thin slice of the move an RSI 2 trade captures; on intraday bars it takes most of it. Test Connors' three rules with costs in, one change at a time, then validate the candidate before a demo run.

By · Published · updated · Editorial policy

Contents
  1. Does the RSI 2 strategy still work on futures after costs?
  2. What are the Connors original RSI 2 settings?
  3. RSI 2 vs RSI 14: what changes?
  4. Should you use RSI 2 on daily bars or intraday bars?
  5. Which trend filter and exit should you test?
  6. What does an NQ daily backtest with costs show?
  7. How do you validate an RSI 2 result before trading it?
  8. Frequently asked questions
  9. References

Does the RSI 2 strategy still work on futures after costs?

The RSI 2 strategy survives costs on futures only where the move it captures per trade is many times the round-trip cost, which means daily bars on a large contract such as NQ come first. On intraday bars the same commission and slippage take most of the small reversion move. One kept backtest proves nothing by itself.

The RSI 2 strategy is a short-term mean reversion rule that buys after two or three sharp down closes inside an uptrend and sells as soon as price snaps back. Mean reversion is the idea that a price stretched far from its recent average tends to move back toward it, like a rubber band let go. The RSI indicator with a lookback of 2 is the stretch gauge: the entry fires when it reads near 0 or 100, and the trade is closed within a few bars.

Because the trade is closed quickly, the gross move it captures is small, and the round-trip cost (commission plus slippage for the entry and the exit together) is a fixed slice of that move. The slice is thin on a daily bar of a large contract and thick on a 15-minute bar of a micro contract. Turn a move in points into dollars for your own contract with the free futures contract calculator before you test anything else.

Hypothetical example

A daily-bar RSI 2 trade on a large index future catches a gross move of $900; the round-trip cost is $30, about 3 percent of the move. A 15-minute trade with the same rule catches $60; the same $30 is half of it. Double the slippage and the daily trade keeps most of its move, while the intraday trade is close to zero.

Hypothetical example: a 30 dollar round-trip cost is about 3 percent of a 900 dollar daily-bar move but half of a 60 dollar intraday move Same $30, different weight Cost share of the move, hypothetical Daily: $900 move 3% cost Intraday: $60 move $30 50% cost Same cost, much smaller move. So: test daily bars first.
The cost is the same in both trades. Only the size of the captured move changes, and that decides whether the rule survives.

The second half of the answer is about evidence. A rule with two thresholds, a filter length and an exit length has many plausible variants, and the best of them on one history is partly luck. Bailey, Borwein, López de Prado and Zhu (2014) show that the more variants you compare on the same data, the more the best one is inflated. A single good RSI 2 backtest is therefore a candidate, and the last section gives the order of checks it must pass.

What are the Connors original RSI 2 settings?

Connors' published version is a sequence of three rules: trade only in the direction of the 200-day simple moving average, enter when the 2-period RSI closes below 5 (a looser version uses 10) for a long or above 95 (or 90) for a short, and exit when the close crosses back over the 5-day simple moving average. There is no stop loss in the original design; the exit rule is the only way out.

RSI is the Relative Strength Index, a 0-to-100 reading of recent up closes against recent down closes, introduced by Wilder (1978) with a 14-bar lookback. Connors kept the formula and cut the lookback to 2, which turns it into a counter of the last two closes. The three rules, in the order they are checked:

  1. Filter. Close above the 200-day average: longs only. Close below it: shorts only.
  2. Entry. Long when RSI(2) closes below 5 (or 10) with the filter on. Short when RSI(2) closes above 95 (or 90) with the filter on. In a next-bar backtest the order fills at the next bar's open.
  3. Exit. Long closed when the close is above the 5-day average; short closed when the close is below it. Again filled on the next bar.
RuleLong sideShort side
Trend filterClose above 200-day averageClose below 200-day average
EntryRSI(2) below 5 (or 10)RSI(2) above 95 (or 90)
ExitClose above 5-day averageClose below 5-day average
StopNoneNone
The three Connors RSI 2 rules on one chart, long side: 1 price above the 200-day average turns the filter on, 2 RSI(2) closes below 10 for the entry, 3 the close back above the 5-day average gives the exit Three rules, one order 200-day 5-day RSI(2) 90 10 1 2 3 1 2 3 Filter Entry Exit Filter first, then entry, then exit. So: test the rules as written first.
The three Connors rules in order on one chart: filter, entry, exit. The short side is the mirror image.

Two points matter for a futures test. The 200-day filter is slow, so it keeps you buying dips through the first weeks of a bear market. The 5-day exit means a trade that keeps falling is held until price recovers to a falling average, which is where the largest losses come from. Both are the reason later sections test alternatives.

RSI 2 vs RSI 14: what changes?

Shortening the lookback from 14 to 2 turns RSI from a slow trend-condition gauge into a fast pullback counter, and that changes the thresholds, the trade count and the holding time, not only the shape of the line. The arithmetic explains why. RSI compares average up moves with average down moves over the lookback. With a lookback of 2, two down closes in a row leave no up move at all, so RSI(2) prints 0; two up closes print 100. Any two same-direction closes push it to an extreme, which happens every few bars in most markets.

With a lookback of 14, one or two closes are a small part of the average, so the line drifts and reaches 30 or 70 only after a long one-sided run. That is why RSI(14) users wait for 30 and 70 and read them as oversold and overbought conditions, while RSI(2) users set 5 or 10 and 90 or 95 and read them as a dip to buy or a spike to sell. The two share a formula but answer different questions, like a one-day and a one-year weather average.

RSI(2)RSI(14)
Lookback2 bars14 bars
Common thresholds5/95 or 10/9030/70
Typical holding on daily barsDays (2 to 5 bars)Weeks
What it measuresDepth of the last two-close pullbackTrend condition over about three weeks
Trades per yearManyFew
On the same 60 daily bars, RSI(14) touches its 30/70 extremes once while RSI(2) touches its 10/90 extremes nine times RSI(2) fires far more often Same 60 daily bars, two lookbacks RSI(14) 30 / 70 RSI(2) 10 / 90 1 touch 9 touches Lookback sets how often it fires. So: set thresholds per lookback.
The same 60 bars: RSI(14) touches its extremes once, RSI(2) touches its extremes many times. The lookback sets how often a signal can fire.

Where RSI sits among the indicators that can be written as rules, and which other tools can be tested at all, is sorted out in the guide to technical analysis tools and indicators.

Should you use RSI 2 on daily bars or intraday bars?

Test RSI 2 on daily bars first, because daily bars give a larger average move per trade relative to cost; intraday bars multiply the trade count and let commission and slippage take most of each small reversion move. The rule does not care about the bar size; the cost does. A 2-to-5 bar hold is two to five days on daily bars and under two hours on 15-minute bars, and a move that happens in two hours is on average much smaller than one that happens over three days.

Intraday use also adds a session problem. A trade opened late in the session can sit through the daily maintenance break or the weekend, and the gap on reopening is where the no-stop design hurts most. On daily bars this happens only at weekends and holidays. Before any intraday RSI 2 test, run the cost-to-move check:

  1. Run the rule once without costs and read the average trade in dollars. That is the gross move per trade.
  2. Add your broker's commission and at least one tick of slippage per side, and read the round-trip cost in dollars.
  3. Divide the gross move by the round-trip cost. A ratio under about 3 means a normal rise in slippage can erase the edge; a ratio of 10 or more means cost is a detail. In the hypothetical example above, the daily trade is in the second group and the intraday trade in the first.
Daily bars15-minute bars
Trades per yearOrder of tensOrder of hundreds
Holding time2 to 5 bars = days2 to 5 bars = under two hours
Session breaks inside a tradeRareFrequent
Cost as share of average moveSmallLarge
Typical pattern of daily versus 15-minute RSI 2: tens versus hundreds of trades a year, days versus hours of holding, rare versus frequent session breaks, and a small versus large share of each move lost to cost Intraday gives more to cost Typical pattern, not exact counts Daily 15-min Trades a year Tens Hundreds Holding time Days Hours Session breaks Rare Frequent Cost share Small Large Smaller bars shrink the move. So: check cost-to-move first.
Daily versus intraday RSI 2 as a typical pattern: the intraday version trades far more often and gives a larger share of each move to cost.

Which trend filter and exit should you test?

Test the 200-day average against three alternative filters and the 5-day average exit against two alternative exits, changing one piece at a time, because the trend filter is what decides whether a dip is a pullback to buy or the start of a fall. A trend filter is a condition that must be true before an entry is allowed, read from a slower or different measure than the entry signal. Each filter lets a different set of dips through:

FilterWhat it readsLets a long dip through when
200-day moving averageDirection of the long trendClose is above the average
Choppiness indexRange or trend, not directionReading above 61.8 (range); blocked below 38.2 (trend)
Anchored VWAP from the last swing lowAverage price paid since the last turnClose is above the anchored line
Heikin Ashi candle colourSmoothed direction of the last barsLast Heikin Ashi candle is up

The choppiness index as a trend-or-range filter fits a reversion rule because mean reversion wants a range, and a reading above 61.8 says exactly that; it says nothing about direction, so it can be paired with the 200-day line. An anchored VWAP rule tested on ES futures gives a filter that resets at each swing instead of lagging 200 days. Heikin Ashi candles and how they are calculated give a faster direction read, with one rule: the smoothed close is a filter input, never a fill price.

Illustration of the same price dip under four trend filters: the 200-day average allows it, the choppiness index blocks it as a trend, the anchored VWAP allows it, and a down Heikin Ashi candle blocks it One dip, four verdicts Illustration: same dip, four filters 200-day average Choppiness index Anchored VWAP Heikin Ashi Allowed Blocked Allowed Blocked Each filter judges the dip differently. So: test one filter at a time.
The same dip under four filters. Each one allows or blocks the trade for a different reason, which is why they are tested one at a time.

For the exit, test three versions one at a time: close back across the 5-day average (original), a fixed time exit such as the close of the fifth bar, and an RSI recross such as RSI(2) closing above 70 for a long. The time exit caps the long losing hold the original allows; the RSI recross exits earlier and more often. Record trades, average trade and largest loss for each; the version that keeps the average trade and cuts the largest loss is the one to carry forward.

What does an NQ daily backtest with costs show?

A run on NQ daily bars with $30 of cost per round trip shows what a surviving short-term reversion result looks like: few trades, a large average trade against a small cost, and most of the time flat. The run tested a Gamma-Smoothed RSI reversion rule as its only entry and exit, long and short, one contract, no stop, no target and no trend filter. That is a stand-in built from standard indicators, not Connors' RSI(2) rule itself. It covers NQ daily bars from 2019-01-02 to 2025-06-30, with $20 commission and $10 slippage charged on every trade.

The search tried 1,024 candidates and kept one, chosen for its return against its drawdown. AlphaPrime (Valynox) charged the commission and slippage inside every one of those evaluations, so the ranking that kept this candidate was already net of costs.

Source: AlphaPrime product engine (CPU), run 2026-10-31. NQ daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $10 slippage per trade.

NumberResult
Net profit (closed trades)$90,145
Max drawdown$28,805
Trades81
Win rate60.49%
Profit factor1.878
Average trade$1,112.9
Time in market9.05%
Look at where the deepest drawdown sits relative to the out-of-sample stretch, and whether the curve keeps its slope after the split.
Look at where the deepest drawdown sits relative to the out-of-sample stretch, and whether the curve keeps its slope after the split. NQ · daily · 2019-01-02 to 2025-06-30 · CPU engine backtest
Hypothetical example: on NQ a 14 dollar round trip takes 2.8 percent of a 500 dollar gross average trade, on MNQ a 5 dollar round trip takes 10 percent of a 50 dollar gross average trade Micros pay a bigger share Hypothetical: same points, $4 fee NQ 2.8% cost $14 cost on $500 gross MNQ 10% cost $5 cost on $50 gross Same rule, over 3× the cost share. So: check cost share per contract.
The headline figures of the run: net profit, maximum drawdown, profit factor, trade count and period. NQ · daily · 2019-01-02 to 2025-06-30 · CPU engine backtest

Read the figures as a shape. An average trade of $1,112.9 against a $30 cost is the pattern the first section described: cost is a thin slice. Time in market of 9.05 percent and 81 trades confirm the short holding. Because this is the best of 1,024 tries on one history, the numbers are flattered by being chosen after the fact; they describe one kept candidate, not what the rule or the indicator delivers, and the out-of-sample stretch in the equity figure is the part to study.

The same $30 weighs very differently across the four index contracts, because the tick values differ. Per the CME contract specifications, NQ moves $20 per index point and $5 per 0.25-point tick, and MNQ moves $2 per point and $0.50 per tick; ES moves $12.50 per tick and MES $1.25 per tick. So $30 is 6 ticks on NQ, 2.4 ticks on ES, 60 ticks on MNQ and 24 ticks on MES. Micro contracts usually carry a lower commission per contract, so enter your own broker's figure. Exchanges can change tick sizes and values, so confirm them on the exchange's contract page before you set up a test.

A 30 dollar round-trip cost expressed in ticks: 6 ticks on NQ, 60 ticks on MNQ, 2.4 ticks on ES and 24 ticks on MES $30 is 60 ticks on MNQ One $30 round trip, in ticks NQ 6 ticks MNQ 60 ticks ES 2.4 ticks MES 24 ticks Micros turn one cost into many ticks. So: enter your own broker's cost.
The same $30 round trip expressed in ticks on four index contracts. Micro contracts usually carry a lower commission, so enter your own broker's cost.

How do you validate an RSI 2 result before trading it?

Treat the first backtest as a candidate and pass it through a fixed order of checks, with pass rules written before you look at any result. Walk-forward analysis is a test that tunes the thresholds on one window, runs them unchanged on the next window, moves forward and repeats. The order:

  1. In-sample search with costs in. Your broker's commission, at least one tick of slippage per side, next-bar fills. Pass rule example: average trade at least three times the round-trip cost.
  2. Out-of-sample block, rules unchanged. The later 20 to 30 percent of the history. Pass rule: the average trade stays positive and keeps at least half of its in-sample value.
  3. Walk-forward windows. Pass rule: most windows positive, and no single window supplying most of the profit.
  4. Neighbouring thresholds and doubled slippage. Long entry at 5, 10 and 15; short entry at 85, 90 and 95; exit average at 3, 5 and 8 days. Pass rule: neighbours behave alike, and the result stays positive with slippage doubled.
  5. One untouched final block, tested once. The most recent months that no run has loaded. Accept or reject on the same rule; never re-tune after looking.
Five checks in a fixed order: in-sample search with costs, out-of-sample block, walk-forward windows, neighbouring thresholds with doubled slippage, and one untouched final block; failing any check sends the candidate to reject Five checks, in order Write the pass rules first 1 2 3 4 5 In-sample, costs in Out-of-sample block Walk-forward windows Neighbours, 2× slippage Final block, once Reject Fail any check and it is out. So: pass all five, then demo.
The fixed order of checks. A candidate that fails any box leaves the process; only one that passes all five goes to a demo run.

Write these pass rules as thresholds in AlphaPrime's strategy validation before the search starts, so an RSI 2 candidate that fails the out-of-sample split is dropped before the walk-forward windows spend time on it. A candidate that passes all five goes to a demo account, not a live one: export its source code to the platform you run, for example MultiCharts, TradingView or NinjaTrader, from the platform export list, and let it place paper orders for a few weeks while you compare each fill with the backtest's next-bar price.

Next step: run Connors' three rules on your own daily bars of one large contract with your broker's commission and one tick of slippage per side, write down the average trade, then run it again with slippage doubled. If the average trade is still several times the round-trip cost, the candidate qualifies for the out-of-sample split.

Frequently asked questions

Does the RSI 2 strategy use a stop loss?

Connors' original RSI 2 design has no stop loss; the only exit is the close crossing back over the 5-day moving average. That means a trade that keeps falling is held until price recovers, which is where the largest losses come from. Test a fixed time exit or a dollar stop as a separate change and compare the largest loss and the average trade with the original before you choose.

Should the RSI 2 entry be below 5 or below 10?

Both thresholds appear in the published versions. A threshold of 5 waits for deeper two-close drops and produces fewer trades; 10 fires more often with shallower dips. Test 5, 10 and 15 side by side: if the three neighbours behave alike, the rule is not depending on one lucky value.

Can I run RSI 2 on MNQ or MES instead of NQ or ES?

Yes, the rule is identical, but convert your round-trip cost into ticks first. MNQ moves $0.50 per tick and MES $1.25 per tick, so a dollar cost that is a few ticks on NQ or ES becomes tens of ticks on the micro contracts. Micro commissions are usually lower per contract, so use your broker's actual figure and check the ratio of the average gross move to that cost.

How many RSI 2 trades do I need before I trust the result?

Daily-bar RSI 2 produces few trades a year, so a single out-of-sample block often holds only a few dozen, which is a hint rather than a result. Walk-forward windows produce more out-of-sample trades from the same history. Count completed trades, not years, and treat a few hundred out-of-sample trades as the point where a per-trade figure starts to mean something.

References

  • Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
  • CME Group. E-mini Nasdaq-100 Futures Contract Specs. https://www.cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.contractSpecs.html
  • CME Group. Micro E-mini Nasdaq-100 Index Futures Contract Specs. https://www.cmegroup.com/markets/equities/nasdaq/micro-e-mini-nasdaq-100.contractSpecs.html