MTF Stoch RSI Snapshot 9 Timeframe OverviewThis indicator provides a compact multi-timeframe view of the Stochastic RSI across 9 different timeframes:
1m, 5m, 15m, 30m, 45m, 1h, 2h, 6h, 1D
Instead of switching between charts, the script displays all selected timeframes side by side in a clean column layout. Each column represents one timeframe and shows the current position of the two Stoch RSI lines, making it easier to quickly understand momentum conditions across multiple market structures.
Main Features
Multi-timeframe Stoch RSI visualization
9 fixed timeframe columns
K and D lines shown inside each column
Gradient background based on oscillator level
Quick visual identification of overbought and oversold areas
20 / 50 / 80 reference levels
Optional numeric K and D values
Compact layout designed for fast market reading
How to Read It
Each column represents a timeframe.
The vertical position of the lines shows where the Stoch RSI currently is:
Near the bottom: oversold / weak momentum area
Around the middle: neutral zone
Near the top: overbought / strong momentum area
The background gradient helps identify the oscillator zone immediately, while the two plotted lines allow you to see the current relationship between K and D.
This is useful when you want to compare short-term and higher-timeframe momentum at a glance.
Typical Use Cases
Scalping confirmation
Multi-timeframe momentum alignment
Spotting overbought / oversold conditions across timeframes
Filtering entries based on higher-timeframe context
Quickly checking whether short-term movement agrees with broader market structure
Notes
This indicator does not generate buy or sell signals by itself.
It is intended as a visual decision-support tool and should be used together with price action, trend analysis, support and resistance, and proper risk management.
Disclaimer
This script is for educational and informational purposes only.
It is not financial advice. Always test any trading approach carefully before using it in live markets. Indicator

