Reversal Probability Profile [AlgoAlpha]🟠 OVERVIEW
Reversal Probability Profile maps where confirmed price reversals have historically concentrated. Instead of treating every support or resistance level equally, it builds a price-based profile from confirmed pivot highs and lows and shows which areas have produced the greatest concentration of reversals.
The profile combines pivot-based support and resistance, reversal density, price clustering, and a maximum reversal zone. This gives traders a structured view of where price has repeatedly changed direction and how the density at one level compares with the strongest reversal area in the current calculation range.
Active support and resistance levels also display a normalized Reversal Probability. This value represents the reversal density at that level relative to the highest-density profile bin. It is a relative density measure, not a statistical forecast of the probability that price will reverse.
🟠 CONCEPTS
Pivot High — A confirmed local high where price is higher than the surrounding bars defined by the Pivot Left Bars and Pivot Right Bars settings. These pivots represent historical bearish reversal points.
Pivot Low — A confirmed local low using the same left and right confirmation structure. These pivots represent historical bullish reversal points.
Reversal Probability Profile — A price profile built from confirmed pivot highs and lows. Each pivot contributes to its corresponding price bin and nearby bins according to the Bin Smoothing Radius.
Reversal Probability — The density of a price bin divided by the density of the tallest profile bin. The tallest bin is therefore 100%, while other levels are expressed relative to it. This measures relative historical reversal density rather than a statistical probability of a future reversal.
Max Reversal Zone — The price bin containing the highest smoothed pivot count. It forms the profile's point of maximum reversal density.
Pivot Clusters — Groups of historical pivot prices with similar price locations. The script groups these prices into clusters and uses separate colors to make recurring reversal regions easier to distinguish.
Support and Resistance Levels — Horizontal levels created from confirmed pivot lows and highs. Nearby levels can be filtered using an ATR-based overlap distance so that similar pivots do not produce excessive duplicate levels.
🟠 FEATURES
Reversal Probability Profile — Displays historical reversal density across the visible calculation range, with wider bins representing greater density relative to the maximum reversal zone.
Probability-Labeled Support and Resistance — Displays active pivot levels together with their price and normalized Reversal Probability, while broken levels can remain as faint historical references.
Max Reversal Zone — Highlights the profile bin with the greatest concentration of confirmed reversals and marks its corresponding price level.
Cluster Visualization — Color-codes pivot regions and can display cluster levels and historical pivot markers to show where reversal prices have grouped.
Reversal Alerts — Provides alerts for new support and resistance pivots, level breaks, maximum or high-density zone touches, and bullish or bearish reversal-zone touches.
🟠 HOW TO USE
Start with the profile — Look for the widest sections. These show price regions where confirmed reversals have concentrated more heavily than surrounding areas.
Use the Max Reversal Zone as a reference — It represents the strongest reversal-density bin in the current calculation window and provides the 100% reference used by the other probability values.
Compare active levels by Reversal Probability — A level closer to 100% sits in a region with reversal density closer to the profile maximum. Treat this as relative historical density rather than a forecast of future reversal odds.
Distinguish support from resistance — Green support levels originate from pivot lows, while red resistance levels originate from pivot highs. Watch how price behaves when it returns to these areas.
Read clusters as broader areas of interest — Repeated pivots near similar prices form clusters. These can help identify reversal regions that are supported by several historical turning points instead of one isolated pivot.
Use broken levels for context — When enabled, previously broken support and resistance remain visible as faint dotted references. This helps separate active levels from historical structure.
Adjust Pivot Left Bars and Pivot Right Bars to control sensitivity — Lower values identify smaller local turns. Higher values require broader price structure before a pivot is confirmed.
Adjust the Calculation Lookback and Pivot Memory to control how much historical reversal structure contributes to the current profile.
Use the profile together with current price action — A high-density zone identifies where reversals occurred historically. It does not by itself confirm that price will reverse on the next test.
🟠 CONCLUSION
Reversal Probability Profile combines confirmed pivots, support and resistance, reversal-density profiling, and price clustering in one chart view. It gives traders a relative measure of where reversals have historically concentrated and a way to compare current price levels against the strongest reversal zone.
Indicador

SPMA Trend | NAL1. Overview
SPMA Trend | NAL is an adaptive trend and volatility framework built around the Shock Percentile Moving Average.
Unlike a conventional moving average that continuously follows price, the SPMA selectively updates when the current price change ranks above a configurable percentile of recent returns. This creates an event-driven baseline that places greater emphasis on stronger positive price shocks while holding its previous value during lower-ranked movement.
SPMA Trend expands this concept with adaptive volatility bands, asymmetric shock modeling, empirical quantile boundaries, and optional slope confirmation to form a complete directional regime model.
2. Core Calculation
The SPMA begins by ranking the current price change against its recent historical distribution.
Ret = close - close
Per = ta.percentrank(Ret, percentrank_lookback)
Gate = Per > percentile_gate
When the percentile gate is satisfied, the baseline updates to the current EMA value. Otherwise, it retains its previous level.
MA := na(MA ) ? emaValue : Gate ? emaValue : MA
This produces a persistent baseline whose movement is concentrated around stronger ranked price events rather than every fluctuation in price.
3. Adaptive Volatility Framework
SPMA Trend surrounds the baseline with a configurable volatility structure.
Five volatility models are available:
Standard Deviation — measures dispersion around the mean.
ATR — measures price-range volatility.
Mean Absolute Deviation — measures average absolute dispersion.
Median Absolute Deviation — provides a more robust measure of dispersion with reduced sensitivity to extreme observations.
Quantile — constructs the upper and lower boundaries from the empirical distribution of historical price deviations from the SPMA.
The Quantile model is inherently asymmetric. Positive and negative residuals are evaluated separately, allowing each side of the structure to reflect its own historical distribution.
residual = close - SPMA
= f_quantile_volatility(residual, VolLen, QuantilePct)
For the conventional volatility models, an optional asymmetric mode analyzes positive and negative log-return shocks independently. This allows upper and lower volatility expansion to respond differently when the distribution of market shocks becomes unbalanced.
The resulting volatility estimate is applied around the SPMA to create the final adaptive boundaries.
upperBand = SPMA + finalUpper * VolMul
lowerBand = SPMA - finalLower * VolMul
4. Signal Structure
The bullish regime is deliberately selective.
Price must break above the upper volatility boundary while the SPMA itself is rising. When enabled, the percentage slope of the SPMA must also exceed the configured slope threshold.
if SPMA > SPMA and close > upperBand and (UseSlope ? SlopeGate : true)
NAL := 1
A bearish regime is established when price moves below the lower adaptive boundary.
if close < lowerBand
NAL := -1
Between qualifying transitions, the previous directional state is retained. This converts individual volatility-band events into a persistent trend regime rather than a sequence of isolated crossover signals.
5. Key Features
Shock-percentile adaptive baseline.
Event-driven rather than continuously updating trend structure.
Five selectable volatility models.
Mean and median absolute-deviation volatility.
Empirical asymmetric residual quantiles.
Optional positive/negative shock-adjusted volatility bands.
Configurable SPMA slope confirmation.
Persistent bullish and bearish regime states.
Adaptive band, glow, fill, and candle visualization.
6. Use
SPMA Trend is designed as a specialized trend-regime component within a broader systematic framework.
The indicator combines three distinct layers of information: the significance of recent price movement determines when the baseline adapts, the volatility model determines how far price must expand from that structure, and the optional slope gate measures whether the underlying SPMA is developing with sufficient positive directional strength.
This creates a framework centered on identifying meaningful expansion away from an event-driven price structure rather than responding to every short-term movement.
Its primary value is as a distinct structural layer within a complete strategy architecture, where shock significance, volatility expansion, and directional development can be integrated with other independent forms of market information. Indicador

Hourly Alpha Profile Terminal [The Quant Science]Hourly Alpha Profile Terminal is an advanced quantitative analysis tool developed for the TradingView platform, designed for traders operating on intraday timeframes up to 60 minutes. Its main goal is to unveil the hidden structure of price volatility and directionality on an hourly basis , focusing on a specific day of the week chosen by the user. Instead of relying on traditional momentum indicators, this script historically maps market behavior hour by hour, calculating win rates and risk intensity for all 24 hours of the day.
🔷 What It Does
The script performs real-time statistical and visual analysis directly on the chart through two dedicated quantitative terminals.
The Win Rate Profile Terminal divides the entire day into 24 hourly slots from 00:00 to 23:59, analyzes how many hourly cycles closed bullish compared to the total for the selected day of the week, and returns a success percentage win rate and an explicit directional bias of bullish, bearish, or neutral, accompanied by a visual progress bar.
The Volatility Profile Terminal calculates the logarithmically normalized standard deviation of hourly returns for each time slot, generating a volatility index and risk-based intensity bars to identify precisely which hour of the day experiences the most violent price movements as the peak risk slot.
🔷 How to Use It
To obtain correct data, the indicator requires an intraday timeframe less than or equal to 60 minutes, such as 1m, 5m, 15m, or 60m. If applied to daily, weekly, or higher charts, the terminal blocks execution and displays an error warning.
Add the script to your intraday chart on TradingView, open the indicator settings to select the day of the week you want to analyze, and observe the overlapping tables on the chart to identify hours with high win rates above 55% for trend opportunities or hours with extreme volatility for risk management.
🔷 What It Is Used For
Hourly Seasonality Analysis for discovering during which times of day a given asset historically shows a strong directional tendency.
Entry Timing Optimization for avoiding false breakouts during low-directionality or erratic risk hours and focusing on statistical high-probability slots.
Risk Management and Volatility Mapping for understanding when the market becomes more volatile to prevent excessive slippage or correctly position stop losses based on peak risk hours.
🔷 Who Uses It
Day Traders and Scalpers who need a statistical edge based on recurring market behaviors during trading sessions like the London or New York opens.
Quantitative and Systematic Traders looking to filter operational setups by integrating hourly probability matrices.
Market Analysts seeking an objective and visual reading of market microstructure without cluttering the chart with classic oscillators.
🔷 User Interface Management
Settings: Day to Analyze allows you to choose the day of the week to analyze from Monday to Sunday.
Win Rate Terminal Positio n allows you to position the probability table in your preferred corner of the screen using options like Top Right, Top Left, Bottom Right, Bottom Left, or Center.
Win Rate Terminal Size lets you adjust the text size inside the table to Small, Normal, or Large.
Volatility Terminal Position manages the screen position of the volatility table.
Volatility Terminal Size modifies the text size of the volatility table to fit any screen resolution.
🔷 To be used in combination with the Bias Detector Terminal
This script completes a suite consisting of two scripts:
🔹 Bias Detector Terminal used to find a day with a bias. For example, by analyzing Bitcoin on a Daily timeframe, we find a bias for Saturday.
👉 Bias Detector Terminal:
🔹 Hourly Alpha Profile Terminal let us dive deeper into the market and analyze the Saturday intraday session.
Indicador

