Volatility Cone & Analog Path ProjectionVolatility Cone & Analog Path Projection — Forward Price Envelope with Fractal Replay and Terminal Probability Distribution
Overview
Nearly every overlay on PulseWire describes the past: where price has been, where volume traded, where structure broke. This tool points in the other direction. It builds a forward projection zone from the current bar using three independent layers — a realized-volatility cone, a replay of the historically most similar price fractals, and a terminal probability profile that combines both into a distribution of possible outcomes at the projection horizon.
The result is not a forecast. It is a bounded expectation: a visual answer to "given how this instrument has actually been moving, what range is normal over the next N bars, and where has price historically ended up after conditions that looked like this?"
Conceptual Framework
Price uncertainty grows with the square root of time, not linearly. A 24-bar projection is not 24 times as wide as a 1-bar projection — it is roughly 4.9 times as wide. Traders who size targets and stops on a straight-line mental model consistently misjudge what is achievable in a given number of bars.
The cone makes that curvature visible. Its width at each future bar is sigma * sqrt(t), where sigma is the standard deviation of log returns over the volatility window. Three nested bands are drawn, so you can immediately see which targets sit inside the ordinary range, which sit at the statistical edge, and which would require an exceptional move.
The Gaussian model alone, however, is a poor description of real markets: returns have fat tails, and volatility clusters. The analog layer addresses this by ignoring models entirely and asking an empirical question instead — what actually happened, historically, after the market printed this exact shape?
How It Works
Volatility estimation. Log returns are computed bar to bar. Their standard deviation over the volatility window gives the per-bar sigma; their mean gives the drift. Drift can be included or excluded from the cone's centerline.
Cone construction. For each future bar t from 1 to the horizon, the upper and lower bounds are close * exp(drift*t ± k*sigma*sqrt(t)) for each of the three band multipliers. Each band is rendered as a closed polygon with layered transparency, producing depth from the centerline outward.
Fingerprint extraction. The most recent N bars of log returns are z-scored — mean removed, divided by their own standard deviation. This makes the pattern scale-invariant: the same shape is recognised whether it happened during a quiet range or a volatile expansion, and at any price level.
Historical scan. Every candidate window inside the scan depth is z-scored the same way and compared to the current fingerprint by summed squared difference. Lower distance means a closer shape match. Candidates that overlap an already-selected match without improving on it are rejected, so the top results are not five copies of the same event shifted by one bar.
Forward replay. For each of the top matches, the bars that followed it are converted into a relative path and re-anchored to the current close. The path each analog is drawing forward is exactly the move that occurred after that historical fingerprint — nothing is fitted or optimised. Paths ending above the current price are drawn bullish, below bearish, and a thick median line traces the bar-by-bar median across all analogs.
Terminal probability profile. At the projection horizon a horizontal distribution is built across the cone's full range. Each row's density blends the Gaussian probability implied by the volatility model with an empirical kernel centred on each analog's endpoint. The Model Weight input controls that mix: 1.0 is purely theoretical, 0.0 is purely historical, and the default sits between them. The widest row — the mode of the blended distribution — is marked as the most probable zone.
Interpretation
Cone bands define what is statistically ordinary. A target beyond the outer band within the horizon is not impossible, it is simply rare — treat it accordingly when planning holding time.
Cone width itself is information. A narrow cone means compressed volatility, which historically resolves into expansion. A wide cone means the market is already moving; chasing inside it carries a worse risk profile.
Analog dispersion matters more than analog direction. Five paths that fan out in all directions means the current shape carried no historical edge. Five paths clustering in one direction is the meaningful configuration.
Best Match Quality in the panel scores how closely the nearest historical fingerprint resembles the present one. Below roughly 60%, treat the analog layer as noise and rely on the cone alone.
The most probable zone is where the blended distribution peaks. It is a magnet-style reference, not a target — the distribution is wide by construction.
Volatility Regime compares short-window volatility to the full window. Expanding means the cone is likely to understate near-term movement; contracting means the opposite.
Settings
Setting Effect
Projection Horizon Bars projected forward. Also the endpoint of the profile
Volatility Window Sample size for sigma and drift. Longer = smoother, slower to adapt
Include Drift Tilts the cone with the window's mean return
Inner / Mid / Outer Band Sigma multipliers for the three layers
Fingerprint Length Bars compared for similarity. Shorter = more matches, less specific
Scan Depth How far back to search for analogs
Number of Analogs How many historical paths to replay
Profile Rows / Width Resolution and horizontal size of the terminal distribution
Model Weight Gaussian versus empirical blend in the distribution
Redraw on Bar Close Only Recommended on. The scan is heavy; this runs it once per bar
Limitations — read this
This is not a prediction and must not be traded as one. The cone describes a statistical range under an assumption of stable volatility. Real volatility is not stable, and returns have fatter tails than the Gaussian model implies, so moves outside the outer band occur more often than the model suggests.
Analog matching is weak evidence. A few dozen bars of shape similarity is a small sample; markets are non-stationary and a pattern that resolved one way in the past carries no obligation to repeat. The paths are historical context, not a probability statement about the future.
Nothing repaints, but the whole projection is recomputed each bar. Yesterday's cone is not preserved — the drawing always reflects current data only. It is anchored to the last bar by design.
On low-volume, illiquid, or heavily gapped instruments the return distribution is distorted and both layers degrade.
No entries, no stops, no targets, no signals. This is a context tool for sizing expectations and holding time. Indicator

Reversal Trap Probability Bands [BigBeluga]🔵 OVERVIEW
The Reversal Trap Probability Bands is an advanced technical indicator created by BigBeluga to identify and trade fakeout traps around market extremes. Traditional envelope or band indicators often fail because traders blindly enter breakouts that quickly reverse into whipsaw losses. In order to provide a solution to this problem, this indicator combines volatility-based envelope channels with a dynamic probability tracking engine, measuring historical RSI buckets to calculate real-time win probabilities for reversal traps.
The indicator aims to visualize institutional exhaustion and subsequent mean-reversion expansions. The core element of its calculation involves tracking baseline moving averages alongside outer volatility bounds defined as:
upper_band = basis + (multiplier * vola)
lower_band = basis - (multiplier * vola)
where basis is an exponential moving average of length envelope_len , and vola is the ATR volatility measure scaled by multiplier . Higher values of envelope_len and multiplier allow the indicator to filter out routine market noise and isolate major structural exhaustion points.
🔵 FEATURES
The system utilizes a multi-layered matrix structure to provide actionable market intelligence:
1 — Volatility Envelope & Basis Engine
envelope_len = input.int(55, "Envelope Smoothness") : Controls the responsiveness and smoothness of the central baseline.
upper_band & lower_band : Dynamic outer boundaries that shade gradient fills to visualize upper and lower market extremes.
2 — Reversal Trap Detection & RSI Probability Tracking
trap_window = input.int(10, "Trap Window (Candles)") : Defines the maximum candle count allowed outside the bands before invalidating a fakeout setup.
rsi_bucket = math.max(0, math.min(10, math.round(rsi / 10))) : Automatically categorizes momentum into distinct RSI tiers to calculate real-time win probability rates.
3 — Dynamic Target, Stop, & Signal Management
Bull_Stop = ta.lowest(low, 2) - atr & Bear_Stop = ta.highest(high, 2) + atr : Calculates volatility-adjusted safety padding for active trade management.
Signal Labels & Targets: Plots clear entry notifications displaying win probability percentages, along with dashed target and stop lines.
🔵 HOW TO USE
Apart from the basic visualization of volatility extremes, this tool can also act in alternative ways to support decision-making:
Identify Reversal Traps: Wait for price to break outside the upper or lower envelope boundaries and subsequently close back inside within the defined trap_window .
Evaluate Win Probability: Check the probability percentage displayed on the trap signal label (backed by historical RSI bucket tracking) before entering a trade.
Manage Risk with Stops and Targets: Use the projected dashed target lines (anchored to the basis line) and ATR-padded stop lines to execute and protect positions.
🔵 NOTES
Why this implementation is unique:
It moves beyond static band indicators by integrating a self-learning historical database that calculates live win probabilities based on momentum buckets.
The automated target and stop-loss line projection engine provides clear visual roadmaps for every triggered setup.
The script is fully optimized for Pine Script version 6, utilizing high-performance array tracking (`var int bull_total = array.new_int(11, 0)`) for smooth execution.
Note: Because the win probability engine evaluates historical trade performance dynamically in real time, initial signals on a freshly loaded chart may display "Tracking..." until sufficient sample data is recorded.
Indicator

Moon Phase EvaluatorThis indicator builds on PulseWire's standard Moon Phases calculation (New Moon / Full Moon detection) without modifying its original astronomical logic. It adds a visual layer on top: overlay boxes showing how far price moved in the expected direction vs. counter-trend during each phase, triangle markers, upcoming phase prediction lines, WIN/LOSS/RANGING evaluation labels, and a win-rate dashboard.
This is not a buy/sell signal. The indicator does not generate trade entries or exits. Its purpose is purely evaluative — it measures how price actually behaved during each moon phase relative to a simple directional expectation, and summarizes that performance over time (win rate, loss rate, ranging rate) so you can visually assess whether a relationship exists.
Default assumption: this was built for testing on BTC, with the expectation that price tends to rise around Full Moon and fall around New Moon. This default hasn't been validated on other assets — please don't assume the same behavior will hold elsewhere. Test it yourself on the asset and timeframe you care about before drawing any conclusions.
Fully customizable: every color, box, label, marker, and the win threshold can be adjusted in settings. If your own testing suggests the opposite relationship for a given asset (e.g. New Moon = bullish, Full Moon = bearish), you can simply swap the colors/labels to match your findings — the underlying evaluation logic stays the same either way. Indicator

Indicator