Volatility Prism [JOAT]Volatility Prism
Introduction
Volatility Prism is an open-source dual Bollinger Band envelope system with percentile-based bandwidth squeeze detection and Stochastic RSI confirmation. It renders two independent envelopes — an inner band at a configurable standard deviation multiplier and an outer band at a wider multiplier — with gradient fills that color dynamically based on whether price is in a bullish or bearish position relative to the moving average basis. When the bandwidth compresses to a historically low percentile, a squeeze state is declared. When the squeeze releases, an expansion signal fires.
The problem Volatility Prism solves is that volatility states are cyclical: periods of compression (squeeze) reliably precede periods of expansion (breakout), and the direction of the breakout is where the opportunity lies. By combining a statistically-based squeeze detector — which uses percentile thresholds rather than fixed bandwidth levels — with Stochastic RSI extreme confirmation, Volatility Prism identifies both the compression state and the likely directional bias of the coming expansion simultaneously.
Core Concepts
1. Dual Bollinger Band Structure
Two separate Bollinger Band pairs share the same basis (SMA of the source) but use different standard deviation multipliers. The inner band (default 2.0x) is the primary envelope. The outer band (default 3.0x) defines the extreme extension zone. Price trading beyond the inner band but inside the outer band is in the elevated zone. Price trading beyond the outer band is in a statistical extreme:
basis = ta.sma(src, bbLen)
dev = ta.stdev(src, bbLen)
upper1 = basis + bbMult1 * dev // Inner upper
lower1 = basis - bbMult1 * dev // Inner lower
upper2 = basis + bbMult2 * dev // Outer upper
lower2 = basis - bbMult2 * dev // Outer lower
The trend bias is determined by whether the close is above or below the basis. When bullish, all envelope lines and fills render in the bullish color. When bearish, they render in the bearish color. This makes the trend state immediately visible from the envelope color alone.
2. Gradient Envelope Fills
Four gradient fills create the visual envelope structure. The inner fills gradient from a near-opaque shade at the band edge to a nearly transparent shade at the basis, creating a density effect that visually represents how far price is from the center. The outer fills extend this gradient into the extreme zone at reduced opacity, cleanly separating the normal, elevated, and extreme price zones:
fill(basisPlot, upper1Plot, upper1, basis, color.new(envCol, 85), color.new(envCol, 98), "Upper Inner Fill")
fill(upper1Plot, upper2Plot, upper2, upper1, color.new(envCol, 75), color.new(envCol, 88), "Upper Outer Fill")
3. Percentile-Based Bandwidth Squeeze Detection
The bandwidth (the width of the inner band as a percentage of the basis) is computed on each bar and added to a rolling history array of configurable length. The current bandwidth is compared to the percentile threshold of that history — if the current bandwidth is below the configured percentile (default 15th percentile), the squeeze state is active:
bandwidth = basis > 0 ? (upper1 - lower1) / basis * 100 : 0.0
// Sort history and find threshold at configured percentile
threshIdx = int(array.size(sorted) * sqzPctile / 100) - 1
sqzThreshold = array.get(sorted, threshIdx)
isSqueezing = bandwidth <= sqzThreshold
This approach adapts to the instrument and timeframe automatically — a 15th percentile squeeze on a low-volatility bond future and on a high-volatility crypto asset will both correctly identify when that specific instrument is in an unusually compressed state relative to its own history.
4. Stochastic RSI Extreme Confirmation
The Stochastic RSI (an oscillator that applies Stochastic logic to RSI values) provides momentum extreme confirmation. Overbought and oversold readings from the K and D lines confirm when band extremes coincide with momentum extremes, strengthening band rejection signals:
rsiVal = ta.rsi(src, rsiLen)
stochVal = ta.stoch(rsiVal, rsiVal, rsiVal, stochLen)
kLine = ta.sma(stochVal, smoothK)
dLine = ta.sma(kLine, smoothD)
stochOB = kLine > upperLim and dLine > upperLim // Overbought
stochOS = kLine < lowerLim and dLine < lowerLim // Oversold
5. Band Rejection Signals and Squeeze Breakout
Three signal types are generated. Bullish band rejection fires when price was below the inner lower band on the previous bar and closes back above it, with Stochastic RSI confirming oversold — a failed breakdown with momentum confirmation. Bearish band rejection fires on the symmetric condition above the inner upper band. Squeeze Breakout fires on the first bar that transitions from squeeze to non-squeeze state — the moment the bandwidth begins expanding:
bearRejection = close > upper1 and close <= upper1 and stochOB
bullRejection = close < lower1 and close >= lower1 and stochOS
sqzBreakout = isSqueezing and not isSqueezing
6. Band Price Labels at the Right Edge
All five band lines (U2, U1, MA, L1, L2) receive price labels at the right edge of the chart. These labels update every bar to show the current price of each level, eliminating the need to hover over lines or read the y-axis to determine band values:
if barstate.islast and showBandLbls
lblU2 := label.new(bar_index + 2, upper2,
"U2 " + str.tostring(upper2, format.mintick),
style=label.style_label_right, ...)
Features
Dual Bollinger Band envelopes: Inner and outer bands with independently configurable multipliers
Adaptive gradient fills: Four gradient fills (inner upper, inner lower, outer upper, outer lower) color dynamically with trend bias
Dynamic trend coloring: All envelope elements switch between bullish and bearish colors based on close vs. basis
Percentile-based squeeze detection: Bandwidth compared to a configurable percentile of its rolling history — adapts to any instrument's volatility profile
Configurable squeeze lookback: Rolling bandwidth history window from 20 to 500 bars
Squeeze background shading: Optional chart background shading during active squeeze state
Stochastic RSI confirmation: K and D line extreme zones confirm band rejection signal quality
Three signal types: Bull Rejection, Bear Rejection, and Squeeze Breakout markers with distinct shapes
Band price labels at right edge: Live price labels for all five band levels (U2, U1, MA, L1, L2) at bar_index + 2
Institutional dashboard (top right): 11-row table with Volatility state (SQUEEZE/EXPANDING), Bandwidth %, Trend, StochRSI state, K and D values, Basis price, and Envelope range
Fully configurable inputs: BB length, both multipliers, squeeze lookback and percentile, Stochastic RSI parameters, and all colors independently adjustable
Alerts: Bull Rejection, Bear Rejection, Squeeze Breakout, and Squeeze Entry alertconditions
Input Parameters
Bollinger Bands:
Source: Price source (default: close)
BB Length: MA and standard deviation period (default: 20)
Inner Mult: Standard deviation multiplier for inner bands (default: 2.0)
Outer Mult: Standard deviation multiplier for outer bands (default: 3.0)
Squeeze Detection:
Bandwidth Lookback: Rolling history window for percentile calculation (default: 120 bars)
Squeeze Percentile: Bandwidth percentile below which squeeze is active (default: 15th)
Stochastic RSI:
K Smoothing (default: 3), D Smoothing (default: 3)
RSI Length (default: 14), Stochastic Length (default: 14)
Overbought level (default: 80), Oversold level (default: 20)
Display:
Show Dashboard toggle
Squeeze Background toggle
Band Price Labels toggle
Bullish Envelope color, Bearish Envelope color, Basis Line color, Squeeze Background color
How to Use This Indicator
Step 1: Identify the Volatility State
The dashboard's Volatility row shows SQUEEZE (yellow) or EXPANDING (gray). When SQUEEZE is active, the chart background shades yellow. A squeeze state means bandwidth has compressed to a historically low percentile — the market is loading energy for a directional move.
Step 2: Watch for Squeeze Breakout Signals
The cross (x) marker appears at the first bar that exits a squeeze. This is the moment bandwidth begins expanding. The direction of the breakout bar (bullish or bearish candle) combined with the trend color of the envelope provides the directional lean for the expansion phase.
Step 3: Interpret Envelope Color for Trend Bias
When all envelope elements are teal, price is above the basis — bullish bias. When all elements are orange, price is below the basis — bearish bias. Use the envelope color as a continuous trend indicator overlaid directly on the price.
Step 4: React to Band Rejection Diamonds
Diamond markers at the band edge indicate price failed to sustain a move beyond the inner band and recovered inside, with Stochastic RSI confirming the extreme. These are mean-reversion entry signals — price rejected the statistical extreme with momentum confirmation.
Step 5: Reference Band Price Labels
The right-edge labels show the current price of each band level. Use these when planning take-profit targets (opposite band) or stop-loss placement (outer band beyond entry) without needing to manually read prices from band lines.
Indicator Limitations
The squeeze detector requires a minimum of sqzLen bars of bandwidth history to activate. On short charts or immediately after the indicator is applied, the squeeze state will not register until enough history is accumulated
The percentile-based squeeze threshold adapts to the lookback window. A longer lookback produces a more stable threshold; a shorter lookback adapts faster but may produce more frequent squeeze entries and exits
Band rejection signals require the close to recover inside the band on the bar immediately following the outside close. Multi-bar breakouts that recover more slowly are not detected as rejections
Squeeze Breakout markers fire on the first bar exiting a squeeze regardless of candle size or direction. They do not independently confirm the breakout direction — the envelope trend color and Stochastic RSI must be used to assess directional bias
Stochastic RSI is a double-transformed oscillator (RSI → Stochastic). It can reach and hold extreme levels for extended periods in strong trends, producing frequent overbought or oversold readings that reduce the specificity of band rejection confirmation
Originality Statement
Volatility Prism is original in its adaptive, percentile-based squeeze detection combined with a dual-envelope gradient structure and Stochastic RSI extreme confirmation with right-edge band price labels. This indicator is published because:
Using the rolling percentile of bandwidth history — rather than fixed bandwidth values or the classic Keltner Channel comparison method — for squeeze detection provides an instrument-adaptive and timeframe-adaptive threshold that requires no manual calibration
The dual-envelope structure (inner and outer bands) with four independent gradient fills that change color based on real-time trend bias creates a visually rich, information-dense chart overlay without adding separate indicator panes
The right-edge band price labels for all five band levels eliminate a common usability friction point in Bollinger Band analysis, where traders must hover over lines or estimate prices from the y-axis scale
The three-signal system (Bull Rejection, Bear Rejection, Squeeze Breakout) operating from two independent mechanisms (band geometry + Stochastic RSI for rejections, bandwidth percentile for breakout) provides distinct signal categories suited to different trading styles
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Bollinger Bands and Stochastic RSI readings are historical statistical tools. Squeeze states can persist for extended periods without producing a breakout, and breakouts can occur in either direction. Band rejection signals do not guarantee price will reverse from the band. Always use proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Stochastic BTC OptimizedEnhanced Stochastic for Bitcoin (BTC) – Optimized for Daily Timeframe
This enhanced Stochastic oscillator is specifically fine-tuned for BTC/USD on the 1D timeframe, leveraging historical data from Bitstamp (2011–2025) to minimize false signals and maximize reliability in Bitcoin's volatile swings.
Unlike the classic Stochastic (14, 3, 3), this version uses optimized parameters:
- K Period = 21 – smoother reaction, better suited for BTC’s macro cycles
- D Period = 3, Smooth K = 3 – reduces noise while preserving responsiveness
- Overbought = 85, Oversold = 15 – accounts for BTC’s tendency to trend strongly within extreme zones without immediate reversal
✅ Smart Signal Logic:
Buy/sell signals appear only when %K crosses %D inside the oversold (≤15) or overbought (≥85) zones, and only the first signal is shown to avoid whipsaws.
Visual Enhancements:
- Thick lines when %K/%D are in overbought/oversold zones
- Green/red background highlights on valid signals
- Optional up/down arrows for clear entry visualization
- Customizable colors, line widths, and transparency
🔒 No alerts included – clean, focused on price action and momentum.
💡 Pro Tip: For even higher accuracy, use this indicator in combination with a long-term trend filter (e.g., EMA 200). The oscillator excels in ranging or retracement phases but should not be used alone in strong parabolic moves.
Based on Mozilla Public License v2.0 – feel free to use, modify, and share. Perfect for swing traders and long-term Bitcoin analysts seeking high-probability reversal zones.
перевод на русский
Улучшенный Stochastic для Bitcoin (BTC) — оптимизирован для дневного таймфрейма
Этот улучшенный осциллятор Stochastic специально настроен под BTC/USD на дневном графике, с учётом исторических данных Bitstamp (2011–2025), чтобы минимизировать ложные сигналы и повысить надёжность в условиях высокой волатильности биткоина.
В отличие от классического Stochastic (14, 3, 3), эта версия использует оптимизированные параметры:
- Период K = 21 — более плавная реакция, лучше соответствует макроциклам BTC
- Период D = 3, Сглаживание K = 3 — снижает шум, сохраняя отзывчивость
- Уровень перекупленности = 85, перепроданности = 15 — учитывает склонность BTC к сильным трендам в экстремальных зонах без немедленного разворота
✅ Интеллектуальная логика сигналов:
Покупка/продажа отображается только при пересечении %K и %D внутри зоны перепроданности (≤15) или перекупленности (≥85), и только первый сигнал фиксируется, чтобы избежать «хлыстов».
Улучшенная визуализация:
- Жирные линии, когда %K/%D находятся в экстремальных зонах
- Зелёный/красный фон при появлении сигналов
- Опциональные стрелки для чёткого отображения точек входа
- Настройка цветов, толщины линий и прозрачности
🔒 Без алертов — чистый инструмент, сфокусированный на цене и импульсе.
💡 Совет профессионала: для ещё большей точности используйте этот индикатор вместе с трендовым фильтром (например, EMA 200). Осциллятор лучше всего работает в фазах консолидации или отката, но не стоит применять его в одиночку во время сильных параболических движений.
На основе Mozilla Public License v2.0 — свободно используйте, модифицируйте и делитесь. Идеален для свинг-трейдеров и аналитиков Bitcoin, ищущих зоны с высокой вероятностью разворота.
Indicator