Tail Range Percentile Radar [Pineify]Tail Range Percentile Radar
Overview
Tail Range Percentile Radar separates candle rarity from candle shape. Four aligned scan lanes compare true range, real body, upper wick and lower wick with their own recent histories. It describes anatomy, not the next move.
Problem Definition
An ATR multiple measures distance from an average, but the same multiple can occur in very different distributions. A long range may also be mostly gap, body or wick. A wick-to-body ratio alone is unstable near a doji and says nothing about historical rarity. Ask two questions: is this component unusual, and does it occupy enough of this candle to matter?
Design Rationale
Separate ranks preserve anatomy hidden by one volatility score. The candidate is excluded from its reference window so an extreme cannot alter its own baseline. Half-weight ties avoid treating repeated tick sizes as distinct observations. A minimum high-low share rejects historically rare but visually trivial parts. Averaging all four ranks was rejected because a large body could mask an exceptional wick; retaining four lanes costs screen space but preserves the reason for each event.
Key Features
Four prior-only percentile populations with explicit zero handling.
Independent range and share-qualified body or wick flags.
A confirmed anatomy strip, three close-only alerts and optional statistics.
How It Works
TR is the largest of high-low, the distance from high to the previous close, and the distance from low to the previous close. Body is absolute close-open; wicks are the distances from the body edges to high and low. Each magnitude is rounded to the symbol's tick size. Its rank is 100 times the count of smaller prior values plus half the equal values, divided by N. Zero parts receive zero. All N preceding bars must have valid OHLC and previous-close data; invalid coverage leaves every lane blank.
A flag needs rank at or above Q. Body and wick flags additionally need their configured share of high-low; a zero high-low gives zero shares. Tail flags do not require extreme TR. The displayed type prioritizes dual tail, upper tail, lower tail, directional body, gap-led range, then range only. Gap-led requires extreme TR and at least 35% of TR outside high-low. Component flags remain independent of this display priority.
How Multiple Indicators Work Together
The four measurements are one candle decomposition, not unrelated trading signals. Rank supplies historical context; share supplies geometric relevance; their conjunction supplies body and tail flags. TR retains total movement, including movement beyond high-low relative to the previous close. Without share, tiny parts can be highlighted; without separate ranks, unusual anatomy disappears inside a single range score.
Trading Ideas and Insights
An upper-tail event identifies an unusually large upper wick, not proven selling pressure or a short entry. A lower tail is equally descriptive. Compare a tail inside ordinary TR with a range event dominated by a body: the patterns answer different anatomy questions. Clusters invite chart review but do not establish reversal odds.
Unique Aspects
Relative to an ATR threshold or candle ratio, the added mechanism is a prior-only, tie-aware four-population comparison with geometric qualification and explicit mixed-tail precedence. It preserves tail rarity even when total range is ordinary. Zero suppression prevents absent wicks from becoming exceptional merely because a reference sample contains many zeros.
How to Use
Read the lanes from top to bottom: gold TR, purple body, orange upper wick, teal lower wick. Each uses its own zero baseline and equal height for 0-100; stacked positions are not a shared numeric axis. Dashed rails mark Q, vivid columns show qualifying components and dots confirm them at close. Use the table or Data Window for actual ranks and anatomy codes. The diamond strip marks the selected closed-bar type.
Customization
Start with N=200, Q=95, wick share=20% and body share=55%; these are design starting points, not optimized settings. Shorter N responds sooner but uses fewer comparisons; higher Q or shares rejects more bars. The statistics window defaults to 100 chart bars. Its rates use eligible closed bars, with sample coverage shown; overlapping flags can sum above 100%. Guides, tips, strip, table and four colors are configurable.
Assumptions and Limitations
Use standard OHLC charts; synthetic candles change the meaning of anatomy. Price scale changes, splits, session gaps, stale bars and regime shifts can distort the raw-size reference. No volume or order-flow data is used. Rank 95 is a sample comparison, not a 5% future probability; it also does not measure how far beyond history a new maximum lies. At least N valid prior observations plus previous-close coverage are needed. Live ranks, shading and table type can change intrabar; tips, strip and alerts require close. Alerts apply to every qualifying closed bar, so consecutive bars can each alert and dual tails can trigger both tail alerts. Choose once per bar close. Parameters, chart history and feed revisions can change results. There is no entry, exit, profitability or reversal model.
Conclusion
The range percentile radar distinguishes unusual total movement from unusual candle parts while keeping rarity and shape separate. Use it as a compact explanation of observed tail volatility, with independent decision rules.
Indicador

Volatility of Returns | NickJoanVolatility of Returns | NickJoan
Core Idea
Volatility of Returns measures the standard deviation of logarithmic returns over a user-defined lookback window. This is the industry-standard approach to calculating historical volatility, widely used in finance for risk management, option pricing, and portfolio analysis.
The indicator displays volatility as an annualized percentage, making it easy to compare across different assets and timeframes. An optional moving average helps smooth the volatility series and identify trends in volatility itself.
Calculation Logic
The indicator follows a straightforward three-step process:
1. Log returns calculation
For each bar, the script calculates the logarithmic return:
• logRet = log(close / close )
2. Standard deviation calculation
The script calculates the standard deviation of log returns over the specified lookback period:
• stdevLogRet = stdev(logRet, length)
This measures how much returns typically deviate from their mean.
3. Annualization
The raw standard deviation is then annualized by multiplying by the square root of the annualization period:
• volatility = stdevLogRet × √annPeriod × 100
For daily crypto charts, the default is √365. This converts the per-bar volatility into an annualized percentage.
Chart Output
The indicator displays in a separate pane below the price chart:
Volatility line
• Shows the annualized volatility percentage
• Plotted in blue
Moving average line (optional)
• Shows the smoothed volatility trend
• User-selectable type: SMA, EMA, WMA, or RMA
• Plotted in gray with thicker linewidth
• Can be toggled off via input
Inputs
CALCULATION
• Volatility Lookback (bars): window for standard deviation calculation. Default: 90.
• Annualize: toggles annualization on/off. Default: true.
• Annualization Period: period used for annualization. Default: 365.
MOVING AVERAGE
• Show Moving Average: toggles MA overlay visibility. Default: true.
• MA Type: MA calculation method (SMA, EMA, WMA, RMA). Default: EMA.
• MA Length: MA lookback period. Default: 30.
How to Use It
Volatility level assessment
• Low volatility: calm, consolidating market
• Medium volatility: normal market conditions
• High volatility: turbulent, fast-moving market
Note: "Low" and "High" are relative to the asset class. Crypto naturally has higher volatility than stocks or forex.
Volatility trend identification
Use the moving average to identify whether volatility is rising or falling:
• Volatility above MA: elevated relative to recent trend
• Volatility below MA: suppressed relative to recent trend
• MA sloping up: volatility is increasing
• MA sloping down: volatility is decreasing
Risk management
Use volatility to adjust position sizing and risk parameters:
• High volatility: reduce position size, widen stop losses
• Low volatility: can increase position size, tighter stops
• Rising volatility: prepare for potential breakout or increased uncertainty
• Falling volatility: consolidation phase, wait for direction
Best Use Cases
• Historical volatility measurement
• Risk management and position sizing
• Volatility trend analysis
• Cross-asset volatility comparison
• Portfolio risk monitoring
Notes
The indicator is designed for daily crypto charts but works on any timeframe.
• Daily timeframe: use Annualization Period = 365
• 4H timeframe: use Annualization Period = 2190 (365 × 6)
• 1H timeframe: use Annualization Period = 8760 (365 × 24)
• Or disable annualization for raw per-bar volatility
The lookback period determines sensitivity:
• Shorter lookback (20-30 bars): more reactive to recent spikes
• Medium lookback (60-90 bars): balanced approach
• Longer lookback (180-365 bars): smooth, long-term trends Indicador

Cost Floor Painter [BSL]Is this bar even big enough to pay for its own round trip?
Most people pick a timeframe before they ever ask that. Cost Floor Painter
answers it for every bar on the chart, and then reports how often the
answer was yes.
HOW IT ANSWERS
You enter a round-trip cost once, in ticks: your spread plus your commission
plus whatever slippage you expect to pay. The script converts that to a price
distance using the instrument's own tick size, so the same setting keeps
working when you switch symbols.
Every closed bar is then measured against it. A bar that covered the cost is
painted solid. A bar that did not is painted in the SAME colour, faded. A
single-row panel reports how many of the last 50 closed bars cleared, with the
50 printed beside it.
The measurement is true range, not high minus low. If a session opened away
from the previous close, that jump is distance the instrument actually
travelled, and counting it is the honest reading. The panel names this on its
face, TRUE RANGE followed by your cost in ticks and in price, so you can see
which definition produced the number. Cost-to-Range Gauge measures the
same predicate over a window and names it the same way, so two tools that
agree by construction can be seen to agree.
A bar whose range lands exactly on the cost counts as covered.
WHERE THE READING BITES
On daily bars almost everything clears, whatever cost you enter. A day of
EURUSD moves eighty pips and a round trip costs two; the comparison is not
close and the panel will read 100%. That is a true answer and a dull one. The
reading gets interesting on the timeframes where bar size and cost are the
same order of magnitude, which for most instruments means minutes rather than
days. Checked on 2026-09-04: at the default cost, BTCUSDT, AAPL and EURUSD all
read 100% on the daily.
WHY FAILING BARS ARE THE SAME COLOUR
A second colour would say: this is a different kind of bar. It is not. A bar
one tick short of the cost is not a different animal from one a tick over, and
colouring it separately would invent a boundary the market does not have.
Fading says: the same kind of thing, weaker. That is the true statement, and
it is the only claim the paint makes.
THE BAR STILL OPEN GETS NO VERDICT
The current bar is drawn as an outline. It is never painted, never counted and
never published, because its range can still change. Whatever it looks like
now, it has not finished being a bar.
THE COST IS YOURS AND THE SCRIPT CANNOT CHECK IT
Spread, commission and slippage are numbers you supply. No chart indicator can
read your broker's fee schedule, and this one does not pretend to. If your
figure is wrong, every reading here is wrong by the same amount, and that is
why the panel shows the conversion from ticks to price, so you can
sanity-check it against your own fills.
WHAT YOU CAN SET
- Round-trip cost: 4.0 ticks
- Coverage window: 50 closed bars
- Colour the bars: on
- Outline the forming bar: on
- Panel position: Bottom center
There are six positions to choose from and the panel starts at the bottom
center. That is the strip TradingView leaves empty. The chart legend and the
trading buttons live top left, the platform's own logo sits bottom left and
covers whatever starts there, and the price scale takes the right. Move it if it
covers something.
The two display switches change the picture and nothing else. Turn the paint
off and the counts, the share and the published value are identical.
Below 50 closed bars there is no share at all. The panel says how many bars it
has instead of dividing by a number it does not have.
WHERE IT REFUSES TO WORK
Heikin Ashi, Renko, Kagi, Point & Figure and Range charts build their bars
from the market rather than showing them. The range of a constructed bar is
not the distance a trade would have paid for, so measuring a cost against it
would produce a number that looks right and means nothing.
On those chart types the paint, the share and the published value stop, the
background carries a wash you cannot miss, and the panel collapses to one
frozen row naming the chart type.
WHAT OTHER SCRIPTS CAN READ
One value is published for other indicators to pick up in their Source
setting: whether the bar cleared the cost. It is 1 for a bar that covered it,
0 for a bar that did not, and no value at all before the script has an
opinion. That is not the same as a 0.
That value is a filter, not a signal. It describes bar size and carries no
direction. It says nothing about whether to be long or short, and connecting
it to a tool that expects entry events would produce entries nobody signalled:
the value sits at 1 for every large bar in a row, and a tool reading events
would treat each change from 0 to 1 as a fresh instruction.
The dropdown will show more than this one value. The outline drawn on the
forming bar is offered there too, along with the two alert conditions, and the
outline is switched off by a display box. Take the value named above.
WHAT IT WILL NOT TELL YOU
It never reports what happened after a bar cleared the cost. There is no
direction in it, no entry, no exit, no stop and no position size. It
recommends no timeframe, no instrument and no cost figure. No percentage
appears anywhere without the number it was divided by.
What a cost does to a sequence of trades is a different question, answered by
Execution-Aware Trend , where the same figure becomes an executed cost
with next-bar fills and a fixed in-sample / out-of-sample split.
This tool describes bar size against a cost you declare. It does not predict
price, guarantee performance or provide trading advice. Validate the behaviour
on your own symbols, timeframes and execution assumptions before making
decisions.
Open-source Pine Script® v6. Educational use only. Indicador

