Stoch RSI (the Stochastic RSI, written StochRSI by Binance Academy) isn't built from price. It's built from RSI. The question it answers is where the current RSI sits between the highest and lowest RSI values of the last 14 candles. Equal to the highest gives 1, equal to the lowest gives 0, and exactly halfway gives 0.5. Traders watch two lines, 0.8 and 0.2: above 0.8, RSI is pressing against the top of its own range; below 0.2, against the bottom. Some charts multiply the whole line by 100, which turns those two lines into 80 and 20.
The easy mistake is to treat Stoch RSI's 0.8 as if it were RSI's 70. An RSI of 70 is an absolute level; a Stoch RSI of 0.8 only says where RSI sits relative to its own last 14 bars. RSI can climb from around 42 to around 60, still well short of 70, while Stoch RSI sits at 1 for several bars in a row.
1. The Stoch RSI formula, worked through with 16 RSI values
Binance Academy and the TradingView Help Center give the same formula:
Stoch RSI = (current RSI β lowest RSI in the period) Γ· (highest RSI in the period β lowest RSI in the period)
The numerator is how far the current RSI sits above the bottom of the range, the denominator is the full width of the range, and the result always lands between 0 and 1. The structure is borrowed from the Stochastic oscillator: the Stochastic compares the close with the highest high and lowest low over a period, and Stoch RSI swaps all three of those prices for RSI, which is why TradingView calls it "an indicator of an indicator." It was developed by Tushar Chande and Stanley Kroll and introduced in their 1994 book The New Technical Trader.
The common period is 14, counted in candles: 14 days on a daily chart, 14 hours on an hourly chart. Suppose 16 consecutive candles have these RSI values (made-up numbers for the demonstration, not tied to any coin or date):
| Bar | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| RSI | 45.0 | 43.2 | 41.8 | 44.5 | 47.9 | 50.3 | 48.6 | 46.1 |
| Bar | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| RSI | 49.4 | 52.7 | 55.0 | 53.8 | 56.4 | 58.9 | 61.2 | 60.5 |
Illustrative data. Bars 1 to 13 only serve as the lookback window; no Stoch RSI is calculated for them on their own.
From bar 14 onward, counting back gives exactly 14 bars, so the calculation can start:
| Bar | 14-bar lookback | Lowest RSI in window | Highest RSI in window | Current RSI | Stoch RSI |
|---|---|---|---|---|---|
| 14 | Bars 1β14 | 41.8 | 58.9 | 58.9 | 1.000 |
| 15 | Bars 2β15 | 41.8 | 61.2 | 61.2 | 1.000 |
| 16 | Bars 3β16 | 41.8 | 61.2 | 60.5 | 0.964 |
Bar 16's window runs from bar 3 to bar 16. The low of 41.8 is on bar 3 and the high of 61.2 is on bar 15. The numerator is 60.5 β 41.8 = 18.7, the denominator is 61.2 β 41.8 = 19.4, and dividing gives about 0.964, or 96.4 on a 0β100 scale. On bars 14 and 15 the current RSI is itself the window high, so the numerator equals the denominator and both come out at 1.
RSI on these three bars is between 58.9 and 61.2, still 8.8 to 11.1 points below the RSI overbought line of 70, yet Stoch RSI is above 0.8 on all three and maxed out on two. Over these 14 bars RSI mostly kept rising, each new value kept setting a fresh high for the range, so Stoch RSI was pushed to the top of its scale.
2. Are Stoch RSI's 0.8/0.2 and 80/20 the same levels?
Yes: 0.8 and 80 mark the same position, just on scales that differ by a factor of 100. Binance Academy's explainer on the Stochastic RSI says StochRSI originally swings between 0 and 1 around a center line of 0.5. Some modified versions multiply the result by 100. The range then runs from 0 to 100, the center line sits at 50, and the 0.8 and 0.2 signals are written as 80 and 20; the reading works essentially the same way. TradingView's help page uses the 0β1 scale and keeps the two sets of levels apart: RSI's overbought and oversold lines are traditionally set at 70 and 30, Stoch RSI's at 0.80 and 0.20.
As for reading the two lines, Binance Academy puts it this way: at or below 0.2, or at or above 0.8, the asset may be oversold or overbought respectively. The area around the center line carries information too: if the line uses 0.5 as support and runs steadily above it toward 0.8, the uptrend may be continuing; if readings stay below 0.5 and head toward 0.2, that points to a downtrend. If another platform shows 0.85 as 85, it's only the scale. If it shows 62, the parameters or the data are different; compare them using the next section.
3. How should K, D, RSI Length and Stochastic Length be set for Stoch RSI in TradingView?
TradingView's built-in Stoch RSI has five inputs:
| Input | What it controls | Default given on the help page |
|---|---|---|
| K | Period used to calculate %K | 3 |
| D | Period used to calculate %D | 3 |
| RSI Length | Period used to calculate RSI | Not listed |
| Stochastic Length | Period used for the stochastic calculation, i.e. the window the highest and lowest RSI are taken from | Not listed |
| RSI Source | Which price from each candle RSI is calculated on | Close |
In terms of the calculation, that's three layers:
- Calculate RSI from closing prices using RSI Length;
- Take the highest and lowest RSI over Stochastic Length and plug them into the formula from section 1 to get the raw value;
- Take a moving average of the raw value to get %K, then a moving average of %K to get %D.
Using the table from section 1: the raw values for bars 14, 15 and 16 are 1, 1 and 0.964. With a 3-period simple average, %K on bar 16 = (1 + 1 + 0.964) Γ· 3 β 0.988. %D would also need %K for bars 14 and 15, which in turn needs RSI values from before bar 1, so the illustrative table isn't long enough for that.
The K input is easy to mistake for a lookback period. TradingView gives a fuller formula when it covers the Stochastic oscillator: %K = SMA(100 Γ (close β lowest low) Γ· (highest high β lowest low), smoothK), %D = SMA(%K, periodD), with the lookback defaulting to 14, smoothK to 3 and %D to 3. Since Stoch RSI lists its lookback separately as Stochastic Length, lining up the two sets of inputs suggests the 3 in K corresponds to smoothK: a 3-period average of the raw value, not a 3-bar lookback. Binance Academy mentions only one layer: a 3-period simple moving average of StochRSI used as a signal line to reduce the risk of false signals.
When two platforms give different readings, open the indicator settings and compare RSI Length, Stochastic Length, K and D one by one; on daily charts, also check which time zone the daily candles are based on (see section 6). It helps to note these four numbers alongside the trading pair and the chart timeframe, so the next time you compare readings with someone you can check them item by item.
4. Why does Stoch RSI stay pinned near 1 and throw off so many false signals?
The answer is in the denominator. Stoch RSI only compares RSI with its own last 14 values. In a one-way rally RSI is higher on every bar, each new value is a new high for the window, the numerator equals the denominator, and the result is 1; in a one-way decline it's the reverse, and the result is 0. It can stay pinned for as long as the trend lasts. Mathematically, a Stoch RSI of 1 only says the current RSI is the highest of those 14; it can't tell you whether RSI is 60 or 85. TradingView describes this as being two steps away from price: RSI is one step away, the stochastic calculation adds a second, and so Stoch RSI can have brief disconnects from actual price movement.
When the range is narrow, the amplification is even more obvious. Suppose that during a sideways stretch the 14 RSI values run from a low of 48 to a high of 53, a range only 5 points wide. If RSI moves from 50 to 52, Stoch RSI goes from (50 β 48) Γ· 5 = 0.4 to (52 β 48) Γ· 5 = 0.8: RSI moved 2 points, and Stoch RSI jumped from below the center line straight to the overbought line. If all 14 RSI values are identical, the denominator is 0 and the formula has no result.
More signals means more false signals, and both sources agree on that. TradingView's summary is that adding the stochastic calculation to RSI greatly increases its speed, producing many more signals, bad ones as well as good ones. Binance Academy says it often generates a fair amount of noise in the form of false signals, and adds that crypto markets are more volatile than traditional currency markets, so there may be even more of them.
The period follows the chart. Binance Academy notes it can be set in days, hours or even minutes; on a 15-minute chart, 14 bars is the RSI range over three and a half hours. Readings on a timeframe that short are best judged against the trend on a higher timeframe.
TradingView's advice is to trade with the bigger trend: "overbought and oversold work best when trading along with the underlying trend." In an uptrend, look to oversold readings for entry points; in a downtrend, look to overbought readings. Trading Stoch RSI against the underlying trend is what it calls a dangerous proposition, and it suggests trend lines or basic chart pattern analysis to identify that trend. In its page on the Stochastic oscillator it also notes that overbought doesn't always lead to a drop, and can often be a sign of a strengthening trend. So when Stoch RSI sits above 0.8, the next things to check are whether RSI itself is at 60 or 80, what trend price is in, and where %K and %D cross.
5. How is Stoch RSI different from RSI and the Stochastic oscillator?
It shares its structure with the Stochastic oscillator; what goes into it is different:
| Item | Stochastic oscillator | Stoch RSI |
|---|---|---|
| Input | Close, compared with the highest high and lowest low over the lookback | RSI, compared with the highest and lowest RSI over the lookback |
| Distance from price | Uses price directly | Two layers away: RSI first, then the stochastic calculation |
| Scale | 0β100 (the %K formula multiplies by 100) | 0β1; versions multiplied by 100 run 0β100 |
| Overbought / oversold lines | 80 / 20 | 0.80 / 0.20 |
| Developed by | George Lane, 1950s | Tushar Chande and Stanley Kroll, 1994 |
| TradingView default inputs | %K lookback 14, smoothing 3, %D 3 | K 3, D 3, RSI source Close |
Compared with RSI, Binance Academy says standard RSI moves relatively little and produces only a small number of trade signals, while StochRSI is more sensitive, generating more signals and carrying more risk. For how RSI itself is calculated and how to read its 30/70 levels, see RSI for Crypto: Momentum, Divergence and Timeframe. Put both on the same chart and RSI gives you the level of momentum, while Stoch RSI tells you where that level sits within the last 14 bars. To see RSI levels for several coins at once, open the RSI heatmap.
6. Rebuilding Stoch RSI from Binance spot kline data
If your readings don't match, or you want Stoch RSI in your own spreadsheet, you can pull candles from Binance's public market data API:
GET https://api.binance.com/api/v3/klines?symbol=BTCUSDT&interval=1d&limit=200
| Parameter | Required | Values |
|---|---|---|
symbol | Yes | Trading pair; the docs use BNBUSDT as the example |
interval | Yes | 1s; 1m, 3m, 5m, 15m, 30m; 1h, 2h, 4h, 6h, 8h, 12h; 1d, 3d; 1w; 1M |
limit | No | Default 500, maximum 1000 |
timeZone | No | Default 0 (UTC) |
- Each row returned is one candle: column 1 is the open time (the docs say klines are uniquely identified by their open time), column 5 is the close, column 7 is the close time.
- Without
startTimeandendTime, the most recent candles are returned. If the close time on the last row hasn't arrived yet, that candle is still forming and its close will change, so drop it before calculating. - Calculate the RSI series from the closes using RSI Length. CoinView's RSI Calculator also pulls Binance candles and calculates RSI(14) with Wilder smoothing, so you can use it to check your last RSI value.
- Once you have 14 RSI values, take the highest and lowest of the latest 14 on each bar and plug them into the formula from section 1.
- A 3-period simple average of the raw values gives %K, and a 3-period simple average of %K gives %D; multiply by 100 if you want the 0β100 scale.
Wilder smoothing is recursive, so the first few RSI values depend on where the series starts. That's why the example sets limit to 200: pull a longer stretch, drop the start, and your readings will sit closer to what charting platforms show.
The timeZone parameter sets where each daily candle starts and ends: the default 0 splits days at midnight UTC, and passing 8 splits them at midnight UTC+8. According to the docs, when timeZone is set, kline intervals are interpreted in that time zone, while startTime and endTime are always in UTC. Shift that boundary and every daily close changes, and RSI and Stoch RSI change with it, so check this setting whenever your numbers don't match someone else's screenshot.
7. Stoch RSI FAQ
Is a %K cross above %D on Stoch RSI a buy signal?
TradingView lists spotting crossovers as one of Stoch RSI's main uses, but it also warns that the indicator throws off many signals, bad ones included, that it should be paired with trend lines or chart patterns to judge the major trend, and that trading against that trend is dangerous. Following that logic, a cross up in oversold territory during an uptrend deserves more attention, and a single crossover on its own isn't enough reason to place an order.
What does it mean when Stoch RSI stays near 0?
It means the current RSI keeps being the lowest, or close to the lowest, of the last 14 bars; in other words, RSI keeps falling. It can't tell you a bottom is in: in a downtrend RSI can print a lower value bar after bar while Stoch RSI sits near 0 the whole time. At that point the RSI value itself and the price trend tell you more than Stoch RSI does.