Indicator

Stochastic Oversold / Overbought Multi Time Frame on CandleAt the suggestion of a friend, I prepared this educational indicator to show how to use a Multi time frames on the chart based on the color of The Candle.
This Script calculates the stochastic oscillator for multiple timeframes and displays the overbought/oversold signals on the chart with color coding.
The stochastic oscillator is a momentum indicator that compares a security's closing price to its high-low range over a set number of periods. The indicator oscillates between 0 and 100, with readings above 80 considered overbought and readings below 20 considered oversold.
The indicator has the following input parameters:
%K Length: the number of periods used to calculate the stochastic oscillator (default is 14).
%K Smoothing: the number of periods used to smooth the stochastic oscillator (default is 1).
Three timeframes: The timeframes for which the stochastic oscillator is calculated can be set as 15-minute, 1-hour, or 4-hour intervals. For each timeframe, the user can choose to display the indicator (or not) and set the color of the candle. The user can also set the overbought and oversold levels (default is 80 and 20, respectively).
The indicator calculates the stochastic oscillator using the ta.stoch function from the built-in ta library in PineScript. It then uses the ta.sma function to smooth the stochastic oscillator if specified. Finally, the indicator uses the TimeframFuction to calculate the stochastic oscillator for different timeframes, which is then displayed on the chart using the barcolor function. The color of the candle is set based on whether the stochastic oscillator is overbought or oversold, as determined by the overbought/oversold levels specified by the user.
Note: This code is example for you to use multi timeframe in your indicator or Strategy , also prevent Repainting Calculation
Indicator