NeuPortal Empirical Range - measured bands, honest sample sizeMost volatility bands are drawn the same way: per-bar sigma times the square root of the horizon. That rule assumes returns are independent draws from one fixed distribution. Crypto returns are neither — volatility clusters, tails are fat at short horizons, and the shape of the distribution changes as the horizon grows.
This script measures instead, and draws the assumption next to the measurement so you can see the gap on your own symbol.
An example of why that matters. On BTCUSDT 4h with a 24-bar horizon, the empirical band comes out 0.95x the textbook one — slightly narrower. But at 48 bars the measured width is 1.70x the 24-bar width where root-t predicts 1.41x, and at 72 bars it is 2.03x against a predicted 1.73x. The formula is roughly right at one horizon and badly wrong at another, on the same symbol. On ETHUSDT the pattern is the opposite. You cannot know which case you are in without measuring.
WHAT IT PLOTS
- core 50% zone: the interquartile range of how this market has actually moved over your horizon
- wide 80% band: the 10th to 90th percentile, as risk context
- median of the measured distribution
- the textbook sigma x root-t band, for contrast
The band is drawn FLAT on purpose. It describes one moment in the future, not a path to it. A diagonal would be a claim about the route, and this makes no claim about the route.
WHAT IT DOES THAT OTHER BANDS DO NOT
Conditional bands. An unconditional band averages today's market with every regime the symbol has ever been in. Switch conditioning on and only windows whose starting volatility resembled today's are counted. The table shows how many windows survived, because a conditional band on 20 windows is worse than an unconditional one on 500.
Touch versus close probability. Type a price and get two numbers: the share of historical windows that FINISHED beyond it, and the share that TOUCHED it at any point on the way. These differ a lot. If you are asking whether a stop gets hit, the second number is the answer and the first is misleading. Both come from actual highs and lows of real windows, not from a closed-form approximation.
The honest sample size. Overlapping windows flatter a sample: 3,000 rolling 24-bar returns come from 125 genuinely independent windows, and quantile standard errors scale with the second number. Both are printed, and the small one is flagged when it gets thin.
Out-of-sample coverage. The band is fitted on the older part of the chart and tested on the newer part it never saw. Target 50% for the core, 80% for the wide. Both directions are marked as failures: a band that contains everything is not skill, and that is the failure mode that flatters the author. On some symbols this script will tell you its own band is too wide. That is the point.
Multi-horizon widths at 1x, 2x and 3x your horizon with the observed ratio against root-t's prediction, plus skew and excess kurtosis so you can see how far from Gaussian this symbol is at this horizon.
Alerts fire when price leaves the zone that was supposed to hold it half the time.
HOW TO USE IT
Set the horizon in bars — it means whatever your timeframe means. 24 bars on 1H is a day, 30 bars on 1D is a month. Give it as much history as the chart has. Then read the independent window count before you read anything else.
Works on any symbol and any timeframe. Nothing is hard-coded to a particular market.
WHAT IT DOES NOT DO
It says nothing about direction. There is no signal here and no entry. It is a description of uncertainty, measured rather than assumed.
Educational content - not financial advice. Indicator

NeuPortal Forecast - sealed distributions not pathsDraws a forecast as a DISTRIBUTION at a stated horizon, never as a path.
What it plots, from values you enter yourself:
- median for the horizon
- core 50% zone (25th to 75th percentile of the asset's own historical moves over the same horizon)
- wide 80% band (10th to 90th percentile)
- the seal: a vertical line at the bar the forecast was fixed on, so left of it is observed and right of it was unknown
- an explicit invalidation level
- a computed daily read (ADX, DI, RSI, MACD, %B, EMA structure, ATR) taken from the chart itself, so the table cannot drift from the price it sits on
There is deliberately no diagonal anywhere. A line drawn from today's price to a future price is read as a claimed route, and a distribution at a horizon is not a route. The size of the expected move is stated as a vertical dimension bracket instead.
Two ways to feed it. Fill the inputs by hand, or paste a single line into "Today's line" in the first settings group, in the form key=value;key=value - useful if you generate forecasts programmatically and do not want to retype twenty fields daily. Pasted values win, missing ones fall back to the manual inputs.
Free, open source, no gating, no signals, no DMs.
Educational content - not financial advice. Indicator

NeuPortal - Forecast: sealed distributions, not pathsDraws a forecast as a DISTRIBUTION at a stated horizon, never as a path.
What it plots, from values you enter yourself:
- median for the horizon
- core 50% zone (25th to 75th percentile of the asset's own historical moves over the same horizon)
- wide 80% band (10th to 90th percentile)
- the seal: a vertical line at the bar the forecast was fixed on, so left of it is observed and right of it was unknown
- an explicit invalidation level
- a computed daily read (ADX, DI, RSI, MACD, %B, EMA structure, ATR) taken from the chart itself, so the table cannot drift from the price it sits on
There is deliberately no diagonal anywhere. A line drawn from today's price to a future price is read as a claimed route, and a distribution at a horizon is not a route. The size of the expected move is stated as a vertical dimension bracket instead.
Two ways to feed it. Fill the inputs by hand, or paste a single line into "Today's line" in the first settings group, in the form key=value;key=value - useful if you generate forecasts programmatically and do not want to retype twenty fields daily. Pasted values win, missing ones fall back to the manual inputs.
Free, open source, no gating, no signals, no DMs.
Educational content - not financial advice. Indicator

NeuPortal - Forecast: sealed distributions, not pathsDraws a forecast as a DISTRIBUTION at a stated horizon, never as a path.
What it plots, from values you enter yourself:
— median for the horizon
— core 50% zone (25th–75th percentile of the asset's own historical moves over the same horizon)
— wide 80% band (10th–90th percentile)
— the seal: a vertical line at the bar the forecast was fixed on, so left of it is observed and right of it was unknown
— an explicit invalidation level
— a computed daily read (ADX, DI, RSI, MACD, %B, EMA structure, ATR) taken from the chart itself, so the table cannot drift from the price it sits on
There is deliberately no diagonal anywhere. A line drawn from today's price to a future price is read as a claimed route, and a distribution at a horizon is not a route. The size of the expected move is stated as a vertical dimension bracket instead.
Free, open source, no gating, no signals, no DMs.
Educational content — not financial advice. Indicator

NeuPortal - Forecast LevelsDraws a pre-computed probabilistic price forecast on the chart: a core-50% / 80% cone projected forward, the median path, an entry zone, an invalidation level, two reference levels, Fibonacci retracements, support/resistance and three EMAs.
This is a RENDERER, not a signal generator. You paste the numbers — produced by your own model or by hand — into the settings, and the script draws them consistently. Nothing is computed from price except the moving averages.
Why it is built this way: a forecast written down with an explicit invalidation and a stated probability band can be scored afterwards. A drawing without those cannot.
Inputs are grouped:
1) Forecast — central (median), core 50% band, wide 80% band, projection length
2) Position — bias (long / short / neutral), entry zone, invalidation, two reference levels
3) Structure — support, resistance, five Fibonacci retracements
4) Moving averages — three EMAs, bundled in to save an indicator slot
Educational content — not financial advice. Indicator

FractalMemoryLib [Jayadev Rana]FractalMemoryLib packages the pattern-memory engine used by the Fractal Memory Projection indicator and the Fractal Memory Strategy so any script can import it.
WHAT IT DOES
The library finds the historical window whose movement shape most resembles the most recent bars (mean squared distance between stdev-normalized log returns), replays what followed that window as a projected close path, and sizes stops and targets adaptively by volatility regime.
EXPORTED FUNCTIONS
logRet(src) - one-bar log return of a series.
bestMatch(src, winLen, scanDepth, gapAhead) - scans up to scanDepth bars back and returns the offset of the most similar window plus a 0-100 similarity score. gapAhead reserves bars after the match for a projection.
analogPath(src, offset, fcLen, scaleF) - array of fcLen projected closes built by replaying the returns that followed the match, rescaled by scaleF (for example current ATR over ATR at the match).
adaptiveR(atrLen, rankLen, base) - volatility-adaptive unit risk: ATR times (base plus its 0-1 percentile rank), plus the rank itself. Call on every bar.
volRegime(volRank) - "Low", "Normal" or "High" label from the rank.
targets(entry, dirSign, unitR, slMult) - stop loss and TP1/TP2/TP3 at 1R, 2R and 3R.
USAGE NOTES
Call adaptiveR on every bar for ta consistency. bestMatch and analogPath are loop-heavy; for display purposes call them on the last bar only, and make sure the chart has at least scanDepth plus gapAhead bars of history. When the library itself is added to a chart it draws a small demo projection line from the best analog.
The analog projection is a statistical reference to a similar past episode, not a prediction, and not financial advice. Library

Fractal Memory Strategy [Jayadev Rana]Fractal Memory Strategy trades the same engine as the Fractal Memory Projection indicator: it looks for the historical episode most similar to current price action, and only takes trend flips that agree with how that episode played out. Exits scale out at three volatility-adaptive targets.
HOW IT DECIDES
An ATR trailing stop tracks the trend. When it flips, the last 30 closes are converted to normalized log returns and compared against past windows by mean squared distance. The bars that followed the best analog give a net direction; the flip is only traded when the analog direction agrees (the filter can be disabled). Orders are processed on bar close, so no lookahead is involved. For visual context the strategy also draws the 50-candle ghost projection beyond the last bar - it is display-only and never affects order logic.
ENTRIES AND EXITS
On a confirmed bullish flip with agreement the strategy closes any short and enters long; the mirror applies to shorts. One unit of risk R equals ATR times (1.2 plus the ATR percentile rank over 200 bars), so targets and stops widen in volatile regimes and tighten in quiet ones. Position exits: one third at 1R, one third at 2R, the remainder at 3R, with a stop at 1.5R (all adjustable). Direction can be restricted to long-only or short-only.
PROPERTIES USED IN THE PUBLISHED BACKTEST
10,000 initial capital, 10 percent of equity per trade, 0.01 percent commission per order, 2 ticks slippage, no pyramiding, orders on close. These are deliberately conservative; adjust them to match your own broker before drawing any conclusion.
PANEL
Match similarity, volatility regime, forecast direction, closed trade count and win rate.
NOTES
The analog projection is a statistical reference, not a prediction, and past behaviour does not guarantee anything about the future. Results vary by symbol and timeframe; test on your own market with realistic costs before considering any live use. This is an educational tool, not financial advice. Strategy

