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 Soren Huang · Published · updated · Editorial policy
Contents
- Does the RSI 2 strategy still work on futures after costs?
- What are the Connors original RSI 2 settings?
- RSI 2 vs RSI 14: what changes?
- Should you use RSI 2 on daily bars or intraday bars?
- Which trend filter and exit should you test?
- What does an NQ daily backtest with costs show?
- How do you validate an RSI 2 result before trading it?
- Frequently asked questions
- 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.
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:
- Filter. Close above the 200-day average: longs only. Close below it: shorts only.
- 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.
- 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.
| Rule | Long side | Short side |
|---|---|---|
| Trend filter | Close above 200-day average | Close below 200-day average |
| Entry | RSI(2) below 5 (or 10) | RSI(2) above 95 (or 90) |
| Exit | Close above 5-day average | Close below 5-day average |
| Stop | None | None |
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) | |
|---|---|---|
| Lookback | 2 bars | 14 bars |
| Common thresholds | 5/95 or 10/90 | 30/70 |
| Typical holding on daily bars | Days (2 to 5 bars) | Weeks |
| What it measures | Depth of the last two-close pullback | Trend condition over about three weeks |
| Trades per year | Many | Few |
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:
- Run the rule once without costs and read the average trade in dollars. That is the gross move per trade.
- Add your broker's commission and at least one tick of slippage per side, and read the round-trip cost in dollars.
- 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 bars | 15-minute bars | |
|---|---|---|
| Trades per year | Order of tens | Order of hundreds |
| Holding time | 2 to 5 bars = days | 2 to 5 bars = under two hours |
| Session breaks inside a trade | Rare | Frequent |
| Cost as share of average move | Small | Large |
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:
| Filter | What it reads | Lets a long dip through when |
|---|---|---|
| 200-day moving average | Direction of the long trend | Close is above the average |
| Choppiness index | Range or trend, not direction | Reading above 61.8 (range); blocked below 38.2 (trend) |
| Anchored VWAP from the last swing low | Average price paid since the last turn | Close is above the anchored line |
| Heikin Ashi candle colour | Smoothed direction of the last bars | Last 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.
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.
| Number | Result |
|---|---|
| Net profit (closed trades) | $90,145 |
| Max drawdown | $28,805 |
| Trades | 81 |
| Win rate | 60.49% |
| Profit factor | 1.878 |
| Average trade | $1,112.9 |
| Time in market | 9.05% |

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.
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:
- 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.
- 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.
- Walk-forward windows. Pass rule: most windows positive, and no single window supplying most of the profit.
- 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.
- 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.
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