ALMA/EMA/SRSI Strategy + IndicatorBack with another great high hit rate strategy!!
Disclaimer* This strategy was sampled using source code written by @ClassicScott , as referred to in the script, there is a clear line where the source code was scripted by myself.
This Strategy consists of three key factors, the ALMA, EMA crossover, and a Stochastic Rsi
ALMA: The Alma is the step line shown, turning green and red at select times. This average value gives general oversight of the macro movement of price action. and this particular one was coded by Mr.ClassicScott.
EMA crossover: At the input screen you are given an option of the fast and slow ema's. The default is solely for the hit rate and correlation to the Alma of this strategy. The arrows you see depicted on the chart are the crossover events happening.
Stochastic Rsi: The Stochastic Rsi is a stochastic value, using data sampled from the rsi. The use of this indicator in my strategy is to prevent entries when too overbought and oversold, as well as closures and vice versa, to prevent holding bags either way.
Fixed % TP: In the input screen you are given a take profit and stop loss percentage, for good R/R the hit rate will take a notch down, but with no R/R it will be near perfect.
How to use this:
Add it to your chart to get the strategy inputs. (The strategy is really only useful on a 15min TF. However the indicator within it can be used on anything at anytime!)
Watch the yellow and aqua moving averages, these are your ema's and crossover's will trigger signals based on your integer inputs.
Find Correlation between other leading indicators, as well as crossover's down/up and a red/green alma.
DO NOT use the arrows as buy/sell signals. These are simply to show ema's are crossing under or over. Momentum indicator's paired with this can be useful to determine if it could be a buy signal or sell signal.
Cheat Code's Notes:
Almost at 1000 boosts!!! I appreciate the support from everyone and I will keep trying my best to deliver quality strategies for the people.
-Cheat Code
BYBIT:BTCUSDT
Strategy

MTF Stochastic ScannerThis Stochastic scanner can be use to identify overbought and oversold of 10 symbols over multiple timeframes
it will give you a quick overview which pair is more overbough or more oversold and also signals tops and bottoms in the AVG row
light red/green cell = weak bearish (Stoch = 30-20) / bullish (Stoch = 70-80)
medium red/green cell = bearish (Stoch = 20-10) / bullish (Stoch = 80-90)
dark red/green cell = strong bearish (Stoch <= 10) / bullish (Stoch >= 90)
gray cell = neutral (Stoch = 30-70)
Usage
If AVG (average of all 4 timeframes) falls below 20, the cell will get green, indicating a good time to enter long (buy)
If AVG (average of all 4 timeframes) rises above 80, the cell will get red, indicating a good time to enter short (sell)
Use the "MTF Stochastic Scanner" in combination with the " MTF RSI Scanner "
to find tops (RSI MTF avg >=70 AND Stochastic MTF avg >= 80)
or bottoms (RSI MTF avg <= 30 AND Stochastic MTF avg <= 20)
Here is how the two MTF scanners looked on Nov 08 2021 (ATH) »
and here how the MTF scanners looked on June 21 2022
use TradingViews Replay function to check how it would have worked in the past and when not.
As always… there NOT a single indicator that can show to the top & bottom 100% every single time. So use with caution, with other indicators and/or deeper understanding of technicals analysis ☝️☝️☝️
Settings
You can change the timeframes, symbols, Stochastic settings, overbought/oversold levels and colors to your liking
Drag the table onto the price chart, if you want to use it as an overlay.
NOTE:
Because of the 4x10 security requests, it can take up to 1 minute for changed settings to take effect! Please be patient 🙃
If you have any idea on how to optimise the code, please feel free to share 🙏
*** Inspired by "Binance CHOP Dashboard" from @Cazimiro and "RSI MTF Table" from @mobester16 ***
Indicator

Indicator