Structural Language ModelOverview
Structural Language Model treats price action as a language. Each bar is tokenised into one of five structural symbols, and a low-order Markov model learns the grammar — the probability of what comes next given the recent context. Instead of "match the nearest historical shape" (fragile, overfit-prone k-NN), it estimates P(next token | last k tokens): a nonparametric conditional-move model that proves or disproves itself, live, on your symbol. It is a research/forecast read, not a signal service.
The five-symbol grammar
Every bar becomes one token, built from robust intrabar primitives (gap-immune, no fragile sweep/FVG detection), with adaptive thresholds so the alphabet stays balanced across symbols and timeframes:
X− down impulse · d ordinary down · c compression / indecision · u ordinary up · X+ up impulse
The model then learns grammar like c → X+ (breakout), X+ → X− (reversal), runs of u/X+ (trend), X+ → c (exhaustion), using order-1 or order-2 transition counts with Laplace smoothing, updated online.
Why these parts are one tool
The tokeniser turns raw OHLC into a balanced, information-rich alphabet — without it the Markov counts are dominated by whatever token is most common.
The Markov model reads out, each bar, a directional bias (P up-ish − P down-ish), a predictability score (how peaked the next-token distribution is, via normalized entropy), a structural-surprise spike (−log P of the token that just printed — a grammar break), and the full next-bar probability ladder.
The harness is the part that makes it honest. It's prequential (predict-then-update: each transition is scored from counts that exclude its own outcome, so every score is out-of-sample), it runs a walk-forward in-sample vs out-of-sample split with Wilson 95% intervals, and it draws a reliability curve — binning OOS predictions by predicted P(up) and showing the realized up-rate per bin. A rising, significant curve = real calibrated information; a flat one = none. Remove any part and you can no longer answer "is this model actually calibrated on this market?"
How to use it
Read the directional bias line against its conviction bands as context, not a trigger, and check predictability for how peaked the forecast is. Then read the harness — the model is only worth trusting where the out-of-sample up-lean lift is above 1 and/or the reliability spread is positive and significant (✓sig). A flat or insignificant curve means there's no calibrated edge here; treat it as descriptive only, or try another symbol/timeframe. The dashboard has a Compact layout (default: forecast + the one calibration line that matters) and a Pro layout (the full ladder, in/out-of-sample lift, and the three-bin reliability curve). Bias-turn crosses are optionally mirrored on the price chart. It is never a standalone signal.
Non-repainting
Tokens and counts update only on confirmed bars, and the score for bar t uses counts as they stood before bar t's transition was added — nothing reads its own future. The live next-bar forecast naturally refines as the current bar forms (it's a forecast, not a settled statistic). All harness figures are out-of-sample by construction.
Honest limits
OHLCV only. A per-bar tokeniser maximises samples but is coarser than a swing/event grammar (a documented future extension). Any edge is typically modest and market/timeframe-dependent — directional forecasting on noisy price is hard, and no indicator has an inherent edge. That's exactly why the harness is built in: validate it before trusting it.
Outputs for other scripts
Generic EXP_* plots — bias, predictability, structural surprise, live P(next up-ish), and the OOS lift — are published to the Data Window for use from other scripts via input.source().
Concept credits
Markov chains / n-gram language models — A. Markov (1913); C. Shannon (1948)
Prequential (predict-then-update) evaluation — A. P. Dawid (1984)
Additive (Laplace) smoothing — P.-S. Laplace
Entropy — C. Shannon (1948)
Wilson score interval — E. B. Wilson (1927)
Synthesis and Pine implementation are the author's own; no third-party Pine code reused.
Disclaimer
Research and education only. Not financial advice, not a signal service, not a guarantee of future results. Validate with your own testing, apply realistic costs, and manage risk. Indicator

Indicator

BEDROCK Gated Macro Spot Cycle ModelBEDROCK condenses several independent long-term Bitcoin valuation models into a single transparent 0–100 score, then maps that score onto a seven-tier ladder running from deep value to cycle-top risk — with capitulation and euphoria gates that hold back the two most common false signals at each extreme. It is built for spot investors making multi-month and multi-year allocation decisions, not for short-term trading.
The reference card below shows how to read the model and how each tier behaves:
█ WHAT IT DOES
BEDROCK answers one question: where does price sit inside its macro cycle right now? Rather than a single oscillator, it scores a basket of slow-moving valuation measures, normalizes each to a common 0–100 "cheap → expensive" scale, blends them into a weighted composite, and classifies the result into an actionable tier with a suggested accumulation or distribution size. A higher composite means greater long-term value and lower risk; a lower composite means the market is stretched and risk is rising.
█ HOW IT WORKS
The composite is built from four independent blocs, any of which can be reweighted or disabled:
Trailing cost-basis bloc — price relative to the 200-week SMA, the 2-year SMA, and the 200-day SMA (Mayer Multiple). These three are deliberately collapsed into a single averaged, bounded factor so the moving-average family is represented once and cannot dominate the score through collinearity.
Drawdown from all-time high — how far price has fallen from its peak. The heaviest-weighted leg by default.
Weekly RSI — long-term momentum, as secondary confirmation.
MVRV Z-Score (optional) — an on-chain valuation leg you can enable and feed from an external source.
Each metric is mapped to 0–100 through its own linear calibration between a deep-value anchor and an expensive anchor, so every leg speaks the same language before being combined. Weights are auto-renormalized over whatever blocs are actually available — so the model stays coherent on early history where the 200-week isn't yet populated, or when MVRV is turned off. It simply reweights the parts it has.
█ THE TWO GATES — THE CORE IDEA
A raw valuation score has two classic failure modes: it screams "generational buy" on the first leg down of a bear market, and it screams "top" every time price gets mildly extended. BEDROCK addresses both with directional gates that only ever cap the tier toward the middle — they never fabricate a signal, and they never block the core accumulate or trim reads.
Capitulation gate (bottom) — the two deepest tiers stay locked until the market shows genuine capitulation. Generational requires a large drawdown from the all-time high (or a deeply negative MVRV-Z); Deep Accumulation requires price at or below its 200-week basis. Until then the score is capped at Accumulation, so you keep buying value without prematurely committing everything.
Euphoria gate (top) — the two riskiest tiers stay locked until multiple independent overheating signs agree across the 200-week multiple, weekly RSI, the Mayer Multiple, and MVRV-Z. Euphoria requires at least one confirmation; Cycle Top requires at least two. This is what stops the model from calling a top on every rally.
Because both gates only cap toward neutral, accumulation signals are never suppressed and trim signals are never suppressed. The gates restrain only the extreme calls, and only until the evidence is actually there.
█ READING THE INDICATOR
Composite line — the 0–100 score, colored by its current tier.
Background — shaded by tier for at-a-glance cycle context.
Threshold lines — the tier boundaries.
Markers — gated triangles mark transitions into accumulation tiers (up) and distribution tiers (down).
Data table — live composite, current tier, suggested action, both gate states, and every underlying metric (200W and 2Y multiples, Mayer, drawdown, weekly RSI, MVRV).
█ THE SEVEN TIERS
Generational Value — extremely rare deep value; aggressive accumulation.
Deep Accumulation — excellent value; size up.
Accumulation — good value; keep building.
Neutral / Hold — fairly valued; hold.
Expensive / Trim — above fair value; begin scaling out.
Euphoria / Distribute — high risk; distribute and protect profit.
Cycle Top / Exit — extreme; high-probability macro top.
Each tier also outputs a suggested DCA-in or trim-out multiplier, so the signal is sized rather than binary.
█ HOW TO USE IT
Use it on Bitcoin spot or index charts such as BITSTAMP:BTCUSD or $BINANCE:BTCUSDT.
Weekly is the primary timeframe; daily works as a secondary view.
Accumulate through tiers 1–3, hold in tier 4, scale down in tiers 5–6, and treat tier 7 as exit territory.
Built-in alerts fire on entry into each accumulation and distribution tier (gated).
█ WHAT MAKES IT ORIGINAL
BEDROCK is not a single valuation ratio dressed up as an oscillator. The combination is the point: a transparent additive composite over independent metrics, a deliberate collinearity fix that collapses the moving-average family into one bounded bloc, a dual directional-gate system that suppresses the two most common false signals at both extremes without ever blocking the core reads, and sized accumulate/trim output instead of a bare number. Every metric, weight, calibration anchor, and gate threshold is exposed as an input, so the entire model is auditable and tunable — nothing is hidden.
█ NOTES & LIMITATIONS
BEDROCK is a long-horizon valuation tool, not a precise top/bottom timer and not a short-term trading system. It is designed to keep you positioned in the statistically favorable portion of the cycle, not to nail exact turns. Several display themes are included. This script is for educational purposes only and is not financial advice — size your own risk and do your own research. Indicator

Daily Volume ForecastDaily Volume Forecast
What this indicator does
Daily Volume Forecast projects the full-day trading volume of the current, still-running day — its expected value at the closing bell. It is designed for the Daily chart , where the live bar already carries the volume accumulated so far; the indicator scales that partial volume up to an estimate for the whole session.
The goal is to answer a simple question intraday: is today on track for above- or below-average volume? — before the day is actually over.
How it works
Partial volume so far: On the Daily chart the current bar's volume is the cumulative volume traded since the session open. This is the basis that gets extrapolated.
Elapsed session time: On a daily bar the bar's own hour/minute is the open time, not the current time. The indicator therefore derives the elapsed time from the real wall-clock (timenow) in the instrument's exchange timezone, relative to the configured session, so it knows how far the day has progressed.
Two forecast methods are available:
Intraday Profile (recommended): Intraday volume (e.g. 5-minute) is pulled per day via request.security_lower_tf and averaged into a typical volume-by-time-of-day curve . Because real volume is U-shaped (heavy at the open and close, light at midday), this curve captures how much of a day's volume is normally done by the current time. The forecast is current_volume / expected_fraction_done_by_now, which adapts automatically to the instrument's own shape. Until enough intraday history exists, it falls back to the linear method.
Linear: Assumes volume is spread evenly across the session: forecast = current_volume × (session_length / elapsed_minutes). Simple, requires no extra data, but overestimates the remainder in the morning because it ignores the U-shape.
Live update: The estimate is computed on the current (last) bar and updates as the day develops. When the market is closed, elapsed time clamps to the full session, so the forecast converges to the actual day's volume.
Display
Volume columns of the actual daily volume (historical and current), coloured by up/down day — green when close ≥ open, red otherwise.
Forecast line for the projected full-day volume, extended to the right edge (trackprice) on the current bar.
Label on the last bar showing the estimate (e.g. "Est. 3.2M").
Info table (optional, bottom-right) with the selected method, the forecast, percent of the session elapsed, the current volume, and the number of days used to build the profile.
Settings
Forecast Method: Intraday Profile or Linear.
Trading Session: Session string (default 0930-1600 for US RTH); adjust to the instrument (e.g. 0900-1730 EU stocks, 0000-2400 for 24h / crypto / FX).
Profile Resolution (min): Intraday resolution used to build the volume curve (Intraday Profile only).
Show Historical Daily Volumes: Toggle the volume columns.
Show Info Table: Toggle the table.
Colours for up and down volume.
How to use it
Apply it to a Daily chart (a warning label appears on other timeframes). Use it to gauge participation in real time — to confirm breakouts on rising projected volume, to flag unusually quiet days, or as a context filter alongside a price strategy. The Intraday Profile method is recommended whenever the instrument has a pronounced intraday volume shape; Linear is a lightweight fallback that needs no intraday history.
Notes
request.security_lower_tf provides only a limited amount of recent intraday history (a PulseWire/plan limit), so the profile is built from the most recent available days and rolls forward naturally.
The profile method needs a few completed days to warm up; until then it uses the linear fallback.
The session string must match the instrument, otherwise the elapsed-time scaling — and therefore the forecast — is distorted. Extended-hours volume is not considered.
This script is an analysis tool and does not constitute financial advice. A volume forecast is an extrapolation, not a guarantee of the day's outcome.
═══════════════════════════════════════
Daily Volume Forecast — Deutsch
Was macht dieser Indikator?
Daily Volume Forecast prognostiziert das gesamte Tagesvolumen des aktuellen, noch laufenden Tages — den zu erwartenden Wert zum Handelsschluss. Er ist für den Daily-Chart ausgelegt, wo die laufende Kerze bereits das bisher kumulierte Volumen trägt; der Indikator skaliert dieses Teilvolumen auf eine Schätzung für die ganze Session hoch.
Ziel ist es, schon während des Tages eine einfache Frage zu beantworten: Läuft der heutige Tag auf über- oder unterdurchschnittliches Volumen hinaus? — bevor der Tag tatsächlich vorbei ist.
Wie es funktioniert
Bisheriges Teilvolumen: Auf dem Daily-Chart ist das Volumen der aktuellen Kerze das seit Session-Eröffnung kumulierte Volumen. Das ist die Basis, die hochgerechnet wird.
Verstrichene Session-Zeit: Auf einer Tageskerze ist deren Stunde/Minute die Eröffnungszeit, nicht die aktuelle Uhrzeit. Der Indikator leitet die verstrichene Zeit deshalb aus der realen Uhrzeit (timenow) in der Börsen-Zeitzone des Instruments ab, relativ zur eingestellten Session — so weiss er, wie weit der Tag fortgeschritten ist.
Zwei Prognosemethoden stehen zur Wahl:
Intraday Profile (empfohlen): Über request.security_lower_tf wird das Intraday-Volumen (z. B. 5-Minuten) je Tag erhoben und zu einer typischen Volumenkurve nach Tageszeit gemittelt. Da reales Volumen U-förmig ist (viel bei Eröffnung und Schluss, wenig am Mittag), erfasst diese Kurve, welcher Anteil des Tagesvolumens zur aktuellen Uhrzeit normalerweise schon gehandelt ist. Die Prognose ist aktuelles_Volumen / erwarteter_Anteil_bis_jetzt und passt sich automatisch an die Form des Instruments an. Bis genug Intraday-Historie vorliegt, greift der lineare Fallback.
Linear: Nimmt an, dass das Volumen gleichmässig über die Session verteilt ist: Prognose = aktuelles_Volumen × (Session-Länge / verstrichene_Minuten). Einfach, ohne Zusatzdaten, überschätzt aber am Vormittag den Rest, weil die U-Form ignoriert wird.
Live-Update: Die Schätzung wird auf der aktuellen (letzten) Kerze berechnet und aktualisiert sich im Tagesverlauf. Bei geschlossenem Markt wird die verstrichene Zeit auf die volle Session begrenzt, sodass die Prognose gegen das tatsächliche Tagesvolumen konvergiert.
Anzeige
Volumen-Säulen des tatsächlichen Tagesvolumens (historisch und aktuell), eingefärbt nach Up/Down-Tag — grün wenn close ≥ open, sonst rot.
Prognose-Linie für das hochgerechnete Tagesvolumen, auf der aktuellen Kerze bis zum rechten Rand verlängert (trackprice).
Label am letzten Balken mit der Schätzung (z. B. "Est. 3.2M").
Info-Tabelle (optional, unten rechts) mit gewählter Methode, Prognose, Anteil der bereits verstrichenen Session, aktuellem Volumen und Anzahl der für das Profil genutzten Tage.
Einstellungen
Forecast Method: Intraday Profile oder Linear.
Trading Session: Session-String (Standard 0930-1600 für US-RTH); an das Instrument anpassen (z. B. 0900-1730 EU-Aktien, 0000-2400 für 24h / Krypto / FX).
Profile Resolution (min): Intraday-Auflösung zum Aufbau der Volumenkurve (nur Intraday Profile).
Show Historical Daily Volumes: Volumen-Säulen ein-/ausblenden.
Show Info Table: Tabelle ein-/ausblenden.
Farben für Up- und Down-Volumen.
Verwendung
Auf einen Daily-Chart anwenden (auf anderen Timeframes erscheint ein Hinweis-Label). Geeignet, um die Marktbeteiligung in Echtzeit einzuschätzen — etwa zur Bestätigung von Ausbrüchen bei steigender prognostizierter Beteiligung, zum Markieren ungewöhnlich ruhiger Tage oder als Kontext-Filter neben einer Kursstrategie. Die Methode Intraday Profile wird empfohlen, wenn das Instrument eine ausgeprägte Intraday-Volumenform hat; Linear ist ein leichtgewichtiger Fallback ohne Intraday-Historie.
Hinweise
request.security_lower_tf liefert nur eine begrenzte Menge jüngster Intraday-Historie (PulseWire-/Abo-Limit), daher basiert das Profil auf den jüngsten verfügbaren Tagen und rollt natürlich mit.
Die Profil-Methode braucht einige abgeschlossene Tage zum "Aufwärmen"; bis dahin greift der lineare Fallback.
Der Session-String muss zum Instrument passen, sonst werden die Zeit-Skalierung — und damit die Prognose — verzerrt. Vor-/Nachbörsliches Volumen wird nicht berücksichtigt.
Dieses Skript ist ein Analyse-Werkzeug und stellt keine Anlageberatung dar. Eine Volumenprognose ist eine Hochrechnung, keine Garantie für den Tagesausgang.
Indicator

BreakoutBreakout is an overlay indicator for identifying pre-breakout trade context using supply/demand zones, higher-timeframe alignment, moving-average structure, and confluence scoring.
This script is for analysis and planning only. It does not place orders or guarantee results.
What it does
Breakout helps visualize potential long and short setups before price breaks out of a key zone. It combines:
- Key magnet supply/demand zones (strongest reaction levels only)
- HTF trade zones auto-anchored by chart timeframe
- Pre-trade setup boxes with entry, stop, and target
- Diamond markers for high-confluence turning points
- Liquidity levels for potential sweep/SFP context
- Optional info panel with bias, levels, and active setup details
How it works
Magnet zones: pivot highs/lows cluster into levels. Levels price revisits gain strength. Only the strongest are drawn.
HTF trade regime: each chart timeframe uses two higher anchor timeframes. Long ideas can be filtered to HTF demand zones; shorts to HTF supply zones. Zones use confirmed HTF swing highs/lows with ATR-based width and reach.
Setup engine: setups form when zone context, trend/MA structure, confidence score, and cooldown align. Stops use risk percent, MA support/resistance, swing levels, and a max distance cap. Targets use a configurable minimum risk/reward.
Diamond signals: require structure (SFP, reversal, or MA setup), zone context, and supporting momentum/trend. Optional volume spike and RSI divergence add confluence. Not every pivot prints a diamond.
Volume and divergence: abnormal volume spikes (relative volume and z-score) can combine with RSI divergence in diamonds and setup scoring.
MTF data uses request.security() with barmerge.lookahead_off to avoid lookahead on higher-timeframe context.
How to use
1. Add Breakout to your chart.
2. Choose your execution timeframe.
3. Keep HTF zone filter on for higher-timeframe alignment.
4. Wait for price at HTF zone plus key magnet zone, then diamond or setup box with confidence at or above Min Confidence.
5. Use entry, stop, and target from the active setup box for planning.
6. Manage risk with your own rules.
Main settings
- Risk: risk per trade, min R/R, max hold bars
- Filters: min confidence, approach distance, cooldown, volume, vol spike and divergence
- HTF zones: trade inside HTF S/D only, auto anchors, zone width and reach
- Display: zones, setups, liquidity, labels, info panel, EMAs, diamond spacing
Alerts
- Breakout Long Setup
- Breakout Short Setup
- Breakout Approaching Demand
- Breakout Approaching Supply
Alerts reflect script conditions at alert time. They are not trade recommendations.
Disclaimer
Educational and informational use only. Not financial advice. Trading involves risk, including loss of capital. Past results do not guarantee future performance. Use at your own discretion. Indicator

Strategy Forecast EngineThe Strategy Forecast Engine is a regime-based Monte Carlo forecasting tool that estimates the future return distribution of trend-following strategies across different market environments. The model identifies the current market regime, conditions forecasts on historical returns observed during comparable regimes, and generates thousands of potential future price paths using Monte Carlo simulation. The resulting return distribution is presented through percentile projections and a structured, color-coded table that provides a comprehensive assessment of the forecast.
First, the model identifies the current market regime using the selected trend-following strategy. Users can choose between a moving-average crossover strategy, a volatility-based trailing stop strategy, or a combined strategy that incorporates both approaches. Supported moving-average types include the Exponential Moving Average (EMA), Simple Moving Average (SMA), Wilder’s Moving Average (RMA), and Weighted Moving Average (WMA). Supported volatility types include the Average True Range (ATR), Standard Deviation (SD), and Mean Absolute Deviation (MAD). By default, the model applies an asymmetric design in which conflicting signals default to bullish unless neutral regimes are enabled in the menu. Market regimes are determined as follows:
Bullish Trend Regime = (Fast MA – Slow MA) > (ATR × Trend Margin)
Bearish Trend Regime = (Fast MA – Slow MA) < –(ATR × Trend Margin)
Bullish Volatility Regime = Price > (Highest Price – (Volatility × Stop Factor))
Bearish Volatility Regime = Price < (Lowest Price + (Volatility × Stop Factor))
Bullish Combined Regime = Bullish Trend Regime and Bullish Volatility Regime
Bearish Combined Regime = Bearish Trend Regime and Bearish Volatility Regime
Once the current regime has been identified, the model collects all historical logarithmic returns that occurred during the same regime beginning from the selected start date. Only returns from the matching regime are used to generate the forecast, allowing projections to be conditioned on historically comparable market environments rather than treating all historical observations as equally relevant. If duration-adjusted forecast is enabled in the menu, the model further restricts the sample pool to returns from regimes that were at least as mature as the current regime.
The Monte Carlo simulation engine then generates thousands of possible future price paths over the selected forecast horizon. Each simulation randomly samples historical returns from the sample pool associated with the current regime and compounds them forward to generate a potential future price path. This process is repeated for the specified number of simulations to produce a broad range of possible future outcomes. The random seed controls reproducibility, ensuring that identical settings produce identical forecasts. Once all individual simulations have been completed, the resulting return distribution is summarized using percentile projections:
95% = 5% of simulations ended above this level and 95% ended below it.
75% = 25% of simulations ended above this level and 75% ended below it.
Median = 50% of simulations ended above this level and 50% ended below it.
25% = 25% of simulations ended below this level and 75% ended above it.
5% = 5% of simulations ended below this level and 95% ended above it.
The upper quartile (75%) and lower quartile (25%) define the Interquartile Range (IQR), which contains the middle 50% of all simulated outcomes and represents the central range of the projected outcome distribution. The upper and lower tail percentiles can be set to 10% (90% / 10%), 5% (95% / 5%), or 1% (99% / 1%). The default setting is 5%, which captures the middle 90% of simulated outcomes. At 10%, the range captures 80% of simulated outcomes, while at 1%, the range captures 98% of simulated outcomes. To further evaluate the risk/reward characteristics of the forecast, the model includes a built-in table with the following metrics:
Regime = Current market regime based on the selected strategy configuration.
Duration = Percentile rank of current regime duration relative to past regimes.
Forecast = Percentile rank of current duration including the forecast horizon.
Win Rate = Percentage of profitable simulations relative to total simulations.
Profit Factor = Ratio of total simulated profits to total simulated losses.
Expectancy = Average expected percentage return across all simulations.
Reward/Risk = Ratio of upper quartile return to lower quartile return.
Asymmetry = Ratio of selected upper tail return to selected lower tail return.
Skewness = Ratio of upside potential to downside risk relative to the median.
Sample Size = Number of historical returns available for the current regime.
Frequency = Percentage of historical returns belonging to the current regime.
In summary, the Strategy Forecast Engine is a comprehensive forecasting tool designed to help investors evaluate the return distribution of trend-following strategies based on the current market regime. By combining regime detection with Monte Carlo simulation, the model conditions forecasts on historical returns observed during comparable market regimes to estimate the distribution of potential outcomes and their associated risk/reward characteristics. While the model provides valuable insight into historical return patterns, investors should remain mindful that historical market behavior may not necessarily persist under future market conditions. Indicator

Nasan Stretch - Velocity Quadrant Plot# Stretch/Velocity Quadrant Plot
The **Stretch/Velocity Quadrant Plot** is a multi-asset market regime and momentum tool designed to track up to **11 symbols simultaneously**.
By plotting **Velocity** against **Stretch**, the indicator shows where each asset sits within the lifecycle of a trend and how it is moving between expansion, exhaustion, reversal, and recovery phases.
It is especially useful for:
* comparing several stocks on one chart,
* identifying leadership and rotation,
* spotting early momentum changes,
* distinguishing strong trends from overextended moves,
* and evaluating how likely a stock is to remain in or leave its current market phase.
## Core Concept
The model combines short-, medium-, and long-term behavior using:
* 13-period EMA
* 21-period EMA
* 34-period EMA
The three horizons are blended using customizable weights.
All values are normalized by ATR, allowing stocks with very different prices and volatility levels to be compared on the same scale.
## Velocity — X-Axis
Velocity measures the rate of change of the three EMAs.
Each EMA uses a separate lookback:
* EMA 13 velocity over 8 bars
* EMA 21 velocity over 13 bars
* EMA 34 velocity over 21 bars
The result represents the speed and direction of the underlying trend.
* Positive Velocity: trend momentum is improving
* Negative Velocity: trend momentum is weakening
## Stretch — Y-Axis
Stretch measures how far price has moved away from its EMA structure.
It is calculated as the ATR-normalized distance between price and the 13-, 21-, and 34-period EMAs.
* Positive Stretch: price is trading above its trend structure
* Negative Stretch: price is trading below its trend structure
* Larger absolute values: price is farther from equilibrium
## The Four Market Quadrants
### Q1 — Bullish Expansion
**Positive Velocity / Positive Stretch**
The asset is above its trend structure and momentum is accelerating.
This is typically associated with:
* strong uptrends,
* momentum continuation,
* leadership,
* and expanding price strength.
A stock moving from Q4 into Q1 may represent a developing recovery turning into a confirmed expansion phase.
### Q2 — Bearish Reversion
**Negative Velocity / Positive Stretch**
Price remains above its trend structure, but momentum is weakening.
This can indicate:
* an aging uptrend,
* loss of momentum,
* consolidation,
* profit-taking,
* or the beginning of a pullback.
Stocks that are highly stretched in Q1 and begin rotating into Q2 may be entering an exhaustion phase.
### Q3 — Bearish Expansion
**Negative Velocity / Negative Stretch**
Price is below its trend structure and downside momentum is increasing.
This is typically associated with:
* established downtrends,
* accelerating weakness,
* distribution,
* and bearish continuation.
### Q4 — Bullish Reversion
**Positive Velocity / Negative Stretch**
Price remains below its trend structure, but momentum has turned positive.
This can signal:
* improving conditions,
* mean reversion,
* early recovery,
* or a potential transition back into bullish expansion.
A rotation from Q4 into Q1 is one of the most important bullish transitions on the chart.
## Multi-Asset Tracking
The indicator supports up to **11 editable symbols**.
Each asset is displayed with:
* its own color,
* a historical trail,
* a current-position marker,
* and an automatically generated ticker label.
This makes it easy to compare:
* relative trend strength,
* market rotation,
* momentum leadership,
* and differences in trend maturity.
## Trailing Paths
Each ticker includes a configurable historical trail.
The trail shows how the asset arrived at its current position and whether it is:
* accelerating,
* slowing,
* rotating,
* reversing,
* or moving sideways near a quadrant boundary.
The direction of the trail is often as important as the current quadrant.
## True Range Variability Clouds
Optional ribbons are drawn around each asset’s trail using:
The calculation is blended over the same 8-, 13-, and 21-bar horizons used by the Velocity model.
Cloud thickness changes at every point along the trail:
* Narrow cloud: volatility is stable and movement is more orderly
* Wide cloud: volatility is inconsistent, noisy, or unstable
This provides an additional layer of information beyond direction and momentum.
The center trail shows where the asset is moving.
The surrounding cloud shows how reliable or disorderly that movement has been.
## Position-Sensitive Quadrant Statistics
A dedicated statistics table can be assigned to one requested ticker.
The table displays:
* current quadrant,
* current uninterrupted stay,
* average historical duration in each quadrant,
* number of completed quadrant runs,
* current Velocity and Stretch values,
* and transition probabilities over several forward horizons.
The transition model does not rely only on the quadrant name.
Each quadrant is divided into a 3 × 3 internal grid based on:
* Velocity magnitude: Low, Medium, or High
* Stretch magnitude: Low, Medium, or High
This creates 36 possible origin states:
The model therefore estimates probabilities such as:
> From Q1 with High Velocity and Medium Stretch, what is the probability of being in Q1, Q2, Q3, or Q4 after 5, 10, 15, or 21 bars?
This provides a more detailed transition model than treating every point inside the same quadrant as identical.
## Customizable Smoothing
The Velocity, Stretch, and cloud calculations can be smoothed using:
* EMA
* RMA
* SMA
* WMA
* or no smoothing
An optional second smoothing pass is also available for users who prefer slower, cleaner trails.
## How to Use the Indicator
The indicator is best used to evaluate trend rotation rather than as a standalone buy or sell signal.
Examples:
* Multiple stocks rotating from Q4 into Q1 may indicate broad market recovery.
* A leader remaining in Q1 with a narrow cloud may indicate persistent, orderly momentum.
* A highly stretched stock in Q1 rotating toward Q2 may be losing momentum.
* A stock in Q4 with rising Velocity may be developing an early recovery setup.
* A widening cloud may warn that the apparent move is becoming less stable.
* A stock near a quadrant boundary may be more likely to switch states than one deep inside a quadrant.
The strongest interpretation comes from combining:
* current quadrant,
* trail direction,
* cloud width,
* distance from the quadrant boundaries,
* and the transition-probability table.
## Important Note
This indicator is intended as a visual and statistical market-analysis tool.
It does not predict future prices with certainty and should be used together with:
* trend confirmation,
* volume,
* support and resistance,
* fundamentals,
* earnings risk,
* and position-sizing rules.
Indicator

Self Calibrating Probability ChannelSELF-CALIBRATING PROBABILITY CHANNEL
A forecast channel whose width is set by conformal prediction, tuned by a parameter-free online calibrator, and proven on your own chart. You pick a coverage level - say 90% - and the indicator shows you, live, the percentage it has actually achieved over recent bars, on every timeframe. Most bands assert a width; this one measures whether the width was right and corrects itself until it is, with nothing to tune.
WHAT IT IS
Bollinger Bands, Keltner Channels, Donchian Channels and standard-deviation regression channels all draw a width from a formula and ask you to trust it. None of them tell you what fraction of price actually landed inside. A "2 standard deviation" band is only a true 95% band if returns are normally distributed and stationary - which markets are not - so the real hit-rate drifts, usually without the user ever knowing.
This indicator inverts that. It forecasts where price should be next bar, measures how wrong that forecast has actually been, and builds the band directly from the empirical distribution of those errors. Then it watches its own hit-rate bar by bar and self-corrects. The result is a channel that earns its stated confidence level instead of assuming it - and reports, honestly, where it is and isn't holding.
THE METHOD (plain language)
1. Forecast path. Each bar, a one-step-ahead forecast of price is formed. You can pick a Kalman level-and-velocity tracker, a linear-regression slope, an EMA projection, or an anchored VWAP - or leave it on Auto, which runs all of them and blends them online by recent accuracy, so the centre line self-calibrates too. The forecast for the current bar uses only prior bars, so it is genuinely out-of-sample.
2. Error window. The gap between forecast and outcome is the forecast error. A rolling window of recent errors is kept, stored in volatility (ATR) units so the band breathes with the market. Each error is recorded only after its band has already been scored, so the band never includes the bar it is being tested on.
3. Conformal bands. For a chosen confidence level, the band edges sit at the matching quantiles of the recent error distribution (split-conformal prediction). Because it uses the actual error quantiles - including their skew - the bands are asymmetric when the errors are, rather than forcing a symmetric width. Four levels are drawn at once (50 / 70 / 90 / 95%) as nested zones, so the channel doubles as a probability heatmap: the dark core is where price spends most of its time, the faint outer edge marks rare excursions.
4. Parameter-free self-calibration (DtACI). After each bar the indicator checks whether price fell inside each level and nudges the width to hold the target. Rather than asking you to pick a calibration speed, it runs several speeds as competing "experts" and continuously blends them by how well each has tracked coverage recently (Dynamically-tuned Adaptive Conformal Inference). There is no rate to tune - the calibration tunes itself.
5. Live coverage proof, including by regime. The dashboard shows, for every level, the target versus the actually-achieved coverage over a rolling window, each tagged calibrated / under / over. It also reports the realised 90% coverage broken down by market regime - so you can see, for instance, that the band holds 92% in a quiet range but 87% in a volatile breakout. You are not asked to trust the band; you are shown its track record on the symbol, timeframe and regime in front of you.
6. Forward cone. A widening cone projects the likely range several bars ahead. Its width is built from actual multi-step forecast errors (not a square-root-of-time assumption), and its centre curves as projected momentum decays rather than extrapolating in a straight line. An optional bootstrap cloud resamples the real errors into sample forward paths - a direct picture of the distribution the bands come from.
7. Context and early warning. A two-axis regime read (trend strength x volatility) labels conditions; a turbulence detector watches for clustering of outer-band breaches and flags, in advance, when coverage is likely to degrade; a coiled-spring marker notes when a compressed range begins to expand; and an optional higher-timeframe row shows whether the larger trend agrees.
WHY THESE PARTS BELONG TOGETHER (one engine, not a bundle)
This is a single forecasting loop, not a collection of separate indicators sharing a chart. Each part is a required step, and removing any one breaks the whole:
- The forecast path produces an expected price and a drift. Without it there is no quantity whose error can be measured.
- The conformal band converts that path's own recent errors into prediction intervals. Without the forecast there is no error to bound; without the band the forecast is an unqualified guess.
- The online self-calibration adjusts the band to hold the target hit-rate as conditions change. Without it the intervals slowly drift out of calibration and the stated confidence becomes false.
- The live coverage readout verifies the loop is actually working, overall and per regime. It is the proof step a formula-based band cannot offer.
- The context layers (regime, turbulence early-warning, graded breaches, compression-release, higher-timeframe agreement) all read the same forecast errors and exist only to tell you WHEN the interval is most trustworthy and when it is about to fail.
So the components are not combined for convenience; they form a closed measure-and-correct cycle - forecast, bound the error, recalibrate, verify - which is precisely why they are published as one script rather than several overlays.
WHAT MAKES IT DIFFERENT
Conformal prediction is a distribution-free framework - its coverage guarantee holds for any underlying distribution given exchangeable errors, with no assumption that returns are Gaussian. It is standard in machine-learning uncertainty quantification but essentially absent from charting tools, which lean almost entirely on standard-deviation or ATR multiples. Pairing it with a parameter-free online recalibrator, a self-weighting forecast centre, and an on-chart coverage readout - including a per-regime breakdown - is the original contribution here. No moving-average envelope, regression channel or volatility band can state "I targeted 90% and have actually delivered 90% over the last 250 bars, and here is exactly where I don't" - this one can, and shows it.
WHAT YOU SEE ON THE CHART
- A multi-zone channel around a forecast centre line, shaded from the high-probability core out to the rare-excursion edge, coloured by forecast direction, and adaptive to dark or light chart backgrounds.
- A widening forward cone, optionally filled with a faint cloud of resampled paths.
- Right-side labels marking the forecast and the 90 / 95% edges as price levels.
- Small triangles when price breaks beyond the outer band; a ring when that breach is also high-quality (graded on displacement, close position, volume, range expansion and structure); an amber diamond when a quiet range starts to wake up.
- A dashboard with the live forecast, the 90% band range and where price sits within it, the full calibration table, the per-regime coverage, a reliability score, the forecast bias, the sample count, the calibration mode, and an optional higher-timeframe row.
- A plain-language "how to read" key, so the chart is approachable without any statistics background.
HOW TO READ AND USE IT
Mean reversion: when price reaches the outer (90 / 95%) zone in a ranging regime, it is statistically stretched and tends to revert toward the centre line. The "band position" readout and the calibration table tell you how stretched, and how trustworthy that edge currently is.
Trend continuation: a sustained walk along one side of the channel, especially with the cone tilted that way and the higher-timeframe row aligned, indicates a directional regime rather than noise.
Anomaly / breakout: a plain triangle is a volatility event; a ringed one is the same event confirmed as high-quality. A turbulence flag warns that the bands may be about to lose calibration.
Reliability and regime: treat the bands as most actionable when reliability is high, the calibration rows read "calibrated", and turbulence is quiet. The per-regime coverage tells you which conditions the channel is currently most trustworthy in.
SETTINGS OVERVIEW
- Forecast path (Auto / Kalman / Linear Regression / EMA / Anchored VWAP) and smoothing lengths.
- Calibration: residual window, recency window, volatility normalisation, parameter-free DtACI on/off (with a manual ACI rate as fallback), coverage-evaluation window.
- Forward projection length, cone momentum decay, optional bootstrap cloud.
- Anomaly sensitivity, swing pivot length, coiled-spring thresholds, turbulence sensitivity.
- Higher-timeframe context, price source, and full theme controls.
The price source is selectable and volume is borrowed where a symbol reports none, so it works across futures, equities, forex and crypto on any timeframe. Defaults read well intraday; longer windows suit higher timeframes.
HONESTY AND LIMITATIONS
- Non-repainting: each bar's forecast uses only prior bars, each error is recorded only after its band is scored, anomalies confirm on bar close, and the higher-timeframe row uses the last confirmed higher-timeframe value. Historical bands do not change after the fact.
- Conformal coverage is a statistical expectation over a window, not a per-bar guarantee. In a sharp regime break the realised hit-rate will dip until the window and calibrator re-adapt - and the dashboard, including its per-regime breakdown, shows that dip honestly rather than hiding it.
- The bands describe the distribution of short-horizon forecast error. They are a probabilistic context for price, not a prediction of direction and not a trading system.
- Calibration needs enough samples; on a fresh chart the channel needs its warm-up window before the figures are meaningful, and the cone needs a few extra bars beyond that.
This script is for research and education. It is not financial advice and not a solicitation to trade. Markets carry risk; test any tool on your own data and timeframe, and make your own decisions.
Indicator

Indicator

Volatility Forecast [EXCAVO]Forward Projection of the Bollinger Envelope with Adaptive Horizon and Slope Clamp
The Volatility Forecast takes the classical Bollinger Bands and
projects the basis and the bands forward by a configurable number of bars.
Slopes of the basis, standard deviation and ATR are estimated from linear
regression over a lookback window, then extrapolated through a smooth
curve into the right side of the chart. Small orange dots mark band
reclaim events on confirmed closed bars.
The forecast horizon adapts to the chart timeframe so the projection
stays meaningful at every TF, and a slope clamp prevents the bands from
ballooning into unrealistic territory after sharp regime shifts.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW TO USE
Step 1 → Add the indicator. The current Bollinger Bands are
plotted on the chart and a dashed envelope extends to the
right with the projected basis and bands.
Step 2 → Read the projection. The projected upper and lower
bands show the most likely volatility envelope over the
next bars under the current trend and volatility regime.
Wider end = expansion expected; narrower end = compression.
Step 3 → Use the reclaim dots. A small orange dot below a bar
marks a confirmed bull band reclaim (price tagged the lower
band and pulled back inside). A dot above a bar marks a
bear reclaim. These are context, not entries.
Step 4 → Check the dashboard. The top right panel reads the
projection mode, current width vs its rolling average,
band state, and the last reclaim.
Step 5 → Combine with structure. The envelope pairs well with
trend and structure tools. A breakout that aligns with an
expanding projected envelope tends to continue; one against
a contracting envelope tends to fade.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW IT CALCULATES
◆ Bollinger Bands
Basis is a simple moving average of the source over Length (default 20).
Standard deviation is computed over the same window. Bands are basis plus
or minus Multiplier times standard deviation (default 2.0). These are the
solid plotted lines on the chart.
◆ Linear Regression Slopes
For the projection, the algorithm estimates per-bar slopes from a linear
regression of the basis, the standard deviation, and the ATR over the
Slope Lookback window (default 40). Slope is taken as the difference
between the linreg value at offset 0 and offset 1 - the per-bar drift
the regression expects to continue.
◆ Slope Clamp
Each slope is then clamped to a safety bound so that the cumulative
projected displacement stays sensible. End to end, the projected basis
cannot drift more than two current band-widths, and the projected
standard deviation or ATR cannot grow more than 50% of its current value.
Sign of the slope is preserved so trend direction is intact, only the
magnitude is bounded. This keeps the projection meaningful after sharp
regime shifts.
◆ Forward Projection
Three modes turn slopes into a projected envelope across the forecast
horizon:
Linear extends basis and width on a straight line using the
current slope at every step.
Smooth Curve (default) eases from the current value toward a
dynamic endpoint via a smoothstep curve so the projection has a
natural arc instead of a hard linear extrapolation.
Adaptive Volatility drives the projected width with ATR slope
instead of standard-deviation slope. Useful when volatility is
regime-dependent and the ATR captures it better than stdev.
A projection floor at 50% ensures the envelope never collapses to a
single point on declining-volatility regimes.
◆ Auto Timeframe Forecast
Forecast Bars defaults to Auto, which picks the horizon from the chart
timeframe: 40 bars on 4h and below, 20 on Daily, 10 on Weekly, 6 on
Monthly+. Manual override is available for operators who want a fixed
bar count regardless of timeframe.
◆ Band Reclaim Markers
A bull reclaim fires when the prior bar's low touched the lower band,
the current bar's low has pulled back above the lower band, and the
close sits below the basis. A bear reclaim is symmetric on the upper
band. Cooldown of Length bars prevents same-direction stacking. The
optional Trend MA filter keeps bull marks only above the MA and bear
marks only below. By default markers fire only on confirmed closed bars
(no repaint); Real-time Markers can be enabled if intra-bar feedback is
preferred.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ WHAT MAKES IT DIFFERENT
◆ Adaptive Horizon
The forecast horizon scales with the chart timeframe. The projection
shows a comparable arc on intraday, daily, weekly and monthly without
manual tuning per chart.
◆ Slope Clamp Safety Net
Linear-regression slopes can overshoot after sharp moves or on long
horizons. The clamp caps the cumulative displacement so the projection
cannot grow into unrealistic ranges, regardless of the underlying slope.
◆ Three Projection Modes
Linear, Smooth Curve and Adaptive Volatility cover the common shapes a
volatility envelope can take. Smooth Curve uses smoothstep easing for
a natural arc; Adaptive Volatility ignores stdev drift and tracks ATR
instead.
◆ Confirmed Reclaim Markers
Small orange dots above or below the bar mark band reclaim events. They
fire on confirmed closed bars by default (no repaint), with an optional
real-time mode for operators who prefer intra-bar feedback. A trend-MA
filter keeps the bias clean.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ DASHBOARD
Real-time panel with the current state read:
Mode - Linear / Smooth Curve / Adaptive Volatility
Width vs Avg - current band width relative to its rolling average
Band State - where price sits in the bands (Above Upper / Below Lower / Upper Half / Lower Half)
Last Marker - direction and bars since the last band reclaim
Legend table explains every on-chart element. Both panels toggle in the
Dashboard settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ SETTINGS
Bollinger Bands
Source - close (price series used for basis and stdev)
Length - 20 (lookback for basis and stdev)
Multiplier - 2.0 (band width in stdev units)
Basis / Band / Fill Colors - default palette
Forecast Envelope
Forecast Bars Mode - Auto (adapts to chart TF) or Manual
Forecast Bars (Manual) - 40 (used when Mode = Manual)
Slope Lookback - 40 (linreg window for slope estimation)
Mode - Smooth Curve (Linear / Smooth Curve / Adaptive Volatility)
Projection Style / Width / Colors - dashed, default palette
Fill Projection - ON
Reclaim Markers
Show Markers - ON
Real-time Markers - OFF (no repaint by default; closed bars only)
Filter by Trend MA - ON
Trend MA Type - SMA (SMA / EMA / WMA / HMA)
Trend MA Length - 100
Marker Color - orange (#FF8C00)
Show Trend MA - OFF
Dashboard
Show Dashboard - ON
Dashboard Position - Top Right
Show Legend - ON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ ALERTS
Two directional alertconditions are exposed:
Bull Band Reclaim - fires on a confirmed bull reclaim event
Bear Band Reclaim - fires on a confirmed bear reclaim event
Set the alert condition to "Once Per Bar Close" for clean, non-repainting
delivery. Trend-MA filter and cooldown apply to alerts the same way they
apply to the on-chart markers.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best regards,
EXCAVO
Disclaimer
Trading involves significant risk. This indicator is a technical analysis
tool and does not constitute financial advice, investment recommendations,
or a guarantee of future results. Past indicator behavior does not
guarantee future performance. Always use proper risk management and your
own judgment.
Indicator

AI Trend Detector | Adaptive Signals [NeuraLib Machine Learning]🔷 AI Trend Detector | Adaptive Signals
AI Trend Detector is a NeuraLib-powered Machine Learning indicator. It trains a compact supervised neural model on confirmed historical movement, then uses the current market state to estimate Bear , Neutral , and Bull pressure.
The model output is converted into a clean visual system:
Trend Oscillator : A 0-100 pressure gauge. Lower values suggest bullish pressure or oversold conditions. Higher values suggest bearish pressure or overbought conditions.
Adaptive MA Cloud : A main-chart adaptive moving average with an AI-biased cloud that expands as model pressure moves away from neutral.
Confirmed Triangles : Optional chart markers for overbought and oversold interactions, with modes for zone entry, zone exit, or confirmed rotation inside a zone.
Dashboard : A compact readout showing the current state, signal value and confidence.
Triangle Alerts : Alert conditions tied to the same confirmed marker logic shown on the chart.
Directional Confidence : An optional 0-100 line showing the stronger directional model probability, calculated from the larger of Bull or Bear pressure. It does not include Neutral probability, so it reflects directional conviction rather than overall model certainty.
This is not a fixed crossover system. The signals are the visual layer of a model-driven trend pressure engine.
---
🔷 How The Model Learns
Each bar contributes a compact feature row based on price movement, adaptive MA context, and distance from the adaptive baseline. NeuraLib stores these rows in a rolling dataset, normalizes the inputs, and trains the model on recent time-series windows.
The model is trained as a 3-class classifier:
Bear
Neutral
Bull
Historical training examples use future-resolved movement to create their target class, but only after that movement has already occurred. This is the supervised learning setup: the model learns from completed historical outcomes, then applies its learned weights to the current live feature window.
The exposed settings allow users to experiment with model size, learning rate, training frequency, smoothing, trend horizon, and signal behavior.
---
🔷 Model Architecture
The model uses a compact temporal classification architecture:
Flattened state window : Recent feature rows are combined into one temporal input.
Temporal convolution stack : Conv1D-style layers extract short-term structure from the recent market sequence.
Global average pooling : The temporal output is compressed into a compact state representation.
Dense classifier head : One or two dense layers process the pooled state.
Three output logits : The model produces Bear, Neutral, and Bull logits, which are converted into display probabilities.
This keeps the model small enough for Pine Script while still giving it a true sequence-learning structure rather than a simple crossover or rule-based signal engine.
---
🔷 Reading The Signals
The oscillator is intentionally inverted for intuitive market reading:
Low values : Oversold or bullish pressure.
Mid values : Balanced or neutral pressure.
High values : Overbought or bearish pressure.
Triangles can be configured through the Triangle trigger setting:
Crossing into : Prints when the oscillator crosses into an overbought or oversold zone.
Going out of : Prints when the oscillator exits an overbought or oversold zone.
Rotation inside zone : Prints when the signal forms a confirmed turn while still inside the zone.
In rotation mode, Rotation confirmation controls how many bars must pass without breaking the candidate peak or trough before the marker is accepted. Rotation triangles print on the confirmation bar, not on the older pivot bar.
The adaptive MA cloud is visual only. The model is not trained on the shifted cloud edge. The cloud simply applies model pressure around the adaptive MA baseline.
---
⚠️ Repainting And Signal Timing
The training and signal system is designed around confirmed bars:
Training rows are pushed on confirmed bars.
Triangle signals are gated with barstate.isconfirmed .
Rotation markers print on the confirmation bar.
No negative plot offsets are used to move markers into the past.
The smoothing path uses current and past values only.
Because this model does not train on the full price history, but instead learns from the most recent N bars, repainting may occur when the script is reloaded at a later date. This happens because the model may begin training from a different market environment.
To help preserve the original model state, adjust the Historical Train Window setting to account for any new bars that have been added since the original run.
---
⚠️ Limitations
Machine Learning inside Pine Script is powerful, but it is still bounded by PulseWire's execution model.
The model is compact by design.
Training history is bounded for performance.
Changing hyperparameters rebuilds the model.
Signals depend on the chosen horizon, threshold, smoothing, and triangle mode.
The model estimates directional pressure. It does not know your entries, exits, risk, fees, or position sizing.
This indicator is best treated as a model-based market pressure tool, not as a complete trading system by itself.
This indicator is powered by the NeuraLib Deep Learning Runtime
Disclaimer: This indicator is an analytical and educational tool. It does not guarantee future results, signal accuracy, or financial gain. Past behavior does not ensure future behavior. Use it as one component in a broader trading process, under your own responsibility. Conceptual architecture and quantitative development by Alien_Algorithms.
Indicator

Market State Forecast Projection EngineThis indicator is a **forecast projection tool**. It looks at the current market environment, searches history for the most similar environments, then plots what usually happened afterward. It is not trying to predict the future with certainty. It is saying: “When the market looked like this before, what tended to happen next?”
The engine defines the current market environment using three things:
* **Trend**, based on moving averages.
* **Momentum**, based on RSI.
* **Volatility**, based on ATR.
Then it finds the closest historical matches, studies their future paths, and draws a forecast line with optional upper and lower bands.
---
## What You See on the Chart
### Forecast Midline
The main forecast line shows the **average path** of the selected historical matches.
In simple terms:
* If similar past situations usually moved higher, the line slopes up.
* If similar past situations usually moved lower, the line slopes down.
* If similar past situations were mixed, the line may be flat or choppy.
### Upper Band
The upper band shows the stronger side of historical outcomes.
It means:
* Some similar historical setups moved better than the average.
* The upper band gives you a visual idea of the upside range from those past examples.
* It is not a guaranteed target.
### Lower Band
The lower band shows the weaker side of historical outcomes.
It means:
* Some similar historical setups moved worse than the average.
* The lower band gives you a visual idea of downside risk from those past examples.
* It is not a guaranteed support level.
### Band Width
The space between the bands matters.
* Tight bands mean historical outcomes were more consistent.
* Wide bands mean historical outcomes were scattered and less reliable.
* A forecast with wide bands should be treated with more caution.
---
## Main Inputs
### Non-Repaint Mode
**Default: On**
This controls whether the forecast uses the live candle or the last completed candle.
Use **Non-Repaint Mode On** when:
* You want more stable signals.
* You want the forecast to update only after the candle closes.
* You care about cleaner historical testing.
Use **Non-Repaint Mode Off** when:
* You want the forecast to react during the current live candle.
* You accept that the forecast may change before the candle closes.
For most use cases, leave this **On**.
---
## Model Group
### Forecast Horizon
This controls how far into the future the indicator projects.
Example:
* On a daily chart, `20` means 20 trading days.
* On a 1-hour chart, `20` means 20 hours.
* On a 5-minute chart, `20` means 20 five-minute candles.
Use a lower value when:
* You are trading short-term moves.
* You want a tighter forecast window.
* You do not want the projection stretched too far.
Use a higher value when:
* You are looking for swing-trade context.
* You want to see the broader projected path.
* You are using higher timeframes.
A practical range is usually:
* `10–20` for shorter-term analysis.
* `20–50` for swing-style analysis.
---
### Search Depth
This controls how much history the engine searches.
Example:
* `1000` means the engine searches roughly 1,000 prior bars.
* `2000` means it searches more history.
* `500` means it searches less history.
Use a higher Search Depth when:
* You want a larger historical sample.
* You are on a short timeframe with lots of bars.
* You want more possible market-state comparisons.
Use a lower Search Depth when:
* You want the model to focus on more recent market behavior.
* You are on a slower chart like daily or weekly.
* You want less influence from older market regimes.
The tradeoff is simple:
* More history gives more examples.
* Less history may be more relevant to the current market regime.
---
### Pattern Matches
This controls how many of the closest historical matches are used.
This is one of the most important inputs.
If set to `30`, the engine finds the **30 closest historical market states** and builds the forecast from those.
Use fewer matches when:
* You want stricter, more specific comparisons.
* You want only the closest historical examples.
* You are okay with a forecast that may be more reactive.
Use more matches when:
* You want a smoother forecast.
* You want less noise from individual examples.
* You want a broader historical sample.
General interpretation:
* `10–20` = stricter, more selective.
* `25–40` = balanced.
* `50+` = broader, smoother, but less specific.
---
### Weight Closer Matches
This controls whether the best matches receive more influence.
When turned **On**:
* The closest historical matches matter more.
* Weaker matches still count, but less heavily.
* The forecast becomes more focused on the most similar examples.
When turned **Off**:
* Every selected match is treated equally.
* The forecast becomes more democratic.
* A very close match and a weaker match have the same influence.
For most users, leave this **On**.
---
## Advanced Model Inputs
### Forecast Model
This chooses how the engine defines the market environment.
All models use:
* EMA trend.
* RSI momentum.
* ATR volatility.
The difference is how each model emphasizes those ingredients.
---
### Conservative
Use **Conservative** when you want a slower, smoother model.
It is designed to:
* React less aggressively.
* Favor more stable market environments.
* Put more importance on trend and volatility.
* Reduce noisy forecast changes.
Best for:
* Daily charts.
* Swing trading.
* Slower-moving stocks or ETFs.
* Users who want fewer false shifts.
---
### Balanced
Use **Balanced** as the general-purpose default.
It is designed to:
* Give trend, momentum, and volatility a normal balance.
* Work across many markets.
* Avoid being too slow or too fast.
Best for:
* Most users.
* Most chart timeframes.
* General market forecasting.
* Starting point before testing other models.
---
### Aggressive
Use **Aggressive** when you want a faster model.
It is designed to:
* React more quickly to changing momentum.
* Give more influence to short-term market shifts.
* Be more sensitive to fresh moves.
Best for:
* Intraday trading.
* Fast-moving markets.
* Crypto.
* Momentum names.
* Traders who want earlier, more responsive shifts.
The downside is that it may be noisier.
---
### Trend Following
Use **Trend Following** when you want the model to emphasize persistent directional moves.
It is designed to:
* Care more about trend structure.
* Care less about short-term momentum noise.
* Favor markets that continue moving in the same direction.
Best for:
* Strong trending stocks.
* Indexes.
* Breakout environments.
* Higher-timeframe directional trading.
This model is less ideal in sideways or choppy markets.
---
### Mean Reversion
Use **Mean Reversion** when you want the model to focus on stretched conditions.
It is designed to:
* Emphasize momentum extremes.
* Look for environments where price may snap back or reverse.
* Care less about long-term trend persistence.
Best for:
* Range-bound markets.
* Overbought/oversold setups.
* Countertrend analysis.
* Shorter-term reversal ideas.
This model may fight strong trends, so use it carefully in momentum-heavy markets.
---
## Historical Lookback Inputs
### Lookback Bars
This lets you move the forecast backward in time.
Example:
* `0` means current forecast.
* `50` means show what the forecast would have looked like 50 bars ago.
* `250` means show what the forecast would have looked like 250 bars ago.
Use this for:
* Visual backtesting.
* Studying old setups.
* Checking whether the forecast was useful historically.
* Comparing forecast paths against what actually happened.
This is one of the most valuable testing features.
---
### Lock to Candle
This lets you anchor the forecast to a specific candle time instead of a simple bar offset.
Use it when:
* You want to test a specific time of day.
* You trade a regular session open.
* You want repeatable historical anchors.
Example:
* You can lock to the 13:30 UTC candle, which often corresponds to the U.S. stock market open during daylight saving time.
When this is off, the indicator uses **Lookback Bars** instead.
---
### Days Back
This works with **Lock to Candle**.
It tells the indicator how many matching anchor candles to go back.
Example:
* `0` = most recent matching candle.
* `1` = one matching session back.
* `2` = two matching sessions back.
Use this when:
* You want to test the most recent open.
* You want to test yesterday’s open.
* You want to step through past sessions one by one.
---
### Hour UTC
This is the UTC hour used for candle locking.
Use it with **Minute UTC** to identify the exact candle you want.
Example:
* `13` means 13:00 UTC.
* Combined with `30`, it means 13:30 UTC.
This is useful because PulseWire symbols and sessions can vary, but UTC gives a consistent anchor.
---
### Minute UTC
This is the UTC minute used for candle locking.
Example:
* Hour UTC = `13`
* Minute UTC = `30`
Together, that means:
* Lock to the 13:30 UTC candle.
Use this for precise historical testing.
---
### Auto Previous Session
This controls what happens if today’s target candle has not printed yet.
When turned **On**:
* The indicator automatically uses the most recent previous matching candle.
* This keeps the forecast visible even before today’s target time exists.
When turned **Off**:
* If today’s target candle has not printed, the lock may show no match and fall back.
For most users, leave this **On**.
---
## Bias Logic Inputs
### Bias Threshold %
This controls how strong the bull or bear probability must be before the indicator labels the forecast bullish or bearish.
Example:
* If Bias Threshold is `60`, Bull Probability must be at least 60% before a bullish label can appear.
* If Bear Probability is at least 60%, a bearish label can appear.
Use a lower threshold when:
* You want more frequent bias labels.
* You are okay with weaker directional evidence.
Use a higher threshold when:
* You want stricter signals.
* You only want stronger historical agreement.
Practical range:
* `60%` = balanced.
* `70%+` = more conservative.
* `50–55%` = loose and more signal-heavy.
---
### Minimum Bull/Bear Edge %
This controls how large the gap must be between Bull Probability and Bear Probability.
Example:
* Bull Probability = 65%
* Bear Probability = 35%
* Edge = 30 percentage points
If the minimum edge is `15`, this would qualify.
But:
* Bull Probability = 58%
* Bear Probability = 42%
* Edge = 16 percentage points
This may still fail if Bull Probability is below the Bias Threshold.
This input prevents weak differences from being labeled as strong directional bias.
Use a higher edge when:
* You want cleaner bias labels.
* You want the model to avoid borderline calls.
Use a lower edge when:
* You want more frequent directional bias.
* You accept more uncertainty.
---
## Display Inputs
### Show Forecast Midline
This turns the main forecast line on or off.
Turn it **On** when:
* You want to see the projected average path.
Turn it **Off** when:
* You only want the info box probabilities.
* You want a cleaner chart.
---
### Show Confidence Bands
This turns the upper and lower forecast bands on or off.
Turn it **On** when:
* You want to see the historical range of outcomes.
* You care about uncertainty.
* You want to know whether the forecast is tight or messy.
Turn it **Off** when:
* You only want the central forecast.
* The chart feels too cluttered.
---
### Band Width Multiplier
This controls how wide the bands are.
Higher values make the bands wider.
Lower values make the bands tighter.
Use lower values when:
* You want a cleaner, tighter visual range.
* You want bands closer to the average forecast.
Use higher values when:
* You want to see a broader range of historical outcomes.
* You want a more conservative uncertainty envelope.
Default `1.0` is a good starting point.
---
## Forecast Midline Style Inputs
### Forecast Midline Color
Controls the color of the main projection line.
The default aqua color makes it visually distinct from price candles.
### Forecast Midline Width
Controls how thick the midline is.
Use a thicker line when:
* You want the forecast to stand out.
* You are using a busy chart.
Use a thinner line when:
* You want a cleaner chart.
* You use many overlays.
### Forecast Midline Type
Controls whether the line is:
* Solid.
* Dashed.
* Dotted.
Solid is usually best for the main forecast line.
---
## Upper Band Style Inputs
### Upper Band Color
Controls the color of the upper forecast band.
The default green tone suggests upside range.
### Upper Band Width
Controls how thick the upper band is.
A thin dashed line usually works best because it should be secondary to the midline.
### Upper Band Type
Controls whether the upper band is solid, dashed, or dotted.
Dashed is usually best because it visually communicates “range” rather than “target.”
---
## Lower Band Style Inputs
### Lower Band Color
Controls the color of the lower forecast band.
The default red tone suggests downside range.
### Lower Band Width
Controls how thick the lower band is.
A thin line keeps it useful without dominating the chart.
### Lower Band Type
Controls whether the lower band is solid, dashed, or dotted.
Dashed is usually best for the same reason as the upper band.
---
## Info Box Inputs
### Show Info Box
This turns the dashboard on or off.
Turn it **On** when:
* You want the probabilities and diagnostics visible.
* You are actively evaluating the forecast.
Turn it **Off** when:
* You only want the chart projection.
* You want a cleaner visual layout.
---
### Info Box Position
Controls where the dashboard appears.
Options:
* Top Left.
* Top Right.
* Bottom Left.
* Bottom Right.
Use the position that interferes least with price action on your chart.
---
### Text Size
Controls the dashboard text size.
Use:
* **Tiny** for compact charts.
* **Small** for normal use.
* **Normal** if you want easier reading.
* **Large** for presentations or large monitors.
---
### Background
Controls the info box background color.
A darker background usually works best on most PulseWire chart themes.
### Border
Controls the info box border color.
This helps separate the dashboard from the chart.
### Header Text
Controls the title/header text color.
### Header Background
Controls the top header row background.
This gives the dashboard its polished look.
---
## Info Box Metrics
### Bull Prob %
This shows the weighted percentage of selected historical matches that ended bullish.
Simple meaning:
> Of the similar historical market states, how many tended to move up?
A high number means bullish outcomes dominated the selected historical matches.
---
### Bear Prob %
This shows the weighted percentage of selected historical matches that ended bearish.
Simple meaning:
> Of the similar historical market states, how many tended to move down?
A high number means bearish outcomes dominated the selected historical matches.
---
### Direction Bias
This shows the final label after applying the bias rules.
Possible outputs:
* Bullish.
* Bearish.
* None.
* Weak Data.
* No Matches.
A bullish or bearish label only appears when the probability and edge requirements are met.
---
### Bull/Bear/Flat
This shows how many selected matches ended:
* Bullish.
* Bearish.
* Flat.
Example:
* `18 / 9 / 3`
This means:
* 18 bullish historical outcomes.
* 9 bearish historical outcomes.
* 3 flat historical outcomes.
This gives you a quick look at the underlying distribution.
---
### Match Count
This shows how many historical matches were actually used.
If Pattern Matches is set to `30`, Match Count should usually show `30`.
If it shows less, there may not have been enough valid historical data.
---
### Fit Quality
This tells you how closely the selected historical matches resemble the current market state.
High Fit Quality means:
* The current market environment closely resembles the selected historical examples.
Low Fit Quality means:
* The engine found matches, but they were not very close.
Important:
* Fit Quality is not win rate.
* Fit Quality is not probability.
* Fit Quality is not accuracy.
* It only measures how good the historical comparisons are.
Best interpretation:
* High Fit Quality + strong Bull/Bear Probability = more compelling.
* High Fit Quality + split probabilities = similar markets existed, but outcomes were mixed.
* Low Fit Quality = be cautious.
---
### Model
This shows which Forecast Model is active.
Examples:
* Balanced.
* Conservative.
* Aggressive.
* Trend Following.
* Mean Reversion.
This is useful for screenshots and reviewing past setups.
---
### Anchor
This tells you where the forecast is anchored.
Examples:
* `0 bars · NR` means current forecast using Non-Repaint Mode.
* `50 bars · NR` means historical forecast from 50 bars ago.
* `Locked` means it is anchored to a specific UTC candle.
This helps you know whether you are looking at a current forecast or a historical replay.
---
### Search Depth
This shows the actual number of bars being searched.
It may be lower than your input if the chart does not have enough loaded history.
---
## Best Practical Way to Use It
A clean workflow would be:
* Start with **Balanced** model.
* Keep **Non-Repaint Mode On**.
* Use **Pattern Matches around 30**.
* Use **Search Depth around 1000**.
* Watch **Fit Quality**.
* Watch **Bull/Bear Probability**.
* Treat the forecast line as a scenario path, not a guaranteed prediction.
* Use **Lookback Bars** to test whether the forecast was historically useful.
* Avoid trusting any forecast where the bands are very wide and probabilities are split.
The strongest setup is usually when:
* Fit Quality is high.
* Bull or Bear Probability is clearly dominant.
* The forecast bands are not extremely wide.
* The projection agrees with price structure.
Indicator