Stretch z distance from session VWAPStretch z — distance from session VWAP, normalised
Ten dollars from VWAP means something completely different on a dead Tuesday than it does thirty seconds after a number drops. Most "distance from VWAP" tools don't know that — they plot the raw dollar gap and leave you to eyeball whether it looks big today. This pane won't plot a number until it's been made to mean the same thing on any day, in any volatility regime, on any instrument.
The problem with a dollar amount
Raw distance from VWAP isn't comparable across sessions, let alone across symbols. A given point distance on gold during a quiet Asian session and the same point distance thirty seconds after a data release aren't the same event, even though the ruler says they are. The fix is standardisation: divide the raw distance by a measure of how far price normally sits from VWAP right now, and the number stops being "$10" and starts being "how unusual is this, given what unusual looks like today." Do that consistently and the reading also becomes portable — the same z = 2 means roughly the same thing on GC and on NQ, without retuning a single input between them.
Two normalisers, two different claims
You get an explicit choice, because the two options aren't interchangeable and I didn't want to hide that. Dividing by the rolling standard deviation of the spread produces an actual z-score — a statement about how many typical deviations price currently sits from VWAP, with the probabilistic interpretation that implies. Dividing by daily ATR instead produces a distance expressed in units of a familiar, point-based measure — easier to reason about at a glance, portable across timeframes you already think in ATR terms, but it is not a z-score, and the same band thresholds mean something different depending on which one you picked. The tool doesn't pretend these are the same thing wearing different clothes.
Don't trust a variance estimate you just started counting
There are two ways to estimate "normal" dispersion, and each has a real cost. A rolling window (60 bars by default) gives a stable estimate built on a real sample size, but it can straddle a session boundary — at 09:35 that window is still mostly measuring yesterday's regime, not today's. A session-anchored estimate restarts at the open and builds its variance forward, bar by bar, from a running sum and sum-of-squares (with Bessel's correction applied for a proper sample variance) — statistically cleaner, because it only ever describes the session you're actually in, but noisy and untrustworthy for the first handful of bars, when "normal dispersion" is being estimated off three or four data points. Rather than plot a confident-looking number built on a sample too small to support it, the pane suppresses the reading — and the alerts — until the estimate has enough bars behind it to mean something.
A parametric score deserves a non-parametric gut check
A z-score's "how unusual is this" framing leans on the reading behaving roughly like a normal distribution, and a futures spread doesn't always cooperate with that assumption. So alongside the z-score itself, the readout reports where the current |z| ranks against its own trailing 500-bar history — the same question, asked empirically, without needing the distribution to be well-behaved. If the two ever disagree meaningfully, that disagreement is informative on its own.
The bands aren't decorative — they're calibrated
Distance from VWAP isn't universally good or bad; what it means depends entirely on what you're trying to do with it. The readout scores the same z-band differently for three separate trade setups, and the weighting isn't monotonic in the same direction for all three — one setup scores highest when price sits close to VWAP and falls off as stretch increases, while another actually peaks in the 2–3σ band rather than near zero, which lines up with what earlier backtesting on that setup already found. Treating "how stretched is price" as a conditioning variable that different setups respond to differently, rather than a single filter everyone reads the same way, is the actual point of the table — a live, at-a-glance version of a relationship that was originally found by looking backward, not a number invented for the chart.
How I actually use it
Before taking any of the three setups this table tracks, I check the band and the points column, not just the raw z-score — a "big" z-score isn't automatically good or bad news, and the table already tells me which setup it favors and which it doesn't. The percentile column is my sanity check against the regime itself: a 2–3σ reading on a slow, thin session is a genuinely rare event; the same reading thirty seconds into a volatile one might barely be top-quartile, and the percentile is what tells the two apart when the z-score alone can't. The two band-cross alerts do the actual watching — I don't need to sit on the pane all session waiting for the reading to become interesting; it tells me when it has.
(Default window length and weights are set to match a scoring workbook I built earlier in this framework — you don't need that workbook to use this pane, but if the defaults look oddly specific, that's why.)
No time travel
Session VWAP is a standard, non-repainting session-anchored calculation. Daily ATR is retrieved through a security request with lookahead explicitly disabled and offset by one bar before the request, the documented non-repainting pattern for higher-timeframe data. Nothing on the pane, and no alert it fires, depends on information that wasn't available at the time.
What's proven, and what isn't yet
The normalisation logic and the small-sample discipline are sound on their own statistical merits — that part doesn't need a backtest to justify it. The per-setup weights are a different matter: they encode a relationship I'd already found in earlier research on this framework's setups, not a fresh statistical test run by this indicator itself, and the three band edges (1σ, 2σ, 3σ) are conventional defaults rather than something optimised inside this script. A companion scoring workbook in the same framework carries Monte-Carlo-validated adaptive thresholds; this pane trades that adaptivity for a lighter, always-on read, and it's worth knowing which tool you're looking at if the two ever disagree.
Limitations
Runs on any TradingView plan — unlike footprint-based tools, this only needs price and volume, not order-by-order data.
Built for standard candlestick charts; since it emits alertconditions, treat it like any signal-generating script and avoid Heikin Ashi, Renko, or other synthetic chart types.
Session-anchored mode needs roughly 20 bars into the session before its reading is trustworthy; the pane stays blank until then rather than show a number that isn't earned yet.
Default bands and setup weights are tuned for the framework and instrument I built this on; treat them as a starting point, not a universal constant, on a different symbol or session. Indicador

Squeeze Regime Map [BSL]Squeeze Regime Map classifies volatility contraction, confirmed release and
directional expansion as explicit states. It answers “what volatility regime
is the current chart in?”, not “what trade should I take?”
This is an original BarState Labs implementation built from an independent
written specification. It does not reproduce another publication's formula,
defaults, interface, chart grammar or source code.
HOW IT WORKS
Normalized volatility is Wilder ATR divided by close and expressed as a
percentage:
`nATR = RMA(True Range, ATR length) / close × 100`
The current nATR is ranked inside the latest complete rolling window using an
inclusive percentile:
`VOL PCTL = 100 × count(window values <= current nATR) / window size`
Inclusive ties are deliberate. The implementation uses this explicit bounded
definition rather than relying on an opaque rank function.
Directional impulse is displacement over the selected momentum length,
normalized by current ATR and then EMA-smoothed:
`impulse = EMA((close - close ) / ATR, smoothing)`
Impulse labels the direction of a confirmed release only when its magnitude is
at least the configured minimum. A weak release is recorded as unresolved
instead of being forced up or down.
STATE MACHINE
- Compression begins when VOL PCTL is at or below the compression-entry level.
- Compression persists until the separate release threshold is reached. This
hysteresis prevents repeated threshold chatter.
- The first qualified exit is a one-bar Release Up or Release Down state and a
one-bar +1 or -1 machine-readable pulse.
- A weak exit returns to Neutral and increments the unresolved ledger.
- On the next bar, a directional release becomes Expansion only when volatility
reaches the expansion threshold and impulse keeps the same qualified
direction.
- Expansion persists while volatility remains above the release threshold and
direction agrees. Otherwise the state returns to Neutral.
- A new compression always takes transition precedence.
The default thresholds are 20 / 40 / 70 percentile. They must satisfy
`compression < release <= expansion`; an invalid order renders `CONFIG ERROR`
and freezes committed output until corrected.
CONFIRMED-BAR BEHAVIOR
State, duration, release plots, diagnostics and alert pulses commit only on
confirmed bars. On an open realtime bar, the panel says `OPEN BAR — HELD` and
retains the previous confirmed values. Historical, elapsed realtime and Bar
Replay bars use the same transition order.
This does not prevent upstream exchange or broker feed corrections from
changing rebuilt history after reload. The script makes no external data
requests and uses only the current chart symbol and timeframe.
OUTPUTS
The pane contains:
- volatility percentile and declared threshold guides;
- a visually clipped impulse histogram;
- optional confirmed regime backgrounds;
- optional confirmed release markers;
- Compact and Full evidence panels with state, duration, normalized metrics,
release counts, unresolved events and readiness.
Hidden machine-readable plots expose:
- Regime code: -3, -2, 0, 1, 2 or 3;
- Compression score: 100 minus VOL PCTL;
- Confirmed release: +1, -1 or 0.
The Confirmed release plot can be selected directly as Signal Audit Lab's
Event source with the Signed pulse decoder. In the validation run, BSL-002's
18 up and 19 down releases matched BSL-001's 18 long and 19 short accepted
events exactly.
ALERTS
Four alert conditions are provided:
- Confirmed volatility release up;
- Confirmed volatility release down;
- Confirmed directional expansion up;
- Confirmed directional expansion down.
Release alerts use the same one-bar booleans as the exported pulse. Expansion
alerts fire only on entry into expansion.
LIMITATIONS
- This is a regime classifier, not a forecast, entry/exit system or strategy.
- A release direction is a normalized momentum label, not evidence of future
return.
- Percentile and state depend on the loaded symbol, timeframe, feed, history
and settings.
- Warm-up requires a complete percentile window and valid momentum history.
- The maximum 500-value percentile window is bounded but intentionally more
expensive than the default 126-value window.
- No optimization, multi-symbol scan, multi-timeframe request, order model,
position sizing or profitability claim is included.
VALIDATION
The release candidate passed 14 deterministic reference tests, a 14/14 live
Pine harness, BTCUSDT/AAPL × 1D/1H runtime checks, exact reload parity,
realtime and replay gates, valid/invalid threshold boundaries, four alert
conditions, 390 px rendering, BSL-001 signed-source integration and a 32,137
execution Profiler run at the maximum 500-bar window.
ORIGINALITY AND SOURCE
Category demand was selected from a dated metadata corpus. No protected,
invite-only or closed source was accessed, and no source from a compared open
publication was imported. The script uses standard true-range, Wilder RMA,
percentile-count and EMA calculations and is released under MPL 2.0.
CHANGELOG
v1.0.0
- Initial open-source release candidate.
- Explicit compression, release and expansion state machine with hysteresis.
- Inclusive rolling volatility percentile and normalized directional impulse.
- Confirmed +1 / -1 release export for Signal Audit Lab.
- Compact/Full evidence panels, four alerts and visible limitations.
Indicador

Kamote v1.0Kamote v1.0 gives traders a clear, color-coded decision system that tells them the current market regime and the single highest-probability strategy to use—or when to stay out—across Intraday, Day, and Swing horizons.
It does this by combining five independent, hysteresis-protected filters into one coherent recommendation engine, displayed in a clean status matrix with fully configurable alerts. The result is fewer forced trades in dead or chaotic conditions and higher-confidence entries when the conditions actually align.
### Core Value: One Dashboard That Replaces Guesswork ###
Most indicators show isolated signals. Kamote synthesizes volatility regime, higher-timeframe trend direction, trend efficiency, volume behavior, and horizon-specific strategy scoring into a single, actionable output. Traders see at a glance:
Whether volatility is Dead, Healthy, or Extreme
Whether the higher-timeframe linear-regression slope is Bullish, Bearish, or Flat
Whether multi-timeframe Kaufman Efficiency Ratio confirms real trend strength
Whether volume is Expanding, Contracting, or Flat
The optimal strategy (Trend Long/Short, Pullback Long/Short, Momentum Long/Short, Breakout, Mean Reversion) or “Stay Out / None”
Color coding makes the matrix instantly readable. Green supports action, red signals caution or exit, yellow flags transitional states.
### How the Engine Works ###
Kamote runs a single higher-timeframe data request (automatically set by the chosen trading mode) and blends it with chart-timeframe calculations. All regime classifications use percentile ranks plus hysteresis bands so the status does not flicker on every minor bar.
Volatility Regime (ATR Percentile + Hysteresis)
ATR is ranked over a lookback window. Dead (< low percentile), Extreme (> high percentile), or Healthy. Hysteresis prevents rapid oscillation between states. Extreme + contracting volume + weak efficiency is treated as structural noise and forces a “Stay Out” recommendation.
Higher-Timeframe Trend Filter (ATR-Scaled Linear Regression Slope)
Slope is calculated on the higher timeframe, normalized by ATR, and classified Bullish / Bearish / Flat. The threshold itself scales with volatility so the filter stays relevant in both quiet and explosive markets.
Multi-Timeframe Efficiency Ratio
Kaufman’s Efficiency Ratio is computed on both chart and higher timeframes, then blended with user-adjustable weights. A minimum threshold gates whether the move is efficient enough to support trend or momentum strategies.
Volume Regime (Percentile + Hysteresis)
Volume is ranked and classified Expanding / Contracting / Flat. Expanding volume supports breakouts and trend continuation; contracting volume favors mean-reversion or short-side setups depending on direction.
Horizon-Aware Strategy Scoring
The script first checks for hard invalid states (extreme volatility + contracting volume + weak efficiency, flat slope + weak efficiency + flat volume, or swing-mode + flat slope + extreme ATR). If any invalid condition is true, the recommendation is “Stay Out.”
Otherwise it scores eight strategy candidates using eligibility gates and horizon-specific weights:
Trend and Pullback strategies are favored on Day and especially Swing horizons.
Momentum strategies are favored on Intraday.
Breakout receives a boost on Intraday and a discount on Swing.
Mean Reversion is favored on Swing and discounted on Intraday.
The highest-scoring eligible strategy is displayed. Confidence modifiers (healthy ATR, volume alignment, weak prior efficiency, etc.) further refine the score so the recommendation is not binary.
### Designed for Real Trading Workflows ###
Three preset modes (Intra / Day / Swing) automatically adjust higher-timeframe, efficiency length, volume lookback, slope threshold, ATR window, and hysteresis. Users can still fine-tune every parameter. Layout can be horizontal or vertical and placed in any corner. Alerts fire only on confirmed state changes for ATR regime, slope direction, efficiency cross, volume regime, and strategy recommendation—keeping notification noise low.
### Why Traders Adopt It ###
Kamote does not claim to predict the future. It enforces discipline by making regime and edge explicit. When the matrix is green and a strategy is named, the conditions that historically support that style of trade are present. When it says “Stay Out,” the market is offering no edge. That single piece of information—knowing when not to trade—is often more valuable than any entry signal.
The script is pure Pine Script v6, overlay=false, and designed to sit alongside price action or other tools without cluttering the chart. It is built for discretionary traders who want a systematic regime filter and for systematic traders who need a clean, multi-factor permission layer.
Install Kamote v1.0, select your trading horizon, and let the status matrix tell you what the market is actually offering right now. Indicador

Intraday Pullback Sniper (BB, Stoch RSI, Liquidity, HTF)An intraday entry-timing indicator.
It looks for pullbacks into a Bollinger band in the direction of the higher-timeframe bias — buying dips in an up regime, selling rallies in a down one — and marks the candle where the pullback has run far enough and the lower-timeframe structure has turned back.
It marks conditions. It does not place stops, targets or position sizes, and it does not tell you to buy. That decision stays with you.
TWO DOTS, AND THE DIFFERENCE BETWEEN THEM IS THE WHOLE IDEA
A small dot means a setup is armed. Four conditions on the same candle: the wick touched a band, the candle closed back inside and in the half that faces that band, the Stoch RSI was at its extreme within the last few candles, and the bias allows that direction. Read it as "price bounced off the band, I am watching."
A large dot means every enabled condition is met. On top of a setup still running from an earlier candle it needs the structure of the entry timeframe to have confirmed the turn, a second band touch with a rejection on this very candle, the bias, the liquidity sweep if you require one, an open session, and the cooldown after the last signal to have passed. Read it as "price did it a second time, and the structure turned in between."
The decisive part is the time gap. The band has to be touched twice, and the structure has to confirm between the two. A large dot can therefore never appear on the same candle as its own small dot — the following one at the earliest. A new small dot on a signal candle is normal: that candle meets the setup conditions as well, so it arms the next setup while the current one fires.
WHAT IT DRAWS
On the price chart: Bollinger Bands, the bias EMA, setup and signal dots with the price they occurred at, swing labels (HH / HL / LH / LL), market structure (BOS / CHOCH / MSB) for several timeframes, liquidity levels named by side and rank, and session boxes sized to the high and low each session made.
In its own pane: the Stoch RSI the logic actually runs on, its levels, dots at the extremes, the bias as a background tint, and a strip along the bottom that runs for as long as a setup is still waiting for its signal.
HOW SWINGS ARE FOUND
Everything structural — swing labels, market structure and liquidity — comes from one single engine using the classical definition of a turning point. A swing high is the highest candle of a window with the same number of candles on its left and on its right, so it is a local extreme in the literal sense. It is confirmed and never repainted, at the cost of a delay equal to that window.
Highs and lows strictly alternate. A second point of the same kind before the opposite one does not open a new leg; it replaces the current one if it is more extreme, otherwise it is discarded. Two degrees are calculated: a short one with a lookback of 2, the classic fractal, and a longer one for the larger move.
Structure breaks are judged on the close, never on wicks. A break with the prevailing direction is a BOS, one against it a CHOCH; both are MSB events.
Liquidity levels are swing points price has not closed beyond. Once a candle of that timeframe closes through a level, the orders resting there have been filled and the level is dropped. A wick through it with a close back on the old side is a sweep, not a break, so the level survives and is marked as swept.
HOW TO USE IT
Put the chart on the setup timeframe, 5 minutes by default. The entry timeframe must be lower than the chart; its candles are read from inside each chart candle. All higher-timeframe data comes from closed candles only, and signals are evaluated at the close of a chart candle, never intrabar.
The 5-minute default describes the preset, not a limit. Every timeframe is adjustable — a 15m chart with a 1H bias and 5m entry structure works the same way. The status table tells you if the chart and the setup timeframe do not match.
For alerts, pick "Any alert() function call" with the trigger "Once Per Bar Close". One alert then covers both directions, and the message carries symbol, direction, price, bias, setup direction, structure state, sweep and session. Separate SNIPER LONG and SNIPER SHORT conditions exist as well.
Every setting has a tooltip. Group 0 holds a glossary of the labels and a short guide to the alerts.
ON THE DEFAULTS
The defaults are deliberately on the safe side and the strict bias is on. If you get too few signals, switch conditions off one at a time and watch what changes — that is far more instructive than loosening several at once. The liquidity sweep is the one filter that is off by default; switch it on for the stricter variant.
LIMITATIONS, HONESTLY
Lower-timeframe data on TradingView is limited to a few months of intrabar history depending on your plan. Further back the entry structure and the signals that depend on it are missing, while everything else keeps drawing normally.
A swing is only confirmed after its window has passed, so the most recent candles cannot carry a label yet. That delay is the price of never repainting, and it is not a bug.
The indicator needs no volume, so it works on CFDs, forex and futures alike. It assumes continuous trading without large gaps — on instruments that gap overnight a band touch can come from the opening gap rather than from a rejection, and the logic is of little use there.
Suited to liquid, continuously traded instruments: index CFDs, major crypto, major forex pairs, liquid futures. On crypto the sessions carry no meaning; either switch all three off or trade the overlapping hours deliberately.
This is a tool for your own analysis, not financial advice. Past behaviour of any setup says nothing about future results. Indicador

MA Ribbon Aurora_Channel_V1 (DRIZZLE_ALGO56) MA Ribbon with Aurora Channels UI
█ Overview
MA Ribbon with Aurora Channels UI is an experimental indicator designed to modernize the classic Moving Average Ribbon. Instead of relying on static trailing averages—which frequently lag during sharp structural shifts—the system fuses custom MA ribbons with Flipped (Inverse) Ribbon Dynamics, Volume Expansion Multipliers, and Asymmetrical Wick Ratios, wrapped inside a real-time HUD interface.
The indicator converts standard ribbon dispersion into a multi-layered, volatility-adaptive envelope (Core Channel, Expansion Envelope, and Trigger Buffer). The channel automatically expands during high-volume momentum breakouts and contracts during low-volatility consolidation phases.
⚠️ Author Note: This project is an experimental research prototype. Optimal performance requires manual tuning of parameter settings (smoothing lengths, volume sensitivity, and width multipliers) based on your target asset, timeframe, and prevailing market regime.
█ How It Works
⚪ Dynamic Midline Engine
The system averages all active moving averages (supporting SMA, EMA, SMMA, WMA, VWMA) to create a central equilibrium reference line.
⚪ Flipped Ribbon & Width Engine
Rather than relying purely on standard moving average distance, the indicator calculates inverse mirror projections for every active ribbon line to measure true structural price dispersion:
flip = 2 * source - ma
The maximum deviation across normal and flipped lines defines the raw channel width, which is then smoothed using an exponential moving average:
rawWidth = math.max(math.abs(diff1), math.abs(diff2), math.abs(diff3), math.abs(diff4))
⚪ Volume-Driven Expansion
Channel width dynamically scales upward when volume participation exceeds its baseline moving average, ensuring bands react instantly to institutional volume spikes:
volRatio = volume / volMa
volBoost = 1.0 + math.max(0.0, volRatio - 1.0) * volSens
⚪ Asymmetrical Wick Balancing
Upper and lower envelope boundaries expand independently based on the ratio of directional wicks relative to ATR. This prevents false boundary breaches caused by one-sided wick rejections:
upAsym = 1.0 + asymStr * (ur / math.max(atrVal, syminfo.mintick))
dnAsym = 1.0 + asymStr * (lr / math.max(atrVal, syminfo.mintick))
⚪ Aurora Multi-Layer Bounds
The engine calculates three distinct volatility zones:
Core Channel: The primary equilibrium zone surrounding the midline.
Expansion Envelope: Outermost normal volatility bounds where directional acceleration occurs.
Trigger Buffer: An extreme extension boundary for mean-reversion cues.
⚪ Signal Engine & HUD Dashboard
The script tracks zone transitions, logging whether a boundary breach represents a 1st Touch or a Retest. The real-time HUD table tracks current zone regime, duration, ribbon compression percentage, active volume boost, and touch history directly on the chart.
█ How to Use
⚪ Volatility Contraction & Compression
When the Ribbon Tightness value on the HUD falls below 30%, the MA ribbon is in deep compression. Price residing strictly inside the Core Channel signals neutral range consolidation prior to a breakout.
⚪ Trend Expansion & Momentum Setup
A candle close outside the Expansion Envelope indicates institutional volume acceleration. Look for 1st Touch (triangle) or Retest (circle) shapes for momentum entries aligned with expanding channel width.
⚪ Mean-Reversion / Profit-Taking Setup
When price reaches or breaches the outer Trigger Buffer, market expansion is overextended. Look for mean-reversion rejections back toward the Core Channel or Midline.
█ Settings
MA Ribbon Inputs
MA #1 – #4: Enable or disable up to four independent moving averages. Select the MA type (SMA, EMA, SMMA, WMA, VWMA), source, length, and plot color.
Display
Show Normal / Flipped Ribbon: Toggle visibility of standard ribbon lines or mirror projections.
Show Core / Envelope / Trigger: Toggle individual channel layer visibility.
Show Dashboard & Position: Enable the real-time HUD and select its chart overlay anchor.
Show Signal Shapes: Enable breakout and retest signal markers.
Channel Engine
Core Multiplier: Sets the width multiplier for the inner fair-value channel.
Envelope Multiplier: Controls the distance of the momentum envelope bounds.
Trigger Buffer Multiplier: Controls the outer overextension boundary.
Width & Edge Smoothing: Sets the EMA smoothing applied to raw dispersion and final channel edges.
Volume MA Length & Sensitivity: Adjusts how strongly volume spikes expand channel boundaries.
Asymmetry Strength: Controls how aggressively upper/lower bounds deform in response to long wicks.
Colors
Core Upper / Lower: Custom colors for the inner channel clouds.
Envelope / Trigger / Midline: Color selection for boundary lines and fill layers.
Cloud Transparency: Adjusts the opacity gradient of background fills.
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs. Indicador

HTF FVG Tracker (M1D)HTF FVG Tracker
Keeps a running ledger of the hourly, four-hour and eight-hour fair value gaps on any intraday chart. Each gap is drawn the moment its candle set completes on its own timeframe, and each zone runs its own timeframe's length forward and then stops — so the day reads left to right as a clean staircase of imbalances, hour by hour, instead of a pile of boxes all stretching to the live candle at once.
It is a marking tool, not a signal tool. It draws where higher-timeframe imbalances printed and what has happened to them since, and leaves the read to you.
The zones
A bullish gap (BISI) is a candle whose low sits above the high two candles back; a bearish gap (SIBI) is a candle whose high sits under the low two candles back. Each is measured on the tracked timeframe's own candles — H1, H4 and H8, each with its own switch — and drawn from its displacement candle forward.
Every zone carries its name inside the box at the right edge, centred on the zone's midline: H1+ for a bullish hourly gap, H4- for a bearish four-hour one. A setting adds the displacement candle's New York hour, so a four-hour gap reads H4+ 2PM. The fill colour states direction; the border is a solid line on every zone so the edges stay readable where timeframes overlap.
The window
By default a zone extends exactly its own timeframe past its formation: an hourly gap gets one more hour, a four-hour gap four hours, an eight-hour gap eight — then its right edge is fixed. How many of its own candles it runs is a setting, and a second mode keeps the newest zone per timeframe extending until the next zone on that timeframe prints instead.
Either way, if a new gap prints while an earlier zone on the same timeframe is still open, the earlier zone is cut at the new zone's left edge. Nothing overlaps raggedly, and every box's width tells you how long it was the live imbalance.
Volume imbalance and suspension blocks
A fair value gap measured wick to wick understates a fast leg. Where the candle bodies also gap on either seam of the displacement candle while the wicks still bridge it, that volume imbalance is part of the same region, and the zone absorbs it — the edge extends from the wick to the body it should have reached. Each seam is tested on its own.
A suspension block is three same-direction candles whose bodies gap at both seams with no wick gap anywhere — a span price never traded back through. It is drawn as its own zone, from the first candle's close to the last candle's open, tagged SB.
A body gap across a session or weekend break is a calendar artefact, not an imbalance, so any seam spanning more than one candle's worth of time is excluded from both rules. Absorption and suspension blocks each have their own switch.
Fills
A fill is a candle body closing through the far edge of the zone. A wick into the zone is a touch, and a touch never counts. By default a fill inside the zone's window shortens the box to the fill bar but keeps it on the chart — the ledger is the point, and a filled gap is still part of the day's record. You can instead leave a fill unmarked, or delete the zone outright. Zones older than a set number of days are removed either way.
Consequent encroachment
Each zone can carry its midpoint — the consequent encroachment of that gap — as a dotted line through the box. One switch.
Method & repainting
Each timeframe is read with a single higher-timeframe request using confirmed candles only — offset by one bar with lookahead, the standard non-repainting form. Detection is gated to the chart bar's close, so a zone appears on the first closed chart bar after its higher-timeframe candle completes, and nothing appears mid-bar and then withdraws.
In the default mode a zone's full window is drawn as soon as the zone prints, so its right edge can sit a little ahead of the live candle until the window closes. In the until-the-next-FVG mode the newest zone per timeframe extends rightward as bars print — that is the box tracking the present, not its history changing.
The chart timeframe has to be at or below the timeframe being tracked. On a 4-hour chart you get the H4 and H8 ledgers only, and above H8 the script says so on the chart rather than drawing nothing.
Alerts
Three, one per timeframe, firing on bar close when a new zone prints on that timeframe — gap or suspension block.
What it will not do
It places no entries, exits, stops or targets, draws no bias and grades no gap. It does not decide which imbalance matters — that is a judgement about context this script does not have. A quiet day showing only a handful of zones is the tool working, not failing.
Settings
The three timeframe switches and days of history; the zone extension mode and its candle count; volume imbalance absorption, suspension blocks, and the fill behaviour; bullish, bearish and border colours with the zone fill transparency; the consequent encroachment line, the New York hour tag, and label text size.
Disclaimer
This is a decision-support tool for discretionary ICT trading. It is not financial advice, and no market's past behaviour is indicative of future results. Indicador

Buy Signal Ema Macd CrossBuy Signal Ema Macd Cross — Xcelerate Trade
All-in-one indicator for TradingView: multi-factor BUY confluence on the price chart + classic MACD (12, 26, 9) in a separate pane below.
WHAT YOU GET
• Price chart: MA14 (purple) and MA200 (red) — MA25/50/99 optional
• BUY labels when all confluence rules align (not on a single isolated MACD cross)
• Live Confluence table — MACD, Signal, Histogram, condition checks, active window
• Movable table — 9 screen positions (corners & centers)
• MACD pane: official TradingView-style histogram (4-tone momentum colors), MACD line, Signal line (orange), zero line
BUY SIGNAL LOGIC
A BUY fires only when these align within the Confluence window (default: 8 bars):
1. MACD crosses above Signal (bullish cross)
2. Close above MA14 and MA200
3. Price recently crossed above MA200 (within window)
4. MA14 recently crossed above MA200 (within window)
5. Cooldown: minimum 12 bars between BUY labels (anti-spam)
Optional (default OFF): BUY only when MACD is below zero — cross and signal must occur under the zero line (classic recovery-from-oversold setup).
Analysis limited to the last 500 bars on chart load.
KEY SETTINGS
• Moving averages: show/hide MA14, MA25, MA50, MA99, MA200
• MACD: 12 / 26 / 9, EMA oscillator & signal
• Confluence window & cooldown — tune for your timeframe and volatility
• Display: BUY label color, confluence table on/off, table position
ALERTS
• BUY confluence (all conditions met)
• MACD crosses above / below Signal
• MACD histogram rising→falling / falling→rising
WHO IT'S FOR
Traders who want filtered BUY entries combining trend (MA200), short-term momentum (MA14), and MACD confirmation — intraday and swing on forex, gold, crypto, indices. Always validate on demo and adjust window/cooldown for your market.
DISCLAIMER
Technical analysis tool only — not financial advice. Past signals do not guarantee future results. Trade at your own risk. Indicador

Zeiierman Bands (Zeiierman)█ Overview
Zeiierman Bands (Zeiierman) is an adaptive liquidity-band indicator designed to visualize price equilibrium, liquidity stress, directional pressure, and mean-reversion opportunities directly around price.
Instead of using a standard moving average with symmetrical volatility bands, the indicator builds a custom Liquidity Mean using price, volume participation, candle range, wick behavior, and liquidity interaction. The upper and lower bands then adapt independently depending on the stress developing on each side of the market.
A higher-timeframe Liquidity Tension model colors the bands:
• Bull Color = positive directional pressure
• Bear Color = negative directional pressure
• Neutral Color = insufficient directional pressure
Reclaim triangles identify situations where price reaches a liquidity extreme and then begins moving back toward equilibrium.
█ How It Works
⚪ Liquidity Mean
Volume participation is compared with candle movement to estimate liquidity acceptance. Wick behavior is then used to adjust the price being weighted into the mean.
acceptance = relativeVolume / relativeRange
The result is a liquidity-weighted equilibrium instead of a conventional moving average.
⚪ Asymmetric Liquidity Bands
Upside and downside deviation are calculated separately using normal price dispersion, wick activity, and liquidity stress.
upper = mean + deviation * upperStress
lower = mean - deviation * lowerStress
This allows one side of the bands to expand more than the other when liquidity pressure becomes uneven.
⚪ Liquidity Color
The color engine compares price with the previous completed candle from the selected higher timeframe and combines that position with Path Efficiency.
normalizedPosition = 2 * (close - htfMid) / htfRange
rawTension = normalizedPosition * pathEfficiency
Persistent positive tension creates the Bull regime, persistent negative tension creates the Bear regime, and weaker conditions remain Neutral.
⚪ Reclaim Signals
A reclaim setup becomes armed after price reaches an outer liquidity extreme. The signal appears when price then reclaims the inner band toward the Liquidity Mean.
longReclaim = armedLong and crossover(z, -reclaimLevel)
shortReclaim = armedShort and crossunder(z, reclaimLevel)
The optional OU Filter removes reclaims when the current environment does not behave sufficiently like a mean-reverting process.
When Align Reclaims With Trend is enabled, Long Reclaims are allowed only during the Bull regime and Short Reclaims only during the Bear regime.
█ How to Use
Bull-colored bands indicate positive higher-timeframe Liquidity Pressure, while Bear-colored bands indicate negative Liquidity Pressure. Neutral bands indicate that directional pressure is not strong enough to establish either regime.
⚪ Bullish Setup
If the bands are blue, look for rejection from the lower bands. These areas can act as potential bounce zones because the setup is aligned with higher-timeframe liquidity pressure.
⚪ Bearish Setup
If the bands are yellow, look for rejection from the upper bands. These areas can act as potential rejection zones because the setup is aligned with higher-timeframe liquidity pressure.
⚪ Volatility Contraction & Expansion
When the bands begin to contract, volatility is decreasing, and price is becoming more compressed. This can signal that the market is building toward a larger move.
A breakout followed by band expansion shows that volatility is increasing and price is moving out of the compressed range.
⚪ Bearish Setup
In this example, the bands contract before price breaks lower. The bands then expand as bearish momentum accelerates, confirming the volatility expansion and continuation of the move.
⚪ Bullish Setup
In this example, the bands contract as price consolidates and volatility decreases. Price then breaks higher and the bands expand as bullish momentum increases. A second contraction develops before another breakout, followed by a stronger volatility expansion and continuation of the bullish move.
█ Settings
Length: Controls the primary calculation window.
Deviation: Controls the distance of the outer bands.
Reclaim Ratio: Controls the position of the inner reclaim bands.
Use OU Filter: Enables the mean-reversion filter for reclaim signals.
OU Strictness: Controls how selective the OU filter is.
Color Timeframe: Selects the timeframe used by the Liquidity Color Engine.
Auto Color Timeframe: Automatically moves the color engine higher according to the timeframe mapping.
Path Efficiency Length: Controls how price travel efficiency is measured.
Tension Build Length: Controls how quickly directional tension strengthens.
Tension Release Length: Controls how quickly tension fades or reverses.
Maximum Tension: Caps the Liquidity Tension value.
Trend Tension Threshold: Determines when Bull or Bear coloring becomes active.
Reclaim Signals: Shows or hides reclaim signals and their reclaim alerts.
Align Reclaims With Trend: Allows Long Reclaims only in the Bull regime and Short Reclaims only in the Bear regime.
Fill Bands: Shows or hides the area between the outer bands.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Indicador

FCP | Market Pulse | Multi Symbol Volatility ScannerMarket Pulse ranks up to 40 symbols by how violent their current candle is relative to their own recent behaviour.
THE METRIC
For every symbol on a fixed scan timeframe:
ratio = (high − low) / ATR(14)
The ATR is read from the previous bar, so an explosive candle cannot inflate its own baseline and cancel itself out. Because the range is divided by that symbol's own ATR, the number is unitless — a 2.5 on EURUSD and a 2.5 on BTCUSDT mean the same thing. One threshold works for FX, indices, metals and crypto at once, which a pip- or percent-based filter cannot do.
A symbol is listed when its ratio reaches the trigger multiple. Anything below it is ignored, so the panel stays empty most of the time and only fills up when something is actually happening.
READING THE PANEL
SYMBOL — the live scan period, sorted by ratio, strongest first
PREVIOUS — the same list for the last closed period, so a chart opened mid-period still shows what just moved
xATR — how many times its own average range the candle has covered
CHG% — direction and size of the move, (close − open) / open
▲ ▼ — green for an up candle, red for a down candle
"quiet" means nothing crossed the threshold. That is the normal state.
Nothing is stored between periods. A symbol drops off by itself as soon as it cools down, and markets that are closed are excluded so a frozen quote is never reported as a live burst.
SETTINGS
Scan timeframe — every symbol is measured on this timeframe regardless of the chart. Keep the chart at the same timeframe or lower.
ATR length — default 14.
Trigger at N x ATR — 2.0 to 2.5 catches ordinary bursts, 5 catches only major shocks.
Symbols — 40 slots, each a checkbox plus a symbol picker. Untick a slot to drop it from the panel and the alert. Retarget any slot to your own data provider.
ALERTS
Create the alert with "Any alert() function call". One alert fires per closed scan bar and lists every symbol over the threshold, in the same order the panel shows them.
The Telegram JSON option formats the message as a ready-to-post sendMessage payload. Enter your own chat id, then point the alert webhook at the Telegram sendMessage API endpoint for your bot.
Webhooks require a paid TradingView plan with two-factor authentication enabled. Your bot token lives only in the webhook URL — it is never part of this script. Never share it or screenshot the alert dialog; if it leaks, revoke it in BotFather.
Turn the option off if you route alerts through your own relay server instead.
LIMITS
40 symbols is a hard ceiling — Pine allows no more than 40 data requests per script. Indicador

Session block profileEvery part of the trading day has a personality. See yours in one table.
Description
Splits the trading session into fixed-length blocks and, for each block, keeps a rolling history of what that part of the day has done over the last N sessions. Three descriptive measures per block: how large its range tends to be relative to the average block, how much volume it tends to carry relative to the average block, and how directional it tends to be, measured as the average of the block's body over its range.
How it calculates
Each bar is assigned to a block from its minute of the day in the chosen time zone. A block's high, low, open, close, and volume accumulate on confirmed bars. When the first confirmed bar of a different block or a different day arrives, the completed block is written into its rolling history and that block's means are recomputed once. Range and volume indices are each block's mean divided by the average across all blocks with enough history, so 1.00 is an average block. Body ratio is the mean of |close - open| divided by (high - low) for the block, so 0 is a doji and 1 is a full-body bar.
How to read it
Range and volume shade toward green as they rise above the average block. Body shades toward amber as blocks become more directional. The current block's label is amber. Alternate blocks can be shaded on the chart so the grid is visible against price. This is a description of what each part of the day has tended to do. It is not a forecast.
Repainting
Closed blocks do not repaint. History is written only when a block completes. The current block is marked but its partial values are not shown as a statistic.
Originality and attribution
Session statistics by time of day are a familiar idea. What is original here is the block-keyed rolling history with cached per-block means, the three-measure normalization against the session's own average block, and the heat-table presentation. This is not derived from and does not reuse code from any existing published script.
Honest limitations
The session must start and end on the same calendar day in the chosen time zone. Sessions that cross midnight are not supported.
A partial first day in chart history contributes a partial block. The minimum-sessions setting exists to absorb that.
Half days, holidays, and early closes pollute a block's history for as many sessions as the lookback.
Range and volume are relative to the average block within this session window, so the indices are only comparable inside one configuration.
Body ratio is not a trend measure. A block can have a high body ratio and still be a small, meaningless move.
Nothing here is a signal. A high-range block is not a direction. Indicador

Realized volatility term structureVolatility has a curve too. See whether the short end is screaming or sleeping.
Description
Measures realized volatility of bar returns over five horizons at once, from short to long, and draws the resulting curve at the right edge of the pane so you can see its shape rather than a single number.
How it calculates
Realized volatility at each horizon is the population standard deviation of log returns over that many bars, scaled by the square root of the number of bars in a year for the current timeframe, shown as a percentage. The plotted history is horizon one divided by horizon five. The curve is drawn as four connected segments through five points placed just past the last bar, each point's height equal to that horizon's volatility divided by the longest horizon's.
How to read it
Above 1.0 the short end is running hotter than the long end, which is what a fresh shock looks like. Below 1.0 the short end is quieter than the long end, which is what compression looks like. The pane shades amber while the short end is elevated. The curve at the right edge is normalized to the longest horizon so its shape is comparable across instruments and timeframes. Each point is labeled with its horizon in bars and its annualized value.
Repainting
Closed bars do not repaint. The live bar updates until it closes. The curve at the right edge is redrawn on the last bar only.
Originality and attribution
Realized volatility over a window is standard. What is original here is presenting it as a term structure: five horizons measured together, the short-to-long ratio tracked through time, and the live curve drawn on the chart as connected points. This is not derived from and does not reuse code from any existing published script.
Honest limitations
Realized volatility is backward looking by construction. The short end reacts within a few bars. The long end takes as many bars as its horizon to fully reflect a change.
Annualization is a display convention. The trading-minutes-per-day and days-per-year inputs only scale the percentages shown.
On timeframes above daily the annualization assumes 52 weekly or 12 monthly bars per year.
The elevated and subdued thresholds are conventions, not calibrations.
Five horizons is a choice. The curve between them is a straight line.
Nothing here is a signal. An elevated short end is not a direction. Indicador

Risk-Sizing CalculatorA simple, visual position-sizing tool for any market or timeframe.
Enter your account size and risk percentage, choose a stop-distance
method (ATR-based, manual stop price, or fixed % of entry), and the
indicator calculates your position size, stop distance, dollar risk,
notional exposure, and an optional reward-to-risk target — displayed
in a clean live table with entry and stop lines on your chart.
Also includes a 3-scenario Size Ladder (0.5% / 1% / 2% account risk
side-by-side) so you can see the sizing range at a glance, plus an
optional Market Context panel showing ATR %, RSI, ADX, volatility
class, and session state.
FEATURES
- Three stop-distance methods: ATR-based, Manual Stop Price, Fixed %
- Position size in units, notional dollars, and % of account
- Size Ladder table showing what 0.5% / 1% / 2% risk each produce
- Reward-to-risk target row (optional · pairs with an R multiple)
- Market Context panel: ATR %, RSI(14), ADX(14), volatility class,
session flag
- Live entry + stop + target lines drawn on the chart
- Adjustable table position (top-right, middle-right, etc.)
- Clean numeric output for quick pre-trade sanity check
HOW TO USE
1. Set Direction (Long / Short) and optionally a Manual Entry Price
2. Choose your Stop Distance method — ATR, manual price, or fixed %
3. Enter Account Size and Risk per trade % (1% is a common default)
4. Optional: enable target row and set R multiple
Pairs naturally with any ATR-based visualizer or manual entry planning.
Educational only · not financial advice · does not generate buy/sell signals. Indicador

ATR Stop & Target VisualizerA simple, visual risk-planning tool for any market or timeframe.
Choose a direction (Long/Short) and the indicator plots an ATR-based
stop-loss, three reward-to-risk targets (TP1, TP2, TP3), shaded
risk / reward zones, and a live trade-plan table summarizing entry,
stop, targets, R:R math, ATR value, dollar risk, and a simplified
position-size estimate.
Also includes an optional Market Context panel showing ATR %, RSI,
ADX, volatility class, and session state — so the risk plan sits
alongside the environment reading you're planning against.
FEATURES
- ATR-based stop distance with selectable smoothing (RMA/SMA/EMA/WMA)
- Three reward-to-risk targets (TP1/TP2/TP3) with independent R
multiples · defaults 1R / 2R / 3R
- Layered shaded reward zones (densest at TP1, lightest at TP3)
- Auto or manual entry price
- Trade-plan table with all key numbers at a glance
- Simplified position-size estimate (account × risk %)
- Market Context panel: ATR %, RSI(14), ADX(14), volatility class,
session flag
- Clean single-bar drawing to keep charts readable
HOW TO USE
1. Set Direction (Long / Short) and optionally a Manual Entry Price
2. Tune the ATR length and stop multiple to fit the instrument's
volatility
3. Set each target as an R multiple (defaults 1R / 2R / 3R)
4. Enter account size and risk % to see a suggested position size
This is a visual risk-planning tool built to help traders think in
terms of risk first. Educational only · not financial advice · does
not generate buy/sell signals. Indicador

Aurora_Channel_V1█ Overview
The Aurora Channel is an adaptive multi-layer volatility and expansion framework that fuses Bollinger Bands, Keltner Channels, volume-sensitive dynamics, and intelligent moving-average selection into a single coherent system.
Instead of treating channels as static statistical boundaries, Aurora continuously evaluates market behavior, selects the most suitable moving-average engine in real time, expands or contracts outer envelopes according to volume and width regimes, and projects dynamic trigger and crossover levels that respond to actual price action.
The result is a hybrid channel system that blends:
• Adaptive MA selection (Auto / Adaptive Scoring)
• Volume-modulated Keltner expansion
• Hybrid Bollinger–Keltner “Aurora” bands
• Multi-layer expansion envelopes
• Peak-aware or dynamically tracking Trigger Channel
• Crossover Multiplier Engine with adaptive overlays
• Regime-aware visuals and a live Dashboard HUD
█ Why is this one unique
Most channel indicators are fixed formulas. Aurora is a full adaptive channel engine built in Pine Script v6.
It does not simply plot Bollinger or Keltner bands. It constructs a hybrid core, surrounds it with volume-aware expansion logic, maintains intelligent outer triggers, and generates dynamic crossover projection lines whose multiplier is itself adaptive.
⚪ What it does
At a high level:
Auto MA Selection Engine
Continuously scores SMA, EMA, RMA (SMMA), WMA, and VWMA candidates using a combined lag-error + jitter penalty. The engine automatically selects the MA with the lowest overall score (or lets the user force a manual choice). This becomes the center line for every subsequent calculation.
Hybrid Aurora Core
Builds classic Bollinger Bands and a volume-sensitive Keltner Channel around the selected midline. The Keltner multiplier dynamically expands between 3.0–4.0 during volume spikes. The difference between the two outer bands is then smoothed and re-applied, creating the final Aurora Upper / Lower bands.
Expansion Envelope
Measures the current Aurora width, smooths it, and projects outer envelope levels that react to both width expansion and tick-volume intensity. Optional “Breakouts Only” mode shows the envelope solely when price is already expanding beyond the Aurora bands.
Trigger Channel
Two memory modes:
• Dynamic Tracking – continuously follows expansion and decays when price returns inside.
• Hold Peak Level – latches the highest/lowest expansion extremes.
A proportional buffer is then added, creating clean outer trigger lines.
Crossover Multiplier Engine
Monitors crosses of a user-selected target (Midline, Aurora Bands, Envelope, or Trigger). On every cross it captures the current Keltner multiplier × volume ratio, latches that value, smooths it with the same adaptive MA engine, and projects symmetric overlay lines around the midline. These act as adaptive reaction / target levels.
Multi-Layer Clouds + Regime Visuals
Soft gradient fills between midline → Aurora and Aurora → Envelope, plus a softer fill toward the Trigger. Candles are colored by regime (above/below midline). A compact Dashboard HUD displays the active MA, cross target, current multiplier, expansion state, and regime.
⚪ Why it is good
The strongest aspect is the combination of adaptive center selection, volume-aware expansion, and quality-aware outer structures in one coherent framework.
Most channel tools are either pure statistical (Bollinger) or pure volatility (Keltner/ATR). Aurora merges both, then adds intelligent memory (Trigger modes) and a live crossover-driven multiplier engine. The visual hierarchy (multi-layer clouds) makes regime and expansion instantly readable, while the Dashboard keeps the key adaptive values visible without cluttering the chart.
⚪ What makes it sophisticated
• Real-time adaptive MA scoring with lag + jitter penalty
• Dynamic Keltner multiplier driven by volume ratio
• Hybrid band construction that re-injects smoothed BB–KC difference
• Dual-mode Trigger memory (peak hold vs continuous tracking + decay)
• Crossover-triggered multiplier latching and adaptive projection
• Multi-layer gradient fills that scale with the actual channel hierarchy
• Non-repainting alerts on confirmed crosses
⚪ Why It’s Marketable
Traders looking for more than a simple Bollinger or Keltner band receive a complete adaptive channel ecosystem. The Auto MA engine removes the endless debate of “which MA is best,” the Expansion Envelope and Trigger Channel give clear breakout and reaction zones, and the Crossover Multiplier Engine turns every significant cross into dynamic, volume-aware target lines. The result is a selective, visually rich, and highly configurable system that adapts to the instrument and timeframe instead of forcing a fixed formula onto every market.
⚪ Main weakness
The system is still rule-based adaptive logic, not deep learning. Performance depends on the chosen lengths, the quality of volume data (especially on tick-volume charts), and the current market regime. Over-optimization of the many parameters can reduce robustness.
█ How It Works
⚪ Auto MA Selection Engine
Scores five classic moving averages on tracking error (squared lag) plus a jitter penalty. The lowest combined score becomes the active center line used by every channel component.
⚪ Aurora Core Construction
• Midline = selected MA
• Bollinger = midline ± StdDev × multiplier
• Keltner = midline ± ATR × volume-modulated multiplier (3.0–4.0)
• Aurora bands = Keltner ± smoothed (BB – KC) difference
⚪ Expansion Envelope
Average Aurora width is multiplied by a base factor and further expanded by excess volume. The resulting offset is added outside the Aurora bands. Optional breakout-only plotting keeps the chart clean until genuine expansion occurs.
⚪ Trigger Channel
On expansion the system either latches the extreme (Hold Peak) or follows and slowly decays the level (Dynamic Tracking). A proportional buffer creates the final trigger lines.
⚪ Crossover Multiplier Engine
Detects crosses of the chosen target, captures kcMult × volRatio, latches the value, smooths it with the adaptive MA engine, and projects midline ± ATR × smoothed multiplier as dotted overlay lines.
█ How To Use
• Use the Aurora bands as the primary dynamic support/resistance zone.
• Watch the Expansion Envelope for genuine volatility breakouts.
• Treat the Trigger Channel as outer reaction / invalidation levels.
• The Crossover Multiplier lines act as adaptive targets or reaction zones after significant crosses.
• Candle color and the Dashboard HUD give instant regime and state information.
• Enable alerts on the crossover condition for automated notifications.
█ Settings
Auto MA Selection Engine
• MA Selection Engine (Auto Adaptive / Manual)
• Manual MA type
• Jitter Penalty strength
Core Channel Engine
• Base Center Length
• Bollinger StdDev multiplier
• Keltner ATR Length
• Tick Volume MA Length & Expansion Factor
• Band Difference MA Length
Expansion Envelope
• Show / Breakouts Only
• Expansion MA Length
• Envelope Base Multiplier & Volume Boost
Trigger Channel
• Show Trigger
• Buffer Multiplier
• Memory Mode (Dynamic Tracking / Hold Peak Level)
Crossover Multiplier Engine
• Show Dynamic Lines
• Cross Monitoring Target
• Multiplier MA Smoothing Length
Visual Settings
• Candle Coloring
• Multi-Layer Cloud
• Dashboard HUD
• Full color customization for every layer
█ Disclaimer
The content provided in this script is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. Past performance is not indicative of future results. All trading involves risk, and you are solely responsible for your own trading decisions. Indicador

Crypto Correlation Dashboard [StrixEDGE]Overview
A real-time Pearson correlation matrix built for crypto portfolio analysis. Tracks the statistical co-movement between up to 6 assets across selectable timeframes, using log-return correlation — not raw price correlation — to avoid the inflated readings that plague most correlation tools.
Whether you're managing a multi-asset portfolio, hunting pairs trades, or monitoring regime shifts, this dashboard tells you exactly when diversification is real and when it's an illusion.
🔍 What Makes This Different
Most correlation indicators on TradingView calculate Pearson r on raw closing prices. That's a statistical mistake: two assets trending upward will always show near-perfect correlation on price, even if their returns are completely independent. This indicator correlates **logarithmic returns**, which isolates actual co-movement from shared trend bias.
The multi-timeframe engine uses a period-scaling method through `request.security` that preserves mathematical accuracy when projecting higher-timeframe correlations onto lower-timeframe charts — consuming only 6 security calls total, leaving headroom for other indicators on your layout.
⚡ Key Features
6×6 Correlation Matrix
Full heatmap-style matrix covering all 15 unique pair combinations (C(6,2)). Color intensity maps directly to correlation strength: teal for strong positive, red for strong negative, neutral gray for uncorrelated pairs. Diagonal cells are blanked — no wasted space showing you that BTC correlates with BTC.
Multi-Timeframe Support
Select from Chart / 1H / 4H / 1D / 1W directly in settings. The lookback period auto-scales to the target timeframe resolution, so "20 periods on Daily" means 20 trading days regardless of your chart timeframe.
Rolling Correlation Chart
Select any pair (Leg A / Leg B) and track its correlation coefficient over time as a continuous line. Shaded fill between the line and zero gives an instant visual read of direction and magnitude. A dynamic label on the last bar displays the current ρ value.
Aggregate Statistics Bar
Footer row shows AVG / MIN / MAX across all 15 pairs at a glance. When the minimum correlation drops to or below your threshold, a ⚠ BREAKDOWN tag appears.
Three Independent Alert Conditions
- Pair Breakdown — fires when any single pair falls to or below your threshold
- Average Breakdown — fires when the market-wide average correlation collapses
- Rolling Crossunder — fires when your selected pair crosses under the threshold
📐 How to Use
Portfolio Diversification Check
Add your held assets as Symbols 1–6. If the matrix is mostly dark teal (all pairs > 0.7), your portfolio moves as a single block — you're concentrated, not diversified. Look for pairs with low or negative correlation to add genuine hedging value.
Regime Change Detection
Monitor the AVG stat in the footer. A sudden drop in average correlation often precedes volatility expansion, sector rotation, or flight-to-quality moves. The average breakdown alert automates this surveillance.
Pairs Trading
Identify pairs with historically high correlation (> 0.8). When their rolling correlation temporarily collapses, it may signal a mean-reversion opportunity. Use the rolling chart to time entries and the crossunder alert for notifications.
Risk Management
During market stress, correlations tend to spike toward 1.0 across the board ("correlation breakdown to the upside"). When the matrix turns uniformly teal, portfolio risk is higher than position sizing alone suggests.
⚙️ Settings
| Parameter | Default | Description |
|---|---|---|
| Symbols 1–6 | BTC, ETH, SOL, BNB, XRP, ADA | Any tradable asset — crypto, forex, equities, commodities |
| Lookback Period | 20 | Number of target-TF bars for Pearson calculation |
| Timeframe | Chart | Correlation resolution: Chart / 1H / 4H / 1D / 1W |
| Breakdown Alert ≤ | 0.30 | Threshold for all three alert conditions |
| Rolling Pair | 1 × 2 | Which pair (by index) to plot on the rolling chart |
| Matrix Position | Top Right | Table placement on the pane |
| Colors | Brand defaults | Full control over positive, negative, neutral, header, and accent colors |
🧠 Technical Notes
- Log returns `ln(close / close )` are used instead of simple returns for better statistical properties (additivity, normality approximation).
- TF scaling: When the selected timeframe exceeds the chart timeframe, the lookback is multiplied by the bar ratio. Pearson r is invariant under uniform observation duplication, so accuracy is preserved.
- Security calls: 6 total (one per symbol), well within Pine's 40-call limit.
- Symbol parsing: Automatically strips exchange prefixes (Binance, Bybit, Coinbase, OKX, etc.) and quote currencies (USDT, USD, BUSD, USDC) for clean matrix labels.
- Works on any asset class — not limited to crypto despite the default symbols.
⚠️ Limitations
- Selecting a timeframe **lower** than your chart TF (e.g., "1H" on a Daily chart) will not produce hourly-resolution correlation. The multiplier floors at 1 and you get chart-TF correlation. For true 1H correlation, view on a 1H chart.
- Pearson correlation measures **linear** relationships. Non-linear dependencies (tail risk, asymmetric co-movement during crashes) require different tools.
- Past correlation does not guarantee future correlation. Regime shifts can invalidate historical readings without warning — which is exactly why the breakdown alerts exist. Indicador

STP Top 10 Trade Opportunity Scanner / ScreenerSTP Top 10 Trade Opportunity Scanner / Screener
The STP Top 10 Large Move Radar is a multi-symbol market scanner designed to help traders quickly identify stocks showing conditions that may support a larger-than-normal price move.
Instead of reviewing charts individually, the Radar continuously analyzes up to 20 user-selected symbols and ranks the strongest opportunities based on a proprietary scoring system. The highest-ranked symbols are displayed in an easy-to-read Top 10 table.
The system evaluates multiple technical factors, including price trend, EMA alignment, VWAP positioning, RSI, DMI/ADX, buying and selling pressure, Range Oscillator conditions, relative volume, ATR, volatility expansion, squeeze and compression conditions, breakouts and breakdowns, supply and demand proximity, Fair Value Gaps, price movement speed, and overall trend strength.
Radar Table Information
Each ranked symbol includes:
Score: Overall opportunity score from 0–100 based on the combined technical conditions evaluated by the Radar.
Direction: Identifies the current directional bias as BULL, BEAR, or NEUTRAL.
Setup: Identifies conditions such as BREAKOUT, BREAKDOWN, SQZ RELEASE, COMPRESSED, AT S/D, AT FVG, NEAR BREAK, or BUILDING.
RVOL: Measures current volume relative to average volume to identify unusually active symbols.
ATR: Displays the previous completed daily 10-period ATR in dollars to provide context for the symbol's typical daily movement.
ATR Used: During regular market hours, estimates how much of the symbol's daily ATR has been used so far. Before and after the regular session, the Radar identifies the applicable market session instead.
Speed: Measures the magnitude of short-term EMA movement relative to ATR.
T-Strength: Classifies directional trend conditions as Strong, Moderate, Weak, or None.
Evidence: Highlights supporting technical conditions including squeeze activity, breakouts, supply/demand proximity, and Fair Value Gaps.
How Traders Can Use the Radar:
The Radar is designed primarily as an opportunity-discovery tool. A high ranking does not automatically represent a trade entry. Instead, traders can use the Top 10 list to identify which symbols deserve further chart analysis.
For example, a high-scoring bullish symbol showing elevated relative volume, a breakout or squeeze release, increasing speed, and strong trend conditions may warrant closer review for a potential bullish setup. The opposite conditions may identify potential bearish opportunities.
The Radar can be used alongside the STP Elite Prediction System or a trader's existing technical analysis process to confirm chart structure, support and resistance, risk, entry timing, and trade direction before entering a position.
Customizable Symbol List:
Users can configure up to 20 symbols, allowing the Radar to monitor a personal watchlist of stocks, ETFs, or other supported TradingView symbols. The scan timeframe is also configurable, with the default set to 5 minutes.
Dynamic Alerts:
The Radar includes a dynamic alert system for the highest-ranked opportunity. Users can set a minimum score threshold and optionally receive alerts when the leading symbol changes, its direction changes, or it crosses the configured threshold. Alerts include the symbol, direction, opportunity score, relative volume, ATR Used status, and scan timeframe.
Important:
The STP Top 10 Large Move Radar is intended to identify and rank developing technical conditions. Rankings and scores can change as new market data becomes available. A high score does not guarantee a large move and should not be considered a standalone buy or sell signal.
This indicator is intended for educational and informational purposes only and does not constitute financial advice. Indicador

Precision PushBack [MohaveTrader]WHAT PUSHBACK IS
PushBack is a support-and-resistance overlay whose levels are built from a dual Williams %R engine, paired with a rail-based trend layer that runs on its own detection. Where the source oscillator treats a %R extreme as exhaustion — a spent move likely to reverse — PushBack reads that same condition as sustained directional pressure: the side in control pushing price to an extreme.
Two terms carry the whole design. Every completed pressure run is an EVENT. An event that clears qualification earns a LEVEL. Events that do not qualify are marked, but no level is built. When an event does qualify, PushBack takes the price extreme reached by that push and stamps it as a structural zone, then carries that zone through its own lifecycle of resistance, support, reclaim and testing. The panel counts both, so how selective the current settings are running on this instrument is readable at a glance.
It is intended for traders who want structure that emerges from qualifying pressure events rather than levels drawn on a fixed schedule, with a separate trend read layered on the same chart.
WHAT'S ORIGINAL
PushBack retains the dual fast and slow %R detection from upslidedown's open-source "%R Trend Exhaustion" (credited below and in the source code) and uses it only as the raw event source. Everything built on top is original: the reinterpretation of the extreme as directional pressure; event qualification by price range and, when enabled, sustained duration; the Event Mode presets that set how selective that qualification is; event-derived zone geometry, where a zone's depth is taken from the run's own candles; the support and resistance lifecycle with reclaim and testing states; role-flip management and retirement; ATR relevance hiding; optional same-state merging; the live run ribbon; the candle coloring modes; the trend layer with its fast and structure rails, defended-level state machine and rail-assisted transitions; and the information panel. The following image illustrates upslidedown's "%R Trend Exhaustion," the open-source indicator PushBack's detection comes from. Each filled box is one %R run — red where both fast and slow %R are overbought, blue where both are oversold — with a triangle where the run ended. PushBack reads these same runs as pressure rather than exhaustion, and keeps the price extreme each one reached as a structural level. For comparison the second image renders PushBack and %R Trend Exhaustion on the same chart.
WHAT MAKES IT DIFFERENT
The structure is emergent, not scheduled. No structural zone is created without a completed qualifying pressure run, so the absence of nearby zones is itself information rather than a missing calculation.
Structure and events are kept separate. The zones are the structural layer and carry the role-based color set. The pressure marks and run ribbon are a distinct event layer in a single neutral color, held off the price and clear of the zones, so a mark is never mistaken for a directional signal.
The run ribbon reads live. It sketches in real time across the pressure run and settles into the completion triangle, so a developing run is visible on price as it happens rather than only after it ends.
The trend line is the rail, not a separate object. The plotted line is the fast adaptive rail itself rather than an average derived from it, so the drawn line and the value the engine reads are the same series and cannot disagree.
%R PRESSURE
Pressure is read from a dual fast and slow Williams %R with independent smoothing. Both periods and the threshold are fixed internally at settled values rather than exposed as inputs. A shared threshold defines the overbought condition (bullish pressure) and the oversold condition (bearish pressure), and a run is the span in which that condition holds. The single event PushBack acts on is the run's completion — the bar the condition is lost.
Not every run qualifies. A completed run must clear a size test — its price range as a multiple of ATR — and, when duration filtering is on, a duration test as well: it must have persisted for the required number of bars. Both conditions must be met, and a larger or faster move does not waive the duration requirement. An Event Mode control — Responsive, Balanced, Strict, or Manual — sets how demanding that qualification is; in Manual, the Advanced values are read instead and the duration test can be turned off to gate on range alone. The duration test is not scaled by timeframe.
ZONES
When a qualifying run completes, its price extreme seeds a zone: a bullish pressure run's high becomes resistance, a bearish pressure run's low becomes support — the rail where the push stalled. Zone depth is set at birth from the run's own candles: the mean or the median of the run's bar ranges, median by default so a single outlier bar does not distort the level. Neither method applies a multiplier, so depth comes from the same bars that produced the level and there is no width setting to tune. Depth is frozen at birth. An optional merge step, off by default, can consolidate same-state zones that overlap or fall within a configurable price gap; with it off, distinct qualified levels stay separate.
A level holds until price closes through it. A close through flips it to a reclaim, which can firm back into support or resistance as price tests and holds. Red is resistance, green is support, cyan is reclaim, yellow is testing. A level keeps flipping between roles until it reaches its Max Role Flips limit — three by default — after which it is retired rather than reclaimed again; fresh pressure re-seeds it if it matters again.
Zones persist as structural objects and can change role as price interacts with them. A zone originally created as support or resistance may later become reclaim, enter testing, and resolve back into support or resistance. Its displayed color and label represent its current state, not necessarily the state in which it originated.
Previously established zones can remain stored after the pressure event that created them has passed. A zone outside the configured ATR relevance distance is hidden rather than deleted and can reappear when price returns. Because a zone can persist through multiple state changes, a currently visible zone may have originated much earlier, in a different role, and its original completion mark may no longer be visible on the chart. A fresh reclaim is held visible for a short grace period regardless of distance. A per-side cap limits the number of native support and resistance zones retained; reclaim zones are exempt from that cap.
PRESSURE MARKS AND RUN RIBBON
A triangle marks where each run completed — a down triangle where a bullish run ended, an up triangle where a bearish run ended. The run ribbon traces the run into that completion, one bar short of the triangle. Both use a single neutral color and float off the price in ATR-scaled offset space, so side is read from triangle direction and ribbon position rather than color. They show the duration and completion of a pressure run and are not buy or sell signals. By default every completed run is marked with a triangle. A qualified event also carries a ribbon into its triangle and seeds a zone; a filtered turn — one that did not clear qualification — is marked identically but with no ribbon and no zone, so the triangle shows that an event occurred while the ribbon and zone show whether it earned a level. Show All Event Marks turns the filtered triangles on or off.
TREND LAYER
A second engine runs alongside the zones, with its own dual %R detection independent of the one above. Its pressure runs do not create zones; they set rails. A completed bullish run leaves a lower rail at its low, a completed bearish run leaves an upper rail at its high, and one of those rails is held as the defended level that owns the current trend state. A close beyond the defended level flips the campaign, but only when an opposing rail exists and price has cleared it; otherwise the campaign continues.
Two adaptive followers of the body-weighted midpoint support that state machine. The fast rail shortens its own averaging length as a bar's body sits further from it, so a displaced bar moves it most of the way in one bar. The structure rail uses the same formula with a longer base and sits inside a hysteresis channel scaled to a long-period ATR, so its direction holds through ordinary pullbacks and only turns when price crosses the far edge of that channel.
Between them these supply two transitions the defended level alone cannot make. Once a bullish event has set a campaign ceiling, a failure of the fast rail can end the campaign early at that ceiling. In the other direction, both rails turning up together can start a bullish campaign with no completed %R event at all. These rail-assisted transitions print a diamond alongside the flip triangle so they are distinguishable from a defended-level flip. A campaign entered by the rails alone carries no defended level and exits late by construction.
The plotted trend line is the fast rail, drawn in the campaign color rather than the rail's own direction, so the line's shape comes from the follower and its color from the campaign. An optional two-tier fill runs from price to the fast rail and from the fast rail out to the structure rail, each tier colored by its own source, so a disagreement between the two renders as a two-tone band. Optional sequence marks compare each completed rail event's extreme to the previous event on the same side and print HH, LH, HL or LL; these are instrumentation only and drive nothing.
CANDLE COLORS
Candles can optionally be recolored, in one of two modes.
Pressure mode carries the bar's own direction as hue and whether a %R pressure run is active as brightness, so a bearish bar inside a buying-pressure run stays a bright bearish candle and a developing push is visible on the candles themselves.
Wave mode drops bar direction and paints the campaign instead, reusing the trend line's own two colors so the candles and the line always agree. Three independent sources are then readable at once on the same bars: campaign state sets the candle's hue, an active %R pressure run sets its brightness, and the inner fill follows the fast rail's own direction. Because the fill is the only one of the three tied to the fast rail, a pullback inside a campaign renders as candle color standing against fill color, while an actual campaign flip changes the candles themselves. That is the distinction Wave exists to make. Wave draws nothing before the first campaign is established, since no trend state exists yet to color.
Both modes dim between pressure runs and brighten during them. This uses plotcandle, so native candles should be hidden in chart settings to avoid overlap. Turned off, it draws nothing and leaves the native candles untouched.
INFO PANEL
An optional corner panel reports three rows. RSI is colored relative to the current campaign rather than against fixed bands, since RSI ranges differently in an advance than in a decline; the color meaning is constant — one color when buyers hold RSI control, another when sellers do, and a neutral shade in between — while the bands themselves shift with the campaign. EVENTS counts every completed pressure run for the session. LEVELS counts how many of those earned structure, with the percentage being that earned share. That percentage largely reflects how demanding the current Event Mode is rather than a property of the instrument, so it reads as feedback on whether the mode suits what is being traded: a very low share suggests qualification is tighter than the instrument supports, and a very high one suggests it is filtering little. The panel frame carries the RSI color so the state reads from across the screen. The session count can include extended hours or regular hours only.
ALERTS
Two alert conditions are provided, one for a qualified bullish pressure event and one for a qualified bearish pressure event. Alerts fire only when a completed run clears PushBack's active qualification requirements and earns structure; filtered event marks do not alert. The trend layer does not carry its own alerts.
HOW TO READ IT
Read the zones as structure and the marks as events: every triangle is an event, and only the ones carrying a ribbon and a zone earned a level. PushBack keeps four things distinct: the pressure event is where a zone came from; price interaction is what has since happened to it; the current color and label are what the level means now; and ATR relevance decides whether it is shown at all. A currently visible zone may have originated much earlier, in a different role, than the state now displayed. Treat a blank area as the absence of currently relevant qualifying pressure structure, not a missing calculation. Use the live ribbon to watch a qualifying run develop. The completion triangle identifies where a pressure run ended; when that completion also qualifies, its ribbon remains, a structural zone is established, and the corresponding alert can fire.
The two layers are independent and can disagree. The zones and the trend campaign are computed from separate detections and neither gates the other, so a level forming against the prevailing campaign is a normal reading rather than a conflict to resolve.
LIMITATIONS
A zone is not created until its run completes, so the level is confirmed after the move that produced it, not during. The %R condition can persist for a long time in a strong trend, so a run's duration is not itself a timing signal. PushBack is most expressive on instruments that produce qualifying pressure events and is quiet on orderly price.
The trend layer's rail events carry no qualification of their own, so a very short pressure run can set a rail. Because two of its transitions are driven by the rails rather than by a completed event, the campaign can change direction with no %R event involved, and a campaign entered that way holds no defended level. Zone role changes are driven by subsequent price interaction, so a zone's displayed state reflects the bar being evaluated and changes as price develops. On very low-priced instruments a run whose bar ranges are near the minimum tick can produce a zone thin enough to render as a line rather than a band.
PushBack does not predict future prices, does not manage risk, and does not guarantee any outcome.
ATTRIBUTION AND LICENSE
PushBack's dual-period Williams %R detection is derived from the open-source "%R Trend Exhaustion" indicator by upslidedown, who is credited here and in the source code. That indicator reads the %R extreme as exhaustion; PushBack uses the same detection only as a raw event source and reinterprets the extreme as sustained directional pressure. The pressure-event qualification, the persistent zone construction and event-derived geometry, the support and resistance interpretation, the reclaim and testing lifecycle, flip management and retirement, relevance behavior, merging, the run ribbon, the candle coloring modes, the trend layer and its rails and transitions, and the price-overlay presentation are original to PushBack. PushBack is published open-source under the Mozilla Public License 2.0.
DISCLAIMER
PushBack's zones, marks and trend state are analytical structures derived from the rules described above, not recommendations to buy or sell any instrument. You remain solely responsible for every trading decision. Indicador
