RSI Overbought and Oversold Signals: Rules, Failure Swings, and Replay Testing
Define and test RSI overbought, oversold, centerline, divergence, range-shift, and failure-swing rules without hindsight or universal trade claims.
An RSI reading above 70 or below 30 is a condition, not a complete trade instruction. To test an RSI overbought or oversold signal, freeze the indicator version, threshold, closed-bar rule, event order, price confirmation, market context, invalidation, expiry, and outcome measure before revealing later candles.
This page is the rule-definition and replay-testing owner for RSI signals. The separate RSI Indicator Explained guide remains the broad introduction to what RSI measures, the standard formula, common settings, and general interpretation. The purpose here is narrower: turn phrases such as “RSI is oversold,” “RSI exited 30,” “RSI diverged,” or “RSI formed a failure swing” into reproducible rules that another reviewer could apply to the same chart.
Educational note: RSI summarizes historical price changes. It does not establish fair value, predict direction, guarantee a reversal, or determine a correct entry, stop, target, or position size.
Key Takeaways
- Separate an RSI state from an RSI event: being above 70 differs from crossing above 70 or exiting back below it.
- Define equality explicitly:
RSI >= 70andRSI > 70are different rules. - Use closed bars unless the study intentionally records live, changing indicator values.
- Divergence is a pivot-dependent candidate condition, not a standalone entry.
- Failure swings need exact pivot, sequence, duration, invalidation, and equality rules.
- Trend ranges such as 40–90 or 10–60 are observations to test, not universal boundaries.
- Higher-timeframe RSI must use only bars closed at the lower-timeframe decision timestamp.
- Failed, expired, ambiguous, and no-signal cases belong in the dataset.
- Thresholds, periods, confirmations, and outcome windows should be frozen before evaluation.
- Chart replay can test decision consistency, but it cannot reproduce full live execution.
Which RSI Page Owns Which Question?
| Question | Owner |
|---|---|
| What is RSI and what does it measure? | RSI Indicator Explained |
| What are the traditional 70/30 levels? | RSI Indicator Explained |
| How is RSI calculated at a high level? | RSI Indicator Explained |
| What exactly counts as an overbought or oversold signal event? | This rule-testing guide |
| Does threshold entry, dwell, exit, or re-entry trigger the rule? | This rule-testing guide |
| How are RSI range shifts, divergence, and failure swings versioned? | This rule-testing guide |
| How are confirmation, failure, expiry, ambiguity, and outcome recorded? | This rule-testing guide |
| How can the rule be reviewed without seeing future candles? | This rule-testing guide and the market replay guide |
The two pages should not be rewritten as duplicate complete RSI guides.
1. Freeze the RSI Version Before Testing Signals
A rule named “RSI 14” can still produce different values across platforms. Record the complete implementation before labeling signals.
Minimum calculation controls
| Control | What to record |
|---|---|
| Input source | Close, open, high, low, median price, or another series |
| Length | Number of chart bars, commonly 14 but not universally required |
| Gain/loss method | Positive and negative close-to-close changes or another implementation |
| Initial averages | First-length arithmetic mean, hidden earlier history, or platform method |
| Smoothing | Wilder/RMA or another explicitly selected average |
| Warm-up history | Number of earlier bars loaded before the scored sample |
| Chart interval | One minute, hourly, daily, weekly, or another duration |
| Session | Regular, extended, exchange, or custom session |
| Timezone | Exchange, UTC, or user-defined boundary |
| Current-bar policy | Closed bars only or a documented live-bar version |
| Data provider | Symbol, venue, feed, corrections, and adjustment settings |
| Precision | Internal precision and displayed rounding |
The broad formula is:
RSI = 100 - [100 / (1 + RS)]
RS = Smoothed Average Gain / Smoothed Average Loss
A common Wilder implementation seeds the first average gain and average loss with arithmetic means over the selected length, then recursively updates each average:
Average Gain_t = [(n - 1) × Average Gain_(t-1) + Gain_t] / n
Average Loss_t = [(n - 1) × Average Loss_(t-1) + Loss_t] / n
This calculation detail matters because threshold events can move by one or more bars when the seed, warm-up history, input source, session, or smoothing differs.
Edge cases
A complete implementation should state what happens when:
- average loss equals zero;
- average gain equals zero;
- the first visible bar has no previous close;
- a bar is missing or corrected;
- the displayed value is rounded to a threshold such as 70.00;
- the current bar changes before it closes; or
- adjusted stock history or a futures roll changes the close series.
Do not compare two platforms only by matching the visible period field.
2. RSI State and RSI Event Are Different
An RSI level can be described in several ways. Mixing them after seeing the outcome creates an unfalsifiable rule.
State definitions
Examples using traditional thresholds:
Overbought state: RSI_t >= 70
Oversold state: RSI_t <= 30
Neutral state: 30 < RSI_t < 70
Another version might use strict inequalities:
Overbought state: RSI_t > 70
Oversold state: RSI_t < 30
Those definitions differ when RSI equals exactly 70 or 30. Freeze the equality rule.
Event definitions
| Event | Example closed-bar definition |
|---|---|
| Enter overbought | RSI_(t-1) < 70 and RSI_t >= 70 |
| Exit overbought | RSI_(t-1) >= 70 and RSI_t < 70 |
| Enter oversold | RSI_(t-1) > 30 and RSI_t <= 30 |
| Exit oversold | RSI_(t-1) <= 30 and RSI_t > 30 |
| Re-enter overbought | RSI exited below 70, then crosses back to or above 70 within the allowed window |
| Re-enter oversold | RSI exited above 30, then crosses back to or below 30 within the allowed window |
| Centerline cross up | RSI_(t-1) <= 50 and RSI_t > 50 under the chosen equality rule |
| Centerline cross down | RSI_(t-1) >= 50 and RSI_t < 50 under the chosen equality rule |
“RSI is overbought” is a state. “RSI crossed below 70” is an event. A strategy that enters on the first state bar is not the same as one that waits for the exit event.
3. Four Overbought and Oversold Rule Families
These versions should be tested separately rather than blended into one result.
Version A: Threshold-entry observation
Candidate begins on the first closed bar that enters an extreme.
Bullish candidate: RSI enters oversold
Bearish candidate: RSI enters overbought
This version records what happens after threshold entry. It should not be described as a reversal rule unless a separate confirmation event is required.
Version B: Threshold-exit event
Candidate begins when RSI leaves the extreme.
Bullish candidate: RSI exits oversold above 30
Bearish candidate: RSI exits overbought below 70
The study must specify whether the exit bar itself is actionable, whether price confirmation is required, and whether a one-bar dip outside the zone counts.
Version C: Dwell plus exit
Require RSI to remain in the extreme for a minimum or maximum number of closed bars before exiting.
Examples:
Minimum dwell: RSI remains <= 30 for at least 2 closed bars
Maximum dwell: candidate expires after 8 closed bars below 30
Confirmation: RSI then closes above 30
Dwell changes the sample. It may remove brief touches but can also delay the event. Choose the duration before testing.
Version D: Extreme, exit, and price confirmation
Require a price event after or alongside the RSI event.
Possible price confirmations include:
- close above the previous bar's high;
- close above a frozen swing high;
- bullish or bearish engulfing definition;
- break of a short-term market-structure pivot;
- rejection from a support or resistance zone; or
- a specified number of closes beyond a level.
Each confirmation belongs to its own version. Do not substitute whichever price pattern appears after the RSI event.
4. Threshold Selection Is a Research Variable
Traditional RSI thresholds are 70 and 30. Other commonly discussed versions include 80/20, 60/40, and trend-dependent ranges. None is universally correct for every instrument, interval, or market state.
Record thresholds as a pair
A study should not casually compare a 70 overbought threshold with a 20 oversold threshold. Record the complete pair and any asymmetry:
| Version | Upper threshold | Lower threshold | Reason for inclusion |
|---|---|---|---|
| Traditional | 70 | 30 | Common reference version |
| More extreme | 80 | 20 | Separate sensitivity test |
| Custom | Frozen value | Frozen value | Requires documented rationale |
Avoid threshold mining
Testing every integer from 50 to 90 and reporting only the best threshold creates selection bias. A better process is:
- choose a small set of justified variants;
- define them before evaluation;
- keep the development and evaluation samples separate;
- report all tested variants; and
- check whether nearby thresholds produce similar conclusions.
A result that disappears when 70 changes to 69 or 71 may be fragile.
5. The 50 Centerline Needs Its Own Rule
RSI near 50 is often interpreted as balanced recent gains and losses. A centerline cross is not the same as an extreme-zone signal.
Possible centerline versions:
- first close above 50 after an oversold event;
- first close below 50 after an overbought event;
- two consecutive closes above or below 50;
- centerline cross only when price structure already supports the direction;
- centerline as a filter rather than a trigger; or
- no centerline rule.
Trigger versus filter
Trigger version:
The centerline cross starts the candidate.
Filter version:
Another setup starts the candidate, and RSI must already be above or below 50.
These produce different timestamps and samples. Record which role the centerline plays.
6. RSI Range Shifts Require a Frozen Trend Definition
Fidelity documents the observation that RSI often occupies higher ranges in uptrends and lower ranges in downtrends. Commonly cited examples are approximately 40–90 in bullish conditions and 10–60 in bearish conditions, with ranges varying by instrument, settings, and trend strength.
Do not use that observation as an automatic instruction to buy at 40 or sell at 60.
Define the market state first
Possible trend definitions include:
- confirmed higher highs and higher lows;
- confirmed lower highs and lower lows;
- price above or below a moving average with a frozen slope rule;
- a breakout-and-acceptance rule;
- a higher-timeframe structure label; or
- a pre-classified range state.
For market-structure definitions, use the separate market structure guide.
Prevent circular labeling
Do not call the market bullish because RSI stayed above 40 and then claim RSI above 40 works in bullish markets. The trend label must be independent of the RSI rule being evaluated, or the circularity must be disclosed.
Candidate range-shift records
| Field | Example |
|---|---|
| Price-state definition | Confirmed higher-high/higher-low sequence |
| RSI lower boundary | 40 under Version R1 |
| RSI upper boundary | 80 under Version R1 |
| Confirmation | Two closed RSI bars back above 40 after a pullback |
| Failure | Price structure breaks before confirmation |
| Expiry | Ten bars after the first boundary touch |
Treat the boundaries as hypotheses to test, not fixed laws.
7. RSI Divergence Is a Pivot-Dependent Candidate
Divergence compares price pivots with RSI pivots:
Bullish divergence:
Price forms a lower low.
RSI forms a higher low.
Bearish divergence:
Price forms a higher high.
RSI forms a lower high.
The words “high” and “low” are not enough. Define the pivots.
Pivot controls
- number of bars required on each side of a pivot;
- wick, close, or another price source;
- RSI value taken on the price-pivot bar or from a separate RSI pivot;
- maximum distance between the two pivots;
- minimum price difference;
- minimum RSI difference;
- whether equal highs or lows count;
- whether intervening pivots invalidate the comparison; and
- when the second pivot becomes knowable.
A pivot that needs three bars on the right is not confirmed on the pivot bar. The decision timestamp occurs three bars later. Moving the timestamp backward creates hindsight leakage.
Regular versus hidden divergence
If hidden divergence is included, define it separately:
- bullish hidden divergence: price higher low and RSI lower low;
- bearish hidden divergence: price lower high and RSI higher high.
Do not combine regular and hidden divergence in one result unless the study explicitly treats them as one family.
Divergence is not sufficient by itself
A testable divergence workflow may require:
- confirmed price and RSI pivots;
- divergence candidate;
- threshold or centerline event;
- price confirmation;
- invalidation and expiry; and
- a frozen outcome window.
The candidate remains a warning condition until the chosen sequence completes.
8. Define RSI Failure Swings as a State Machine
Failure swings rely on RSI itself and should be described as an ordered series of states.
Bullish failure swing example
- RSI closes below the lower threshold.
- RSI closes back above the lower threshold.
- RSI pulls back but remains above the lower threshold.
- RSI closes above the prior RSI rebound high.
Bearish failure swing example
- RSI closes above the upper threshold.
- RSI closes back below the upper threshold.
- RSI rebounds but remains below the upper threshold.
- RSI closes below the prior RSI reaction low.
Required rule details
| Component | Decision required |
|---|---|
| Extreme | < 30, <= 30, > 70, or >= 70 |
| Rebound pivot | How many left/right bars confirm it? |
| Pullback | Must it remain strictly above or below the threshold? |
| Break | Wick, live value, or closed RSI value? |
| Maximum duration | How many bars may each step take? |
| Failure | Which threshold recross or pivot break cancels the sequence? |
| Equality | Does touching the prior RSI pivot count as a break? |
| Reset | When can a new sequence begin? |
| Price filter | None, support/resistance, structure, or another frozen rule |
Without these details, reviewers can label different patterns as the same failure swing.
9. Freeze Event Order
A rule may require several conditions:
- RSI extreme;
- RSI threshold exit;
- divergence;
- failure swing completion;
- price confirmation;
- higher-timeframe alignment; and
- support or resistance interaction.
The order matters.
Example sequence versions
| Version | Required order |
|---|---|
| S1 | RSI extreme → RSI exit → price confirmation |
| S2 | Price confirmation → RSI exit within three bars |
| S3 | Divergence confirmed → RSI exit → price confirmation |
| S4 | RSI failure swing completes → next-bar price confirmation |
| S5 | RSI and price confirmation on the same closed bar |
Score these as separate versions. Do not allow any order unless the rule explicitly says order is irrelevant.
Same-bar events
If RSI exits 30 and price confirms on the same candle, state whether that counts. If the rule enters at the close, the decision uses the completed bar. If it assumes an intrabar entry before the close, OHLC data alone may not show when the required conditions became known.
10. Define Price Confirmation Objectively
Price confirmation should describe observable chart data rather than an impression such as “strong candle” or “clear reversal.”
Possible definitions:
- candle closes above the prior candle high;
- candle closes below the prior candle low;
- candle body exceeds a frozen fraction of its total range;
- close location is within the top or bottom frozen percentage of the range;
- price closes beyond a confirmed swing;
- price rejects a frozen support or resistance zone;
- two consecutive closes occur outside a range; or
- a named candlestick pattern satisfies explicit OHLC geometry.
For named patterns, use the candlestick pattern guide. For support and resistance context, use the support and resistance guide.
Avoid discretionary substitution
If the rule requires a close above the prior high, do not accept a hammer, a volume increase, or a moving-average touch as an equivalent confirmation after seeing the outcome. Those are different variants.
11. Control Multi-Timeframe Visibility
A higher-timeframe filter can introduce future information when its bar was incomplete at the lower-timeframe decision.
Example:
- Lower timeframe: 15-minute chart.
- Higher timeframe: four-hour RSI.
- Decision time: 10:45.
- Four-hour bar closes at 12:00.
The final four-hour close and RSI value are unavailable at 10:45. A valid closed-bar study can use only the most recently completed four-hour RSI value.
Record these controls
- exchange and chart timezone;
- session start and end;
- exact higher-timeframe bar boundaries;
- lower-timeframe decision timestamp;
- last fully closed higher-timeframe bar;
- RSI value visible at that time;
- whether extended hours are included; and
- how daylight-saving changes are handled.
Use the multiple timeframe analysis guide for aggregation and timing boundaries.
12. Candidate, Confirmation, Failure, Invalidation, and Expiry
A rule should classify every case rather than retaining only completed examples.
Candidate
The earliest state that starts observation, such as:
- RSI enters an extreme;
- divergence becomes confirmed;
- failure-swing Step 2 completes; or
- RSI reaches a trend-range boundary.
Confirmation
The predefined sequence completes on closed data.
Failure
The candidate violates a required intermediate condition before confirmation. Examples:
- RSI recrosses the prohibited threshold;
- a divergence pivot is invalidated;
- the failure-swing pullback crosses the extreme again; or
- price breaks the contextual structure first.
Invalidation
The confirmed hypothesis becomes structurally false under the chosen rule. Invalidation is not automatically the same as an executable stop order.
Expiry
The sequence does not complete within the frozen bar count, session, or date window.
No signal
The chart never creates the candidate.
Ambiguous
The data or event order cannot be resolved under the available bar data.
These labels prevent the dataset from becoming a collection of only successful-looking examples.
13. Handle Live-Bar and OHLC Ambiguity
RSI calculated from the current close changes while the candle is forming. A live value may cross 70, fall back below 70, and finish at 68. A closed-bar rule records no overbought entry event if the final value never satisfies the threshold.
Choose one policy
Closed-bar policy:
Use final RSI values after the candle closes.
Live-bar policy:
Record timestamped intrabar values from a data source that preserves them.
Historical OHLC candles cannot reconstruct every intrabar RSI crossing because the sequence of trades inside the bar is unknown.
Price-path ambiguity
Suppose a bar contains both a hypothetical confirmation level and invalidation level. OHLC does not reveal which was reached first. Use one documented policy:
- mark ambiguous and exclude from directional scoring;
- use lower-timeframe data;
- apply a conservative adverse-first assumption; or
- use a fixed simulation path disclosed in advance.
Do not select the favorable path case by case.
14. RSI Signal Testing Table
Use a table like this to keep variants separate.
| Rule ID | RSI version | Candidate | Confirmation | Context | Failure | Expiry | Outcome |
|---|---|---|---|---|---|---|---|
| OX-1 | RSI 14, close, Wilder | Enter >= 70 | Exit < 70 | None | Re-enter >= 70 before confirmation is not possible because exit is confirmation | 10 bars | Forward return and range |
| OS-1 | RSI 14, close, Wilder | Enter <= 30 | Exit > 30 plus close above prior high | Frozen range state | Close below candidate low before confirmation | 8 bars | Confirmation, failure, expiry |
| FS-B1 | RSI 14, close, Wilder | Bullish failure-swing Step 2 | Step 4 closes above RSI pivot | Support-zone interaction | RSI returns <= 30 during pullback | 15 bars | Outcome after completion |
| DIV-B1 | RSI 14, close, Wilder | Confirmed bullish divergence | RSI exits 30 and price closes above swing | Higher-timeframe state | Price pivot invalidated | 12 bars | Cost-aware result |
| CL-1 | RSI 14, close, Wilder | Cross above 50 | Two closes above 50 | Confirmed uptrend | Close below 50 before second close | 5 bars | Persistence and range |
The example IDs are research labels, not recommended trading rules.
15. Evaluate More Than Win Rate
A single win rate can hide the size, timing, and cost of outcomes.
Possible measures include:
- candidate count;
- confirmation rate;
- failure rate;
- expiry rate;
- ambiguous-case rate;
- median bars from candidate to confirmation;
- median and distribution of forward returns;
- maximum favorable excursion;
- maximum adverse excursion;
- forward high-low range;
- outcome by trend or range state;
- outcome by instrument and interval;
- sensitivity to threshold and period;
- cost-adjusted expectancy under disclosed assumptions; and
- drawdown or consecutive-failure distribution for a complete strategy layer.
A directional label must be frozen before evaluation. For example, define whether a bullish outcome means positive close-to-close return after five bars, reaching a structural objective before invalidation, or another measure.
16. Control Overfitting and Hindsight
Separate samples
- Development sample: create and revise rules.
- Validation sample: compare a small number of frozen variants.
- Evaluation sample: untouched until the final rule is fixed.
Maintain a version ledger
Record every change to:
- RSI length;
- threshold pair;
- equality rule;
- pivot method;
- confirmation sequence;
- trend filter;
- expiry window;
- outcome horizon; and
- cost or fill assumption.
Do not erase failed versions.
Include negative cases
Record:
- threshold events that never reverse;
- divergences that persist;
- failure swings that fail before completion;
- range-shift labels that break;
- conflicting higher-timeframe signals;
- ambiguous same-bar outcomes; and
- sessions with no candidate.
Robustness checks
A rule is less credible when performance disappears under small changes such as:
- RSI 13 versus 14 versus 15;
- 69/31 versus 70/30 versus 71/29;
- one versus two confirmation closes;
- adjacent outcome horizons;
- another reputable data provider;
- regular versus extended sessions; or
- a nearby but untouched time period.
Robustness does not prove future performance, but it exposes fragile definitions.
17. Candle-by-Candle Replay Workflow
- Select the instrument, provider, chart interval, session, and timezone.
- Record RSI source, length, smoothing, seed or warm-up policy, thresholds, and precision.
- Freeze the candidate, event order, confirmation, failure, invalidation, expiry, and outcome rules.
- Hide future candles before labeling the first candidate.
- Use only closed bars unless a timestamped live-bar dataset is explicitly part of the study.
- Record the RSI state and price context at each decision point.
- Advance one candle at a time.
- Keep failed, expired, no-signal, and ambiguous cases.
- Do not change the rule after seeing the later path.
- Repeat on development, validation, and untouched evaluation samples.
- Compare variants with the same data and outcome definition.
- Report limitations and all material versions tested.
For broader historical-testing controls, use the backtesting guide.
18. RSI Replay Record
| Field | Record |
|---|---|
| Rule version | Unique ID and version date |
| Instrument | Symbol, venue, product, contract |
| Data | Provider, adjustment, session, timezone |
| Chart | Interval and closed-bar policy |
| RSI | Source, length, smoothing, seed, warm-up, precision |
| Thresholds | Upper, lower, centerline, equality |
| Candidate | State or event that begins observation |
| Context | Trend, range, support/resistance, or none |
| Divergence | Pivot method, delay, tolerance, type |
| Failure swing | Step definitions and pivot rules |
| Sequence | Required order and same-bar policy |
| Price confirmation | Exact OHLC or structure rule |
| Higher timeframe | Last closed bar and visible RSI value |
| Failure | Pre-confirmation failure rule |
| Invalidation | Post-confirmation structural rule |
| Expiry | Maximum bars, session, or date |
| Ambiguity | Reason and handling policy |
| Outcome | Horizon and measurement |
| Costs | Spread, commission, slippage assumptions if used |
| Result | Confirmed, failed, expired, no signal, ambiguous |
| Notes | Data event, exception, or version issue |
A complete record should allow another reviewer to reproduce the label without knowing the future outcome.
19. Common RSI Testing Errors
Treating the extreme as the entry
A threshold state is not automatically an order. Define the event and confirmation separately.
Changing thresholds by chart
Using 70/30 on losing examples and 80/20 on winning examples is hindsight selection. Threshold versions must be frozen.
Backdating divergence
A confirmed pivot is known only after the required right-side bars close. Use the confirmation timestamp, not the visual pivot timestamp.
Using an incomplete higher-timeframe bar
The final higher-timeframe RSI value may contain information unavailable at the lower-timeframe decision.
Mixing failure-swing definitions
Different pivot, pullback, equality, and duration rules create different samples.
Ignoring no-signal and expired cases
A rule that rarely completes may look attractive if the incomplete cases are deleted.
Assuming platform equality
Matching “RSI 14” does not guarantee the same source, smoothing, seed, warm-up, session, or data history.
Promoting replay results as live evidence
Historical chart review omits or simplifies execution, costs, latency, liquidity, market impact, and discretionary behavior.
20. What ChartMini Can and Cannot Do
ChartMini is suited to lightweight chart replay. It can hide future candles, let you advance through historical price bars, and support a visual RSI decision record when the indicator is available in the chart interface.
ChartMini does not, in this workflow:
- guarantee that its RSI output matches every broker or platform;
- expose every seed, warm-up, provider, session, and adjustment detail;
- preserve every intrabar RSI crossing from tick data;
- automatically validate divergence pivots or failure-swing states;
- reproduce bid-ask spread, queue position, partial fills, slippage, commissions, market impact, or order rejection;
- prove that a historical RSI rule is profitable; or
- determine whether a user is ready to trade live capital.
Use replay to test whether decisions follow the frozen rule. Use separate platform-parity, data-quality, execution, and risk testing for claims beyond that boundary.
Frequently Asked Questions
Is RSI above 70 automatically a sell signal?
No. RSI above 70 is an overbought state under the traditional threshold, not an automatic short entry. A testable rule must define whether it acts on threshold entry, time spent above 70, an exit back below 70, a failure swing, price confirmation, or no trade at all. Strong trends can keep RSI above 70 for multiple closed bars.
Is RSI below 30 automatically a buy signal?
No. RSI below 30 shows strong recent downside momentum under the traditional setting. It does not prove that price is undervalued or about to reverse. A long rule needs a predefined event sequence, price confirmation, invalidation, expiry, and market-context rule before it can be evaluated.
Should an RSI threshold exit happen before price confirmation?
There is no universal order. One version may require RSI to exit the extreme first, another may require price confirmation first, and a third may require both on the same closed bar. Freeze one sequence before revealing later candles and score other sequences as separate rule variants.
What is an RSI failure swing?
A bullish RSI failure swing is commonly defined as a move below 30, a rebound above 30, a pullback that stays above 30, and a break above the prior RSI rebound high. A bearish version reverses those steps around 70. The pivots, equality rules, closed-bar requirement, maximum duration, and failure conditions must be specified before testing.
How do you prevent multi-timeframe leakage in an RSI test?
At each lower-timeframe decision timestamp, use only higher-timeframe bars that were fully closed. Do not use the final close or RSI value of a daily, four-hour, or hourly bar that was still forming. Record the timezone, session boundary, bar-close timestamp, RSI implementation, and the exact value visible at the decision time.
Can ChartMini prove that an RSI strategy is profitable?
No. ChartMini can hide future candles and support visual, candle-by-candle practice with a frozen RSI rule and an external record. It does not reproduce every platform's RSI calculation, tick order, bid-ask spread, queue position, partial fills, slippage, commissions, market impact, or live discretionary decisions, so replay results are not proof of live profitability.
Sources and Evidence Boundaries
- Fidelity: Relative Strength Index — traditional 70/30 levels, strong-trend caveat, trend ranges, divergence, and failure swings.
- StockCharts ChartSchool: Relative Strength Index — initial averages, Wilder recursive smoothing, warm-up sensitivity, range shifts, divergence, and failure swings.
- TradingView: Relative Strength Index — formula, threshold discretion, divergence, failure-swing sequence, range concepts, and indicator limitations.
- MetaTrader 5: Relative Strength Index — period variants, divergence, chart formations, and failure-swing interpretation.
- NinjaTrader: Relative Strength Index — platform-specific input, period, smoothing, and Wilder calculation implementation.
- CFTC: Commodity Trading Systems Sold on the Internet — limitations of hypothetical performance, assumed fills, and simulated results.
These sources establish common definitions and implementation boundaries. They do not establish one universal RSI threshold, period, trend range, confirmation sequence, failure-swing duration, win rate, or live-trading result.