Liquidity Sweep & ATR Envelope⚡ Liquidity Sweep & ATR Envelope
The market hunts stops. This tool shows you where it just happened — and whether price actually rejected the grab or kept right on going. 🎯
Liquidity sweeps caught at volatility extremes, confirmed by a real reclaim, fully resolved on the bar they fire. No repaint. No HTF trickery.
🔍 THE MECHANICS
📐 The envelope — an ATR band around a 20-period basis. It's the visual anchor on the chart AND the qualification threshold at once: the same measurement does both jobs, so there's no separate cosmetic ATR filter bolted on top.
🎯 Pivot + envelope, both required — a signal needs the wick to breach a confirmed pivot level AND clear the band plus a clearance buffer. Levels are one-shot: any wick through a tracked pivot consumes it, signal or not. Re-arms on the next confirmed pivot.
↩️ Reclaim, not just recovery — the close has to snap back past the swept level by at least half the wick's own penetration depth (adjustable, 0 to disable). A candle that barely creeps back over the line doesn't count as a rejection — the snap-back has to beat the sweep.
Levels are one-shot: any wick through a tracked pivot consumes it — signal or not — and the tool re-arms on the next confirmed swing. What you see is exactly what happened.
🛡️ Non-repaint by construction — pivots confirm after their right-side bars, and every signal, marker, zone, and alert is gated to bar close. A triangle that printed yesterday printed on that bar and never moved. What you backtest is what you trade. ✅
🎨 On the chart:
🌊 Hero ATR envelope with event-driven band glow — bands light up when price presses them or on a fresh sweep.
📦 Gradient sweep zones from swept level to wick extreme — historical signals legible at a glance.
👣 Swept-history footprints so you can read where liquidity already got taken.
🎛️ 8 themes (Suite, Ocean, Royal, Ember, Mono, Frost + full Custom), optional bar tint, trigger-threshold line, compact status table.
🔔 Clean JSON alerts (direction / level / trigger) — wire it straight into your automation.
⏱️ Timeframe notes — single-timeframe and scale-free. Every threshold is measured in ATR or as an intra-bar ratio, so it ports across instruments and timeframes with zero rescaling. Defaults are tuned on H1 and carry to M15 unchanged — comparable signal frequency and reclaim quality on both. On H4 and above the setup is rarer by nature; drop Pivot Left/Right to 3 if you want more events there. Read every signal as liquidity-location context, not a standalone entry — pair it with your structure read (or Confluence Context, regime/confluence indicator on my profile) for direction. 🧭
📈 How to use it — the tool tells you where the market just swept liquidity and rejected. Stack it with structure.
Built to one standard: still useful after it's been on your chart for a while. Gösterge

Innovation-Gated Hull Supertrend [BackQuant] Innovation-Gated Hull Supertrend
Overview
Innovation-Gated Hull Supertrend is an adaptive trend-following overlay that combines three distinct signal-processing components:
A Hull Moving Average projection for responsive trend estimation.
An innovation-gated recursive filter for adaptive noise reduction.
A volatility-based Supertrend applied to the filtered Hull estimate.
The indicator is designed to behave differently during quiet and active market conditions.
When the Hull estimate changes only slightly relative to recent volatility, the innovation gate restricts how much of that movement is admitted into the filtered trend estimate. The Supertrend bands can also expand during these quieter conditions, reducing sensitivity to minor fluctuations.
When a larger and statistically more meaningful change occurs, the gate opens. The recursive filter becomes more responsive, the Supertrend bands return closer to their base width, and the model is allowed to react more quickly.
The result is a trend framework that attempts to balance two competing requirements:
Remain stable when price movement is small and noisy.
Respond more quickly when new information produces a meaningful displacement.
The indicator does not predict future prices. It is a causal trend model that adapts its response according to the size of newly arriving information relative to the current volatility environment.
Core calculation chain
The complete calculation can be summarised as:
Calculate a Hull Moving Average projection from the selected price source.
Estimate current volatility using ATR, standard deviation, or a blend of both.
Compare the Hull projection with the recursive filter’s previous estimate.
Normalise that difference by volatility to calculate an innovation score.
Pass the score through a smooth logistic gate.
Use the gate to adapt the recursive filter’s measurement and process uncertainty.
Generate the innovation-filtered Hull estimate.
Optionally adapt the Supertrend band multiplier using the same gate.
Apply Supertrend logic around the filtered Hull estimate.
Generate bullish and bearish regime changes when the Supertrend changes sides.
Each stage solves a different problem.
The Hull projection provides a responsive directional input. The innovation filter decides how much of that input should be trusted. The Supertrend then converts the filtered estimate into a persistent trailing regime.
Historical background
The indicator combines ideas from several areas of technical analysis and signal processing.
Hull Moving Average
The Hull Moving Average was developed by Alan Hull as a method of reducing lag while preserving a smooth output.
Traditional moving averages face a basic trade-off:
Short averages respond quickly but contain more noise.
Long averages are smoother but react later.
The Hull Moving Average attempts to improve this balance by combining weighted moving averages of different lengths.
Its general construction is:
Fast WMA = WMA of price over approximately half the main length.
Slow WMA = WMA of price over the full length.
Raw Hull = 2 × Fast WMA - Slow WMA.
Final Hull = WMA of the Raw Hull over the square root of the main length.
The subtraction stage compensates for some of the delay introduced by the longer average. The final square-root smoothing stage reduces noise in the compensated series.
Recursive estimation and the Kalman-filter principle
The innovation filter is based on the general recursive-estimation framework associated with Kalman filtering.
The Kalman filter was developed by Rudolf E. Kálmán and became widely used in engineering, navigation, aerospace, robotics and control systems.
A recursive estimator typically follows two stages:
Predict the current state from the previous state.
Correct that prediction using the newest observation.
The correction depends on how uncertain the model is and how reliable the new observation is believed to be.
The difference between the observation and prediction is called the:
Innovation
In this indicator:
The observation is the current Hull projection.
The prediction is the previous filtered estimate.
The innovation is the difference between them.
A large innovation means the Hull projection has moved significantly away from the model’s prior estimate.
A small innovation means the new observation is close to what the model already expected.
Supertrend
Supertrend is a volatility-trailing concept built from an underlying price reference and ATR-based bands.
Its basic structure consists of:
An upper band above the reference.
A lower band below the reference.
One-sided trailing behaviour.
A regime switch when price crosses the opposing band.
In a bullish regime, the lower band acts as the active trail.
In a bearish regime, the upper band acts as the active trail.
This indicator modifies the conventional approach in two important ways:
The central reference is the innovation-filtered Hull estimate rather than a normal price midpoint.
The band multiplier can adapt according to the innovation gate.
Stage 1: Hull projection
The first stage calculates the Hull projection from the selected price source.
The script determines:
The full Hull length.
A half-length rounded to a valid integer.
A square-root length rounded to a valid integer.
It then calculates:
Fast WMA = WMA(source, half length)
Slow WMA = WMA(source, full length)
Raw Hull = 2 × Fast WMA - Slow WMA
Hull Projection = WMA(Raw Hull, square-root length)
The Hull projection is more responsive than many conventional moving averages of a similar nominal length.
However, responsiveness also means it can react to short-lived movements. For that reason, the Hull projection is not used directly as the final trend line. It becomes the observation supplied to the innovation filter.
Hull Length
The Hull Length controls the underlying trend horizon.
Lower values:
React more quickly.
Follow shorter trend legs.
Produce more local changes.
Admit more short-term noise into the next stage.
Higher values:
Produce a smoother projection.
Focus on broader trend structure.
Respond later to sudden reversals.
The Hull Length therefore controls the basic timescale of the model before any adaptive filtering or Supertrend logic is applied.
Stage 2: Volatility model
The innovation must be interpreted relative to current market conditions.
A movement of 10 points may be large in a quiet market but insignificant in a highly volatile market.
The indicator therefore normalises the innovation using a selectable volatility estimate.
Three modes are available:
ATR
Standard Deviation
Blend
ATR mode
Average True Range measures recent trading range while accounting for gaps from the previous close.
True Range is based on the greatest of:
Current high minus current low.
Absolute current high minus previous close.
Absolute current low minus previous close.
ATR then smooths True Range across the selected Volatility Length.
ATR is useful because it measures the realised movement range of the instrument.
It is sensitive to:
Wide candles.
Price gaps.
Range expansion.
Standard Deviation mode
Standard deviation measures how widely the Hull projection has varied around its recent mean.
It is a dispersion measure rather than a range measure.
Standard deviation responds to:
Variation in the selected series.
Directional displacement.
Changes in the distribution of the filtered input.
While ATR focuses on bar range, standard deviation focuses on dispersion of the Hull series itself.
Blend mode
Blend mode calculates the average of ATR and standard deviation.
Conceptually:
Blended Volatility = (ATR + Standard Deviation) / 2
This provides a combined estimate incorporating:
Observed range behaviour.
Statistical dispersion of the Hull projection.
Neither measure is universally superior. The blend attempts to reduce dependence on only one definition of volatility.
Volatility Length
The Volatility Length controls how quickly the normalisation baseline changes.
Lower values:
React faster to recent volatility changes.
Cause the innovation score to adjust more quickly.
May make the gate less stable.
Higher values:
Produce a slower volatility baseline.
Create more consistent normalisation.
May respond later when volatility changes abruptly.
The volatility estimate is prevented from falling below the instrument’s minimum tick size, avoiding unstable division during extremely quiet periods.
Stage 3: Innovation calculation
The filter begins each bar with a prediction.
In this implementation, the prediction is the previous filtered estimate.
The innovation is:
Innovation = Hull Projection - Previous Filter Estimate
The innovation may be positive or negative.
A positive value means the Hull projection is above the prior estimate.
A negative value means it is below the prior estimate.
The absolute innovation measures the size of the disagreement regardless of direction.
Innovation score
The raw innovation is normalised by current volatility:
Innovation Score = |Innovation| / Volatility
This expresses the new movement in volatility units.
For example:
A score of 0.25 means the innovation is approximately one quarter of the selected volatility measure.
A score of 1.00 means it is approximately equal to that volatility measure.
A score above 1.00 means the change is larger than the current volatility baseline.
The score is dimensionless, making it more comparable across instruments and price scales.
This is the key quantity used to determine whether the filter should remain cautious or become more responsive.
Stage 4: Logistic innovation gate
The innovation score is passed through a logistic function.
The logistic function has the form:
Gate = 1 / (1 + exp(-x))
Its output remains between zero and one.
In the indicator, the gate input depends on:
Innovation Score
Innovation Threshold
Gate Sharpness
Conceptually:
Gate Input = Sharpness × (Score - Threshold)
When the score is below the threshold:
The gate approaches zero.
The filter treats the new Hull movement cautiously.
When the score rises above the threshold:
The gate moves toward one.
The filter becomes more willing to admit the new movement.
The logistic function creates a smooth transition rather than a hard on/off switch.
This is important because a binary threshold could cause abrupt changes whenever the score moves slightly above or below one exact value.
Innovation Threshold
The Innovation Threshold determines where the gate begins moving from a quiet state toward an active state.
Higher values:
Require a larger volatility-normalised innovation.
Keep the filter conservative for longer.
Reject more moderate changes.
Lower values:
Open the gate sooner.
Increase responsiveness.
Allow smaller movements to influence the estimate.
The threshold should be interpreted in relation to the selected volatility model.
Gate Sharpness
Gate Sharpness controls how rapidly the logistic gate transitions around the threshold.
Lower sharpness:
Creates a gradual transition.
Produces a wider intermediate region.
Changes responsiveness smoothly.
Higher sharpness:
Makes the gate behave more like a hard switch.
Creates a faster transition near the threshold.
Produces stronger separation between quiet and active states.
An extremely high value can make the adaptive behaviour abrupt, while a low value may reduce the distinction between quiet and active conditions.
Admission Floor
The gate is converted into an admission value.
The Admission Floor ensures that the filter never completely ignores the Hull projection.
The admission calculation is:
Admission = Floor + (1 - Floor) × Gate
When the gate is near zero:
Admission remains near the selected floor.
When the gate is near one:
Admission approaches one.
A lower floor creates stronger filtering during quiet conditions.
A higher floor keeps the model more responsive even when innovation is small.
This setting prevents the estimator from becoming fully frozen.
Stage 5: Adaptive recursive update
The admission and gate values modify two uncertainty terms:
Measurement noise.
Process noise.
These terms control how the recursive filter balances its existing estimate against the new Hull observation.
Measurement Noise
Measurement Noise represents uncertainty in the incoming Hull projection.
Higher measurement noise tells the filter:
Trust the new observation less.
Remain closer to the previous estimate.
Produce more smoothing.
Lower measurement noise tells the filter:
Trust the Hull projection more.
Correct the estimate more aggressively.
Become more responsive.
The script adapts measurement noise using the admission value:
Adaptive Measurement Noise = Base Measurement Noise / Admission
When admission is low:
Measurement noise increases.
The new Hull movement receives less weight.
When admission is high:
Measurement noise moves closer to its base value.
The filter becomes more receptive.
Process Noise
Process Noise represents uncertainty in the filter’s current state model.
Higher process noise tells the estimator:
The underlying trend may be changing.
The previous estimate may no longer be reliable.
Allow faster adaptation.
Lower process noise tells it:
Assume the existing state remains relatively stable.
Change the estimate more cautiously.
The script increases process noise as the gate opens:
Adaptive Process Noise = Base Process Noise × (1 + Process Boost × Gate)
This creates a two-sided adaptive response.
During quiet conditions:
Measurement noise increases.
Process noise remains closer to its base level.
The filter resists small changes.
During high-innovation conditions:
Measurement noise decreases toward its normal value.
Process noise increases.
The filter becomes substantially more responsive.
Process Boost
Process Boost controls how strongly the process uncertainty expands when the gate opens.
Higher values:
Allow faster response to large innovations.
Increase the filter gain during active movement.
Can make the model more sensitive after shocks.
Lower values:
Keep behaviour closer to the base recursive filter.
Produce more controlled adaptation.
May respond more slowly to genuine regime changes.
Covariance and filter gain
The recursive filter maintains an internal covariance representing uncertainty in its estimate.
Before the new observation is processed:
Predicted Covariance = Previous Covariance + Adaptive Process Noise
The filter gain is then:
Gain = Predicted Covariance / (Predicted Covariance + Adaptive Measurement Noise)
The gain remains between zero and one.
A low gain means:
The previous estimate receives more influence.
The Hull observation receives less influence.
A high gain means:
The filter moves more strongly toward the current Hull projection.
The new estimate is:
Filtered Hull = Prediction + Gain × Innovation
The covariance is then updated for the next bar.
Why the filter is innovation-gated
A normal recursive filter may use constant process and measurement noise settings.
That means its responsiveness is broadly fixed.
This indicator changes those terms according to the size of the innovation.
The model therefore behaves differently under two broad conditions.
Quiet condition
When the Hull projection remains close to the prior estimate relative to volatility:
Innovation score is low.
Gate remains mostly closed.
Admission is limited.
Adaptive measurement noise rises.
Process noise remains lower.
Filter gain falls.
The filtered Hull changes more slowly.
Active condition
When the Hull projection moves meaningfully away from the prior estimate:
Innovation score rises.
Gate opens.
Admission approaches one.
Measurement noise decreases.
Process noise increases.
Filter gain rises.
The estimate adapts more quickly.
This allows the model to filter small movement without applying the same degree of resistance to every large move.
Stage 6: Innovation-adaptive Supertrend bands
The filtered Hull becomes the centre of the Supertrend calculation.
The initial raw bands are:
Upper Band = Filtered Hull + Factor × ATR
Lower Band = Filtered Hull - Factor × ATR
The Supertrend uses its own ATR Period, which is independent of the volatility length used by the innovation score.
This distinction is important:
Innovation volatility determines whether the filter should admit new information.
Supertrend ATR determines the distance of the trailing regime bands.
Adaptive band factor
When Adapt Bands With Innovation is enabled, the Supertrend factor changes according to the gate.
The adaptive factor is:
Adaptive Factor = Base Factor ×
When the gate is near one:
The adaptive factor approaches the base factor.
Bands become relatively tighter.
The Supertrend can respond more readily.
When the gate is near zero:
The factor expands above its base value.
Bands become wider.
Minor price fluctuations are less likely to cause a reversal.
This creates coordinated adaptation:
Quiet conditions produce stronger filtering and wider bands.
Active conditions produce faster filtering and narrower bands.
The same innovation state therefore influences both the centre estimate and the trailing threshold.
Quiet Band Expansion
Quiet Band Expansion controls how much wider the Supertrend factor becomes when the innovation gate is closed.
A value of zero disables the expansion effect even if band adaptation is enabled.
Higher values:
Create wider bands during low-innovation conditions.
Reduce quiet-market reversals.
Delay new signals until price moves further.
Lower values:
Keep the adaptive factor closer to its base setting.
Allow more responsive regime changes.
The expansion is greatest when the gate is near zero and fades as the gate opens.
Supertrend trailing logic
The raw upper and lower bands are converted into one-sided trailing bands.
The lower band is prevented from moving downward while price remains above its previous value.
The upper band is prevented from moving upward while price remains below its previous value.
This ratcheting behaviour creates:
A rising lower trail during bullish conditions.
A falling upper trail during bearish conditions.
A trend change occurs when price crosses the active opposing boundary.
In a bullish regime:
The lower band is the active Supertrend.
In a bearish regime:
The upper band is the active Supertrend.
ATR Period and Factor
ATR Period
Controls the volatility horizon used to construct the Supertrend bands.
Lower values:
React faster to current range changes.
Produce more variable band widths.
Higher values:
Produce a steadier range estimate.
Respond more slowly to sudden volatility changes.
Factor
Controls the base distance between the filtered Hull and the Supertrend bands.
Lower factors:
Create tighter bands.
Produce earlier regime changes.
Increase sensitivity to noise.
Higher factors:
Create wider bands.
Produce fewer regime changes.
Increase confirmation delay.
When adaptation is enabled, the selected factor acts as the minimum or active-condition factor. Quiet conditions may expand it further.
Trend signals
The indicator generates a long signal when the Supertrend changes into its bullish state.
It generates a short signal when the Supertrend changes into its bearish state.
The signal requires the completed calculation chain:
Hull projection.
Innovation filtering.
Adaptive band factor.
Supertrend regime change.
The plotted symbols are:
𝕃 for a bullish transition.
𝕊 for a bearish transition.
These markers identify regime changes. They are not complete trading systems and do not define stop placement, position size or profit targets.
Innovation impulse alert
The script also includes an Innovation Impulse alert.
This occurs when the innovation score crosses above the selected Innovation Threshold.
It indicates that:
The difference between the Hull projection and the recursive estimate has become large relative to volatility.
The gate is entering a more active state.
The filter is beginning to admit new information more aggressively.
An innovation impulse does not necessarily produce an immediate Supertrend reversal.
It can occur:
During acceleration within an existing trend.
At the beginning of a possible regime change.
During a temporary volatility shock.
It is therefore best interpreted as an information-arrival event rather than an automatic long or short signal.
Visual components
Hull Projection
Displays the unfiltered Hull Moving Average input.
This is useful for comparing:
The responsive raw projection.
The innovation-filtered result.
The final Supertrend.
The Hull projection will generally react first.
Filtered Hull
Displays the recursive innovation-gated estimate.
The distance between the Hull projection and filtered Hull helps illustrate the filter’s current behaviour.
During quiet conditions:
The filtered Hull may lag behind small changes.
During meaningful innovations:
It can move more rapidly toward the Hull projection.
IGH Supertrend
Displays the final volatility trail around the filtered Hull.
It is the primary regime output.
The line is coloured according to the persistent bullish or bearish trend state.
Candle colouring
Candles may be coloured according to the active Supertrend regime:
Bullish colour during the long regime.
Bearish colour during the short regime.
This provides immediate chart-wide directional context.
How to interpret the indicator
Bullish regime
A bullish regime indicates that price has crossed into the bullish side of the adaptive Supertrend structure.
The active trail is positioned below the market and can be interpreted as:
A dynamic trend boundary.
A possible pullback reference.
A regime invalidation guide.
Bearish regime
A bearish regime indicates that price has crossed into the bearish side of the adaptive structure.
The active trail is positioned above the market and may act as:
Dynamic resistance.
A rally reference.
A bearish regime invalidation guide.
Low innovation score
A low score means the current Hull movement is small relative to volatility.
The model responds by:
Filtering more strongly.
Reducing admission.
Using a lower recursive gain.
Potentially expanding the Supertrend bands.
This is intended to reduce reactions to small fluctuations.
High innovation score
A high score means the Hull projection has changed substantially relative to volatility.
The model responds by:
Opening the gate.
Increasing admission.
Increasing process uncertainty.
Raising the filter gain.
Reducing quiet-condition band expansion.
This allows a faster response when the incoming information is more significant.
Rising Hull without a trend flip
The Hull projection may turn before the filtered Hull or Supertrend.
This means:
The fast input has changed.
The adaptive filter has not yet admitted enough of that change.
The Supertrend boundary has not yet been crossed.
This is not an error. It demonstrates the staged confirmation design.
Innovation impulse without trend reversal
An innovation impulse can occur without a long or short signal.
This may indicate:
Acceleration in the existing trend.
A volatility shock.
An attempted reversal that has not crossed the Supertrend.
The Supertrend remains the final regime layer.
How to use the indicator
1. Trend regime filter
Use the active Supertrend state to filter another entry method:
Prioritise long setups during bullish regimes.
Prioritise short setups during bearish regimes.
2. Pullback framework
In a bullish regime, pullbacks toward the Supertrend may represent tests of the active trend boundary.
In a bearish regime, rallies toward the Supertrend may represent resistance tests.
A touch alone does not guarantee continuation.
3. Innovation monitoring
The innovation alert can be used to identify when the model detects a meaningful change in its input.
This may help direct attention to:
Fresh acceleration.
Breakout attempts.
Possible trend transitions.
4. Confirmation framework
The three optional lines can be read as a progression:
Hull projection changes first.
Filtered Hull adapts according to innovation.
Supertrend confirms the final regime.
This allows users to study the difference between early movement and confirmed structure.
5. Trailing risk reference
The final Supertrend may be used as a visual trailing reference.
However, it does not account for:
Account size.
Position size.
Slippage.
Liquidity.
Maximum acceptable loss.
It should not replace a complete risk-management process.
Parameter interaction
The settings should not be tuned independently without considering how they interact.
More responsive configuration
A more responsive setup may use:
Lower Hull Length.
Lower Innovation Threshold.
Higher Admission Floor.
Lower Measurement Noise.
Higher Process Noise or Process Boost.
Lower Supertrend Factor.
Lower Quiet Band Expansion.
This will generally produce earlier changes but more noise.
More conservative configuration
A more conservative setup may use:
Higher Hull Length.
Higher Innovation Threshold.
Lower Admission Floor.
Higher Measurement Noise.
Lower Process Boost.
Higher Supertrend Factor.
Higher Quiet Band Expansion.
This will generally create fewer transitions but greater delay.
Balanced interpretation
Changing several settings in the same direction can produce an extreme result.
For example:
A very low threshold, high admission floor, large process boost and tight Supertrend factor may overreact.
A very high threshold, low admission floor, high measurement noise and wide Supertrend factor may respond excessively slowly.
The appropriate balance depends on the instrument, timeframe and intended holding period.
How this differs from a standard Hull trend indicator
A standard Hull trend indicator normally uses:
Hull slope.
Price crossing the Hull.
A fast and slow Hull comparison.
This indicator instead:
Uses the Hull as an observation.
Measures its disagreement with a recursive estimate.
Normalises that disagreement by volatility.
Adapts the filter gain according to the innovation.
Applies a final Supertrend regime around the filtered result.
The Hull is therefore the beginning of the model, not the final signal.
How this differs from a fixed Kalman-style filter
A fixed recursive filter uses constant uncertainty settings.
Innovation-Gated Hull Supertrend adapts both measurement and process uncertainty according to the normalised innovation.
This means:
Small innovations are filtered more heavily.
Large innovations receive greater admission.
The response speed is therefore state dependent.
How this differs from a standard Supertrend
A standard Supertrend is commonly centred around a raw price reference such as HL2.
This indicator uses:
A responsive Hull projection.
An innovation-gated recursive estimate of that projection.
An optionally adaptive band multiplier.
The Supertrend is therefore built around a filtered trend estimate rather than raw price alone.
Strengths
Combines responsive and stable trend-processing stages.
Normalises new movement by current volatility.
Uses a smooth gate rather than a binary threshold.
Adapts measurement and process uncertainty.
Can widen trend bands during quiet conditions.
Can respond more rapidly to meaningful innovations.
Separates early movement from final regime confirmation.
Supports ATR, standard deviation and blended volatility models.
Provides trend, impulse and visual comparison outputs.
Limitations
The indicator is reactive rather than predictive.
Strong filtering can delay genuine reversals.
Responsive settings can increase whipsaws.
A large innovation may represent a temporary shock rather than a lasting trend.
Supertrend signals still depend on ATR and price crossing behaviour.
Parameter combinations can materially change the model’s behaviour.
The indicator may require different settings across assets and timeframes.
The recursive state develops from the available chart history.
Values can update while the current real-time candle is still forming.
Causality and real-time behaviour
The calculation uses current and historical observations without future-looking references.
However, like most indicators calculated on live candles, the current bar’s values can change before the candle closes.
This means:
The Hull projection may move intrabar.
The innovation score and gate may change intrabar.
A Supertrend transition may appear and disappear before confirmation.
Users requiring confirmed signals should evaluate the indicator at bar close or configure alerts accordingly.
Alerts
The indicator provides three alert conditions:
IGH ST Long: the adaptive Supertrend changes into a bullish regime.
IGH ST Short: the adaptive Supertrend changes into a bearish regime.
IGH Impulse: the normalised innovation score crosses above the selected threshold.
The impulse alert identifies increased information flow into the filter. It does not specify direction by itself because the innovation score uses the absolute size of the prediction error.
Summary
Innovation-Gated Hull Supertrend combines a responsive Hull Moving Average, a volatility-normalised innovation gate, an adaptive recursive filter and a volatility-trailing Supertrend.
The Hull projection provides an early estimate of directional movement. The recursive filter compares that projection with its prior state and measures the resulting innovation relative to ATR, standard deviation or a blend of both.
A logistic gate then determines how strongly the new movement should be admitted. During quiet conditions, the filter becomes more conservative and the Supertrend bands can expand. During meaningful displacement, the filter becomes more responsive and the bands move closer to their base width.
The final Supertrend converts the adaptive estimate into a persistent bullish or bearish regime.
The indicator is designed to make responsiveness conditional rather than fixed: small movements receive stronger filtering, while larger volatility-adjusted innovations are allowed to influence the model more quickly.
Gösterge

Trend State Signals Trend State Signals is an adaptive trend-state indicator designed to identify changes in market direction while filtering out insignificant price fluctuations.
Instead of reacting to every short-term price movement, the indicator updates its state only when price travels far enough to exceed a dynamically calculated movement threshold.
The result is a step-like trend line that remains stable during periods of market noise and changes direction only after a meaningful price movement has occurred.
Unlike many traditional trend-following indicators that continuously track price, Trend State Signals intentionally ignores minor fluctuations, providing a cleaner and more objective view of whether the market is currently in a bullish or bearish state.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ How It Works
The indicator estimates the current level of market activity by measuring the average absolute price movement over a user-defined lookback period.
Unlike many similar indicators, ATR is not used. Instead, the calculation follows these steps:
✔️ The absolute price change is calculated for every bar.
✔️ These values are smoothed using a Running Moving Average (RMA).
✔️ The smoothed result becomes a dynamic estimate of current market volatility.
✔️ This value is multiplied by the Range Multiplier, defining the minimum distance price must travel before the filter is allowed to update.
This adaptive threshold determines how far price must move before the internal filter changes its position.
If price remains inside the calculated range, the filter stays unchanged.
Once price exceeds that range, the filter shifts toward price while maintaining the adaptive distance.
Because the filter only updates after meaningful price expansion, the indicator naturally filters out a large amount of random market noise and significantly reduces unnecessary trend changes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Trend State Detection
The market state is determined solely by the direction of the adaptive filter.
🟢 Filter moving upward → Bullish
🔴 Filter moving downward → Bearish
⚪ Filter unchanged → Previous market state is maintained
Signals are generated only when the filter changes direction.
Rather than producing continuous buy or sell signals on every candle, the indicator highlights transitions between bullish and bearish market environments.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Signal Confirmation
The indicator includes an optional signal confirmation mode.
When Confirm Signals On Bar Close is enabled, a new trend state is confirmed only after the current candle has closed.
When disabled, trend changes can appear immediately while the current bar is still forming.
This allows traders to choose between earlier signals or additional confirmation.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎛 Settings
Sensitivity Length
Defines the lookback period used to calculate the average market movement.
• Lower values make the indicator more responsive.
• Higher values produce a smoother adaptive filter.
Range Multiplier
Controls how much price movement is required before the filter changes its state.
Higher values
✔️ Fewer trend changes
✔️ Stronger noise filtering
✔️ Smoother trend line
Lower values
✔️ Earlier reactions
✔️ More frequent state changes
✔️ Higher sensitivity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 Visual Features
The indicator includes several independent visualization options, each of which can be enabled or disabled separately.
✔️ Adaptive Trend Line
✔️ Glow Effect
✔️ Gradient Ribbon Between Price and Filter
✔️ Bullish / Bearish Transition Labels
✔️ Optional Candle Coloring
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 Alerts
Two alert conditions are available.
🟢 Bullish Trend State
🔴 Bearish Trend State
Alerts are triggered only when a new trend state is confirmed according to the selected confirmation mode.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 Typical Use
Trend State Signals is primarily designed as a market state filter rather than a complete trading system.
It can be used to:
✔️ Identify the dominant market direction
✔️ Filter signals generated by other trading strategies
✔️ Trade only in the direction of the prevailing trend
✔️ Reduce trades caused by short-term market noise
Like any trend-following methodology, the indicator confirms trend changes only after the market has moved a sufficient distance. As a result, signals may appear after the initial turning point. This is an intentional design choice that helps reduce the impact of random price fluctuations while improving trend stability. Gösterge

ATR Stop Loss Calibrator - Volatility Exit LadderATR Stop Loss Calibrator - Volatility Exit Ladder is an ATR-based exit-reference overlay designed to compare multiple volatility-scaled price distances from a user-selected reference.
The script does not generate entries, market-direction signals, take-profit targets, position sizes, trade recommendations, or broker orders. The terms "Long" and "Short" only identify whether an ATR distance is drawn below or above the active reference price.
Its primary purpose is to help users study how different ATR multipliers, reference models, ATR update policies, and ratcheting methods affect potential exit-reference levels.
Core calculation
The script first calculates True Range as:
True Range = max(
High - Low,
abs(High - Previous Close),
abs(Low - Previous Close)
)
The selected smoothing method is then applied to True Range to calculate ATR.
The available ATR smoothing methods are:
Wilder RMA
EMA
SMA
WMA
Each ladder level is calculated from the active reference price and the ATR value currently in use:
Long Tier n = Reference - ATR Used x Tier Multiplier n
Short Tier n = Reference + ATR Used x Tier Multiplier n
The default multipliers are:
Tier 1 = 1.0 ATR
Tier 2 = 2.0 ATR
Tier 3 = 3.0 ATR
Users can freely modify all three multipliers.
The script keeps the effective tiers in strictly ascending order. If the entered values are out of sequence, the levels are normalized using a minimum 0.05 ATR separation. The readout reports when this normalization has occurred.
Core tier
One of the three tiers can be selected as the Core reference tier.
The Core tier:
Receives the strongest visual emphasis
Is used for the Long and Short cushion calculations
Is used by the reach-state logic
Is used by the core-level alert conditions
The other two tiers remain visible as secondary reference distances.
This makes it possible to compare a primary exit-distance assumption against tighter and wider alternatives without treating every line as equally important.
Reference models
The script provides six reference models.
1. Confirmed bar step
This is the default model.
It uses the selected source value from the previous completed bar together with the previous completed ATR value.
With the default Close source, the levels are recalculated from the prior bar's confirmed close.
This mode updates once per completed bar and is intended for users who prefer stable, confirmed-bar reference values.
2. Live rolling
This model uses the selected source value and developing ATR value from the current bar.
The levels can therefore move while the realtime bar is open.
This mode is intended for users who deliberately want an intrabar volatility ruler rather than a completed-bar reference.
3. Daily snapshot
This model creates a reference at the beginning of each new daily period.
The reference can use either:
The new period's opening price
The previous chart bar's closing price
4. Weekly snapshot
This model uses the same snapshot process at the beginning of each new weekly period.
5. Monthly snapshot
This model uses the same snapshot process at the beginning of each new monthly period.
6. Manual anchor
This model allows the user to enter an independent reference price and start time.
The anchor begins on the first chart bar whose opening time is at or after the selected timestamp.
This can be used to study ATR distances from a price chosen through the user's own analysis. The script does not decide where the manual reference should be placed.
ATR behavior for locked references
Daily, Weekly, Monthly, and Manual references are locked-reference models.
For these models, the ATR value can operate in one of three ways.
Frozen at anchor
The ATR captured when the reference begins remains fixed until the reference resets.
This creates a stable volatility unit for the entire reference cycle.
Confirmed each bar
The reference price remains locked, while the ATR distance is recalculated from the previous completed bar.
This allows the ladder width to adapt to confirmed changes in volatility without moving the underlying reference price.
Live each bar
The reference price remains locked, while the developing ATR value is used.
The ladder can therefore expand or contract while the realtime bar is open.
Exit-distance behavior
Locked-reference models also provide three level behaviors.
1. Non-ratcheting ladder
Each level remains a direct ATR distance from the locked reference.
The levels may still change if Confirmed each bar or Live each bar is selected as the ATR update policy.
2. Immediate ratchet
The ratchet activates as soon as the reference cycle begins.
For the Long side, the script tracks the highest favorable price reached after the anchor and allows the levels to move upward, but not downward.
For the Short side, the script tracks the lowest favorable price reached after the anchor and allows the levels to move downward, but not upward.
3. Delayed ratchet
The ratchet remains inactive until price has moved favorably by a user-selected number of anchor ATR units.
The activation distance is measured from the locked reference using the ATR captured when the reference cycle began.
After activation, the Long levels can only tighten upward and the Short levels can only tighten downward.
Ratchet update timing
Ratchet calculations can use either:
Confirmed bars
Live extremes
Confirmed bars update the favorable extreme and ratchet levels only after a bar closes.
Live extremes allow the ratchet to respond to the developing high or low of the current realtime bar.
Reach evaluation
The selected Core tier can be evaluated using either Close or Wick logic.
Close mode
A Long Core level is considered reached when the closing price is at or below the level.
A Short Core level is considered reached when the closing price is at or above the level.
Wick mode
A Long Core level is considered reached when the bar's low touches or crosses the level.
A Short Core level is considered reached when the bar's high touches or crosses the level.
Confirmed-bar events are enabled by default.
When confirmed-bar ratcheting is used, the current bar is evaluated against the level that existed before that bar was completed. The script does not tighten a level from the current bar's favorable extreme and then assume that the same bar subsequently reached that newly calculated level.
This avoids making an unsupported assumption about whether the bar's high or low occurred first.
The detailed readout can distinguish between:
Not reached
Wick reached
Close beyond
Visual design
The default chart view uses a compact current-level projection rail near the latest bars.
It does not draw six full-width historical bands across the entire chart by default.
The rail includes:
A dashed reference level
Three optional Long-side ATR levels
Three optional Short-side ATR levels
A solid, visually emphasized Core tier
Dotted or dashed secondary tiers
A compact vertical spine connecting each side's visible levels
The Long side uses cyan by default.
The Short side uses pink by default.
The active reference uses yellow by default.
All colors, line widths, visible tiers, rail length, right extension, tag size, and display options can be modified.
Right-edge tags
The default Core only setting displays no more than three primary tags:
Reference
Long Core
Short Core
An All tiers mode is available for users who want to inspect every individual level.
The tags can also be disabled.
Historical research view
The historical ATR path is disabled by default to preserve candle visibility.
When enabled, it displays the recent history of the reference and selected tiers over a user-defined number of bars.
An optional historical ribbon can be added between the reference and the selected Core tier.
The historical view is intended for research and comparison. The compact current rail remains the default presentation.
Readout
The compact readout summarizes:
Active reference price
ATR value in use
ATR as a percentage of the reference
Selected Core tier and multiplier
Long Core price and remaining cushion in ATR units
Short Core price and remaining cushion in ATR units
Current display status
The detailed layout additionally shows:
Reference model
Locked-reference behavior
Ratchet activation state
Core-level reach state
The panel location and text size can be changed from the settings.
Data Window outputs
The script provides the following research values in TradingView's Data Window:
Active reference
ATR used
ATR as a percentage of the reference
Long Tier 1
Long Tier 2
Long Tier 3
Short Tier 1
Short Tier 2
Short Tier 3
Long Core
Short Core
Long cushion in ATR units
Short cushion in ATR units
These outputs allow users to inspect exact numerical values without adding more text to the chart or indicator status line.
Alerts
The following alert conditions are available:
Long ATR Core reference reached
Short ATR Core reference reached
Any displayed ATR Core reference reached
Long delayed ratchet activated
Short delayed ratchet activated
Locked ATR reference reset
Reach alerts follow the selected Close or Wick test and the Confirmed-bar events setting.
Suggested workflow
1. Select whether to display Both sides, Long only, or Short only.
2. Choose the reference model that matches the intended study.
3. Select the ATR length and smoothing method.
4. Enter three ATR multipliers and choose the primary Core tier.
5. For Daily, Weekly, Monthly, or Manual references, select the ATR update policy and optional ratchet behavior.
6. Select Close or Wick reach evaluation.
7. Keep Confirmed-bar events enabled when stable completed-bar alerts are preferred.
8. Use the compact current rail for normal chart viewing.
9. Enable the historical path only when reviewing how the levels behaved across recent bars.
Example research configurations
Confirmed bar step can be used to compare current price with ATR distances calculated from the prior completed bar.
Daily snapshot with Frozen at anchor can be used to maintain one fixed volatility unit from the daily period open or previous close.
Manual anchor with Delayed ratchet can be used to study how an independently selected reference would behave after a favorable ATR-based excursion.
These are research configurations, not trade recommendations.
Default configuration
The default configuration uses:
Both Long and Short sides
Confirmed bar step
Close as the rolling reference source
ATR length 14
Wilder RMA smoothing
1.0, 2.0, and 3.0 ATR tiers
Tier 2 as the Core tier
Non-ratcheting behavior
Close-based reach evaluation
Confirmed-bar events
Current projection rail enabled
Historical path disabled
Reach markers disabled
Core-only right-edge tags
Compact readout
Calculation behavior
The default Confirmed bar step model uses completed-bar source and ATR values.
The default confirmed event setting also waits for the bar to close before generating a reach event.
Live rolling, Live each bar, Live extremes, or disabling confirmed-bar events intentionally allows values or event states to change while the realtime bar is developing.
The lines projected to the right side of the latest bar are visual extensions only. They do not access future prices or future chart data.
Limitations
ATR is a backward-looking measurement of historical price range. It does not predict future volatility, market direction, reversal probability, or execution quality.
The displayed levels are analytical references. They are not stop orders and are not transmitted to a broker.
Actual order execution may differ from a displayed level because of gaps, spread, slippage, liquidity, market closures, broker rules, or instrument-specific contract conditions.
Results depend on the chart symbol, timeframe, available price history, exchange calendar, and data feed.
Synthetic chart types can produce levels from synthetic OHLC values rather than directly traded prices. Standard price charts are preferable when the levels are being compared with executable market prices.
A narrower ATR multiple is not automatically better, and a wider multiple is not automatically safer. Appropriate distances depend on the user's method, holding period, instrument, risk limits, and execution environment.
"Calibrator" refers to the visual comparison of user-selected ATR distances. The script does not optimize settings, score multipliers, or identify a best parameter.
This indicator is provided for analytical and educational use. It does not constitute investment, financial, or trading advice. All analysis, risk decisions, and order placement remain the user's responsibility. Gösterge

TEWMA Slope Oscillator - [JTCAPITAL]TEWMA Slope Oscillator - is a modified way to use a Triple Exponential Weighted Moving Average (TEWMA), normalized slope analysis, ATR volatility normalization, and exponential smoothing for Trend-Following and Momentum Analysis.
Unlike traditional oscillators that are derived directly from price, this indicator measures the rate of change (slope) of a custom TEWMA trend line. By normalizing this slope with the Average True Range (ATR), the oscillator becomes volatility-adjusted, allowing trend strength to be compared across different market conditions. This makes the indicator useful for identifying whether trends are merely moving, or accelerating with meaningful momentum.
The indicator works by calculating in the following steps:
Weighted Price Smoothing
The selected price source (Close by default, although any TradingView source can be selected) is first smoothed using a Weighted Moving Average (WMA). Unlike a Simple Moving Average, the WMA gives progressively greater importance to the most recent price bars while still considering historical data. This reduces market noise while allowing the moving average to react faster to recent changes.
Rather than relying on a single smoothing period, the script prepares two separate smoothing lengths:
The original TEWMA Length.
A second length calculated as the original length multiplied by the user-defined Length Multiplier.
This creates two trend measurements that represent both medium-term and slower market behavior.
Triple Exponential Processing (TEMA)
Each Weighted Moving Average is then processed using a Triple Exponential Moving Average (TEMA).
The Triple Exponential Moving Average is specifically designed to reduce lag while maintaining smoothness. Traditional moving averages often delay reactions because every layer of smoothing introduces additional latency. TEMA compensates for much of this lag mathematically by combining multiple exponential averages into a single result.
Applying TEMA on top of the Weighted Moving Average creates a very responsive yet smooth trend estimate that filters insignificant fluctuations while remaining sensitive to genuine trend changes.
Dual TEWMA Construction
Instead of relying on only one moving average, the indicator calculates two separate TEWMAs:
One using the original period.
One using the multiplied period.
The final TEWMA becomes the average of these two curves.
Averaging both trend estimates balances responsiveness with stability. The shorter TEWMA reacts more quickly to new market information, while the longer TEWMA filters larger amounts of noise. Combining both produces a smoother trend representation that avoids becoming overly reactive while still responding efficiently to changing market conditions.
Trend Direction Detection
The script continuously compares the current TEWMA with its previous value.
If today's TEWMA is higher than the previous value, the trend is considered bullish.
If today's TEWMA is lower than the previous value, the trend is considered bearish.
The indicator stores this direction internally and uses it for its visual coloring, making bullish periods immediately recognizable in blue while bearish periods appear in purple.
Slope Calculation
After constructing the final TEWMA, the script measures its slope.
Rather than measuring price itself, the oscillator calculates:
"The difference between today's TEWMA and yesterday's TEWMA."
This produces a measurement of how quickly the trend itself is changing.
Positive values indicate the trend is rising.
Negative values indicate the trend is falling.
Larger absolute values indicate stronger acceleration.
Smaller values near zero indicate slowing momentum or sideways conditions.
ATR Normalization
Instead of using the raw slope, the script divides the slope by the Average True Range (ATR).
This normalization is one of the defining characteristics of the indicator.
Without ATR normalization, identical price movements would appear much larger on low-priced assets than on expensive assets.
By dividing by ATR:
Large volatility environments become comparable with quiet markets.
Different assets become easier to compare.
Oscillator values represent trend strength relative to current market volatility rather than raw price movement.
The result is a dimensionless momentum measurement that remains much more consistent across instruments and timeframes.
EMA Signal Smoothing
Although the normalized slope already provides valuable information, short-term fluctuations may still produce rapid oscillations.
To improve readability, the script applies an Exponential Moving Average (EMA) directly to the slope values.
This smoothed line acts as a slower confirmation curve.
The raw slope reflects immediate momentum.
The EMA reflects sustained momentum.
Comparing these two allows traders to distinguish between temporary spikes and persistent trend acceleration.
Momentum Zone Detection
The indicator introduces user-defined upper and lower threshold levels.
When the normalized slope exceeds the upper threshold:
-The market is considered to have unusually strong bullish momentum.
When the normalized slope falls below the lower threshold:
-The market is considered to have unusually strong bearish momentum.
The same logic is independently applied to the smoothed EMA line.
Whenever either condition is satisfied, the background color changes to highlight periods of exceptional trend strength.
These zones do not generate trading signals by themselves, but instead emphasize moments where momentum has reached statistically significant levels relative to recent volatility.
Buy and Sell Conditions:
This indicator is intentionally designed as a momentum and trend-strength oscillator rather than a direct entry generator.
Typical bullish interpretation includes:
The TEWMA begins rising.
The normalized slope crosses above zero.
The smoothed EMA also moves above zero.
The oscillator continues accelerating toward or above the upper threshold.
Typical bearish interpretation includes:
The TEWMA begins falling.
The normalized slope crosses below zero.
The smoothed EMA confirms the move below zero.
The oscillator continues toward or below the lower threshold.
Because both the raw slope and its EMA are displayed simultaneously, traders can judge whether momentum is strengthening, weakening, or beginning to reverse before the underlying trend itself changes direction.
The threshold values can be adjusted depending on trading style:
Lower threshold values produce earlier but more frequent momentum alerts.
Higher threshold values require stronger momentum before highlighting extreme conditions, reducing market noise.
The smoothing period can also be increased or decreased depending on whether faster or more conservative confirmation is preferred.
Features and Parameters:
Source
Selects which price source is used for all calculations.
TEWMA Length
Controls the primary Weighted Moving Average and TEMA calculation period.
Length Multiplier
Creates the second TEWMA period by multiplying the original length, allowing the indicator to combine two different trend horizons.
Smoothed Length
Determines the EMA period applied to the normalized slope.
Upper Threshold
Defines the bullish momentum level where background highlighting begins.
Lower Threshold
Defines the bearish momentum level where background highlighting begins.
ATR Length
Controls the Average True Range period used to normalize slope values.
Dual Oscillator Display
Shows both the raw normalized slope and its EMA simultaneously.
Dynamic Coloring
Automatically colors bullish momentum blue and bearish momentum purple.
Background Momentum Zones
Highlights periods where either the raw slope or smoothed slope exceeds user-defined strength thresholds.
Specifications:
Weighted Moving Average (WMA)
The Weighted Moving Average assigns progressively larger weights to newer prices while assigning smaller weights to older observations. This allows the moving average to respond faster than a Simple Moving Average while still maintaining smoothness. Because recent market activity receives greater influence, the WMA provides an excellent foundation for responsive trend calculations.
Triple Exponential Moving Average (TEMA)
The Triple Exponential Moving Average is designed to significantly reduce lag compared to traditional moving averages. Instead of relying on a single exponential smoothing process, TEMA mathematically combines multiple exponential averages to compensate for the delay introduced by smoothing. This produces a trend line that reacts quickly while maintaining a clean appearance.
TEWMA (Triple Exponential Weighted Moving Average)
The TEWMA combines the advantages of a Weighted Moving Average with the lag-reduction properties of the Triple Exponential Moving Average. The result is a trend estimate that reacts rapidly to meaningful price movement while filtering much of the short-term market noise that can affect conventional moving averages.
Dual-Length Averaging
Instead of relying on one smoothing horizon, the indicator averages two independently calculated TEWMAs. Combining a faster and slower trend estimate helps reduce false directional changes while preserving responsiveness. This dual-length construction creates a more balanced representation of market structure than either length would provide individually.
Slope
Slope measures how quickly the TEWMA itself changes from one bar to the next. Rather than evaluating where price is located, the indicator evaluates how rapidly the trend line is moving. Increasing positive slope reflects accelerating bullish momentum, while increasingly negative slope reflects accelerating bearish momentum.
Average True Range (ATR)
Average True Range measures recent market volatility by considering both daily ranges and price gaps. ATR does not indicate trend direction but instead measures how much price typically moves. Dividing the slope by ATR converts raw movement into a volatility-adjusted measurement, making momentum readings far more consistent across different instruments and market environments.
ATR Normalization
Normalization removes much of the distortion caused by differing price scales and volatility regimes. A movement that appears large on one market may be insignificant on another. By scaling the slope using ATR, the oscillator expresses momentum relative to current market conditions rather than absolute price movement.
Exponential Moving Average (EMA)
The EMA applied to the slope acts as a momentum confirmation filter. Because exponential averages place greater emphasis on recent observations, the smoothed oscillator follows changes efficiently while filtering much of the short-term fluctuation present in the raw slope.
Momentum Oscillator
Unlike oscillators derived directly from price, this oscillator measures the strength and speed of the underlying trend itself. Positive readings indicate bullish trend acceleration, negative readings indicate bearish acceleration, and values near zero indicate weakening momentum or balanced market conditions.
Threshold Levels
The upper and lower thresholds define momentum zones where the normalized slope has become unusually strong relative to recent volatility. These levels are fully customizable, allowing traders to adapt the indicator to different markets, trading styles, and volatility environments.
Trend Momentum Confirmation
Displaying both the raw normalized slope and its smoothed EMA provides two perspectives on market momentum. The raw slope captures immediate changes, while the EMA reflects sustained movement. Together they help distinguish short-lived fluctuations from genuine trend acceleration, making it easier to evaluate the quality and persistence of directional momentum.
Enjoy! Gösterge

VWAP Suite | Trend & Mean Reversion with Adaptive FiltersOverview
This strategy is built around a custom volume-weighted average price (VWAP) engine with standard-deviation bands, and gives you two complete, independently-tuned trading modes in a single script:
Trend Following — trades breakouts/crossovers in the direction of VWAP's own momentum
Mean Reversion — trades stretched price extremes back toward VWAP, filtered for low-trend conditions
Rather than assuming one style of market behavior, this script lets you choose the mode that matches what you're trading — a trending momentum stock, or a calmer range-bound one — and includes a layered filter system designed to keep you out of low-quality setups in either mode.
How VWAP Is Calculated
VWAP weights price by the volume traded at that price, rather than treating all price ticks equally — so it reflects where the real trading activity concentrated, not just a simple average.
This script computes it manually (not via a black-box built-in), which allows for flexible anchoring:
Session — resets daily (best for lower timeframes, intraday charts)
Week — resets weekly (better for 1H–4H charts)
Month — resets monthly (for swing/position-style testing)
Standard deviation bands are plotted at three levels (1, 2, and 3 std dev by default), giving visual reference points for "normal," "stretched," and "extreme" price deviation from the volume-weighted average.
Strategy Modes
Trend Following
Looks for price to break through VWAP (or an outer band) in a direction confirmed by VWAP's own slope — the idea being that VWAP acting as support/resistance and trending in your trade's direction adds conviction to the move.
Three selectable entry triggers: VWAP Cross, Band 1 Break, Band 2 Break
VWAP slope filter (with adjustable lookback and minimum slope %) to avoid trading flat/directionless VWAP
Take-profit targets at the opposite band or at VWAP itself
Best suited for: momentum-driven, higher-volatility names where trends persist once established.
Mean Reversion
Looks for price to overextend beyond a chosen band, then trades the snap-back toward VWAP. Includes an ADX filter to specifically avoid taking reversion trades during strongly trending conditions (where "buying the dip" or "fading the rip" is historically much riskier).
Three selectable entry triggers: Outside Band, Band Cross, Band Reclaim (wick-and-recover confirmation — the most conservative/false-signal-resistant option)
ADX filter caps entries below a configurable trend-strength threshold
Maximum VWAP deviation cap (in ATR units) to avoid catching a falling knife on extreme extensions
Best suited for: range-bound, lower-volatility names where price oscillates predictably around a stable average.
Filter System (False-Signal Reduction)
Every entry — in either mode — passes through a shared base filter layer before mode-specific logic is applied:
Volume Filter: Requires volume above a multiple of its recent average, filtering out low-conviction moves
Volatility (ATR) Filter: Requires a minimum ATR (as % of price) to avoid dead, directionless conditions
Band Width Filter: Avoids trading when bands are unusually tight (a sign of indecision and high whipsaw risk)
VWAP Slope Filter (Trend mode): Confirms VWAP itself is moving meaningfully in the trade direction, not just flat
ADX Filter (Mean Reversion mode): Blocks entries when the broader trend is too strong to safely fade
Each filter can be toggled independently, so you can isolate which conditions matter most for the instrument and timeframe you're trading.
Optional Confluence Layer
A secondary indicator can be layered on top of either mode:
RSI — for trend mode, confirms momentum direction; for mean reversion, confirms oversold/overbought exhaustion via a crossover trigger
EMA Regime (200-period default) — acts as a higher-level trend filter, only allowing longs above the EMA and shorts below it
Risk Management
Risk-based position sizing — position size is calculated from your risk % input divided by stop distance, not a fixed share count
Maximum position size cap (% of equity) — acts as a hard ceiling so tight-stop trades can't produce oversized positions
Two stop-loss methods — ATR-multiple based, or band-based (using the outer bands as structural stop references)
Two take-profit methods — opposite band target, or VWAP itself
Optional fixed take-profit lock — freezes the target price at entry rather than letting it drift with VWAP
Optional break-even stop — moves the stop to entry once a configurable ATR-multiple of profit is reached
Visuals
VWAP line color-shifts between two colors depending on whether price is above or below it
Three-tier shaded band system for at-a-glance visual reference of price deviation
Entry markers (triangle up/down) plotted directly on signal bars
Background shading during filtered/no-trade conditions, so you can visually see why the strategy stayed flat
Important Notes Before Use
Match your anchor period to your timeframe. Session anchoring is built for intraday charts; on higher timeframes (2H+), Week or Month anchoring will produce more reliable slope readings, since Session resets can occur every few bars and distort trend measurement.
Backtest results include commission assumptions but not slippage — adjust the commission/slippage settings in the strategy properties to reflect your actual broker before drawing conclusions from performance metrics.
This script is provided for research and educational purposes. Past performance in backtesting does not guarantee future results. Always forward-test on a paper account before committing real capital. Strateji

SBP Structural State DetectorSBP Structural State Detector is a rule-based analytical indicator designed to identify confirmed changes between bullish and bearish structural states. It does not attempt to predict exact market tops or bottoms. Instead, it evaluates whether current price behaviour provides sufficient evidence that the prevailing directional state has changed.
The script uses one integrated calculation process. It does not require another indicator, external script, higher-timeframe data source, or manual confirmation tool.
Core Method
The calculation begins by measuring price-path efficiency. This compares the net movement of price with the total distance travelled over the same period. A more direct price path receives a higher efficiency reading, while irregular movement produces a lower reading.
That efficiency value controls the response rate of an internal structural centre. The centre adapts more quickly when price movement is directional and more slowly when movement is noisy. The centre is used internally and is not drawn as a separate trendline.
A volatility-normalized structural band is then calculated around the internal centre. Its width expands when price behaviour is less efficient and contracts when movement becomes more orderly. This makes the visible band responsive to both volatility and market noise rather than relying on a fixed price distance.
Directional qualification uses five related observations:
1. Price location relative to the internal structural centre.
2. Normalized displacement from that centre.
3. Direction of the structural slope.
4. Volatility-normalized momentum.
5. Candle direction, body expansion, and closing location.
A bullish or bearish candidate must receive the required level of evidence and must exceed the evidence supporting the opposite direction. The condition must then persist before it can reach the final event process.
Signal Behaviour
All events are evaluated on confirmed bars.
The final event process enforces strict alternation. After a BUY event, another BUY cannot be accepted until a SALE event has occurred. After a SALE event, another SALE cannot be accepted until a BUY event has occurred.
The Minimum Signal Gap setting specifies the minimum number of confirmed bars required between accepted opposite-direction events. It is a spacing control and does not create same-direction re-entry signals.
Chart Display
The Structural State Band changes colour according to the last accepted directional state:
Green indicates that the last accepted event was bullish.
Red indicates that the last accepted event was bearish.
Gray indicates that no directional event has yet been accepted in the loaded chart history.
BUY and SALE triangles identify accepted state changes. They are placed outside the candle using an ATR-based visual distance so that the markers remain readable without changing their event bar.
Inputs
Minimum Signal Gap: Controls the minimum number of confirmed bars between accepted opposite-direction events.
Show Structural State Band: Shows or hides the volatility- and noise-adjusted state band.
Show BUY / SALE: Shows or hides accepted event markers.
State Band Transparency: Controls only the visual transparency of the band and does not affect calculations or events.
Alerts
Two alert conditions are available:
SBP Structural BUY Event
SBP Structural SALE Event
Alerts should be created through TradingView's Create Alert dialog. Alert behaviour follows confirmed BUY and SALE events generated by the script.
How to Use
Apply the indicator to a standard candlestick or bar chart. Observe the band colour together with accepted BUY and SALE events. The indicator is intended to provide a consistent structural-state reference that can be considered alongside the user's own entry, exit, position-sizing, and risk-management rules.
Limitations
This is an indicator, not a strategy. It does not place orders, calculate position size, provide stop-loss levels, provide profit targets, or report backtested performance.
Signals are based on historical and current confirmed price data. Confirmation introduces delay, especially when price changes direction rapidly. Sideways or volatile markets can produce alternating state changes. The Minimum Signal Gap can reduce closely spaced events but cannot eliminate false or late signals.
The indicator does not guarantee accuracy, profitability, or future market direction. Past chart behaviour does not ensure similar future behaviour. Use standard charts for signal interpretation and conduct independent analysis before making trading decisions. Gösterge

Quant Regime Oscillator [JOAT]════════════════════════════════
QUANT REGIME OSCILLATOR
════════════════════════════════
A separate-pane composite oscillator that fuses two classic quant signals — how stretched price is from its own mean, and how strong its momentum is relative to recent volatility — into a single bounded line from -100 to +100 . A Kaufman Efficiency Ratio regime filter then decides whether the market is Trending , Mean-Reverting , or Random , so signals only fire when conditions actually support them.
▎ WHAT IT DOES
It condenses mean-deviation and normalized momentum into one clean, smoothed oscillator, classifies the current market regime, and prints sparing BUY / SELL labels only at stretched extremes that align with a trend. A dashboard summarizes every moving part at a glance.
▎ HOW IT WORKS
• Z-Score component — price is measured against its moving mean and standard deviation, then clamped at ±3σ and rescaled to ±100. This captures how far price has deviated from equilibrium.
• Momentum component — rate-of-change is normalized by its own standard deviation (volatility-adjusted), clamped at ±3σ and rescaled to ±100. This measures thrust independent of raw price size.
• Composite blend — the two components are combined using your chosen weights, EMA-smoothed, and clamped into a single -100..+100 oscillator , with an EMA signal line layered on top.
• Regime filter — a Kaufman Efficiency Ratio (directional change ÷ total path) scores 0..1. High values = trending; low values = mean-reverting; in-between = random. Direction is read from price versus its mean.
• Signal gate — a raw BUY needs the oscillator to cross up over its signal, to have recently visited oversold , and to sit inside a trending-up regime. SELL is the mirror. A cooldown enforces a minimum bar gap so labels stay few and never stack.
• Divergence — pivot highs/lows on the oscillator are compared to price pivots to flag regular bullish and bearish divergences.
▎ HOW TO USE IT
• Read the oscillator like a bounded momentum gauge — blue above zero, magenta below. Pushes into the dotted ±80 extreme bands mark exhaustion zones.
• BUY pills appear at oversold turns inside up-trends; SELL pills at overbought turns inside down-trends. Treat them as context-filtered setups, not standalone triggers.
• Use the regime as your playbook: in Trending , favor pullback continuation; in Mean-Rev , fade the band extremes; in Random , stand aside or size down.
• The subtle pane background tint mirrors the regime — blue for trending-up, magenta for trending-down, grey for mean-reverting.
• Divergence dots on the oscillator hint at weakening thrust; combine with your own structure and risk levels.
▎ KEY SETTINGS
• Engine — Z-Score length, Momentum (ROC) length, per-component weights, oscillator smoothing, and signal-line length.
• Regime — Efficiency Ratio window plus the Trending and Mean-Revert thresholds that split the three regimes.
• Signals — Overbought / Oversold levels, OB/OS recall window, minimum bars between signals (cooldown), and divergence pivot length.
• Visuals — toggle the gradient fill, oscillator line, signal line, regime background, and signal markers.
• Dashboard — show/hide, position, and text size.
▎ DASHBOARD
A compact blue/magenta panel reporting: the current bias (Long / Short / Flat), the composite score, raw Z-Score in σ, the momentum value, the active regime with a strength percentage, the OB/OS state , any live divergence , and the current signal status.
▎ ALERTS
• QRO — Long — oscillator crossed up from oversold in a trending-up regime.
• QRO — Short — oscillator crossed down from overbought in a trending-down regime.
• QRO — Any Signal — fires on either a long or short signal.
▎ NOTES
• Works on all timeframes and all assets — the oscillator is self-normalizing, so it adapts to the instrument automatically.
• Every visual layer is toggleable for a clean chart; the cooldown keeps markers sparse on any timeframe.
• Signals confirm on the closed bar and are non-repainting once the bar completes; divergence markers reference confirmed pivots offset back by the pivot length.
For research and education only. This is not financial advice. No indicator can predict the future, and past behavior does not guarantee future results. Always do your own analysis and manage your own risk.
Made with passion by JackOfAllTrades ⚡
Gösterge

Average Daily Range ProjectionWHAT IT DOES
The Average Daily Range (ADR) Projection converts a historical average range into live price levels based on the range already realized during the current session.
Rather than anchoring fixed ADR bands to the session open or another single reference price, the indicator conditions each projection on the session's developing high and low. It answers a specific question: given the range already traded, where would price need to reach for this session to equal its recent average range?
Two independent sets let you compare separate baselines, such as the regular trading session versus the full futures session or a short lookback versus a longer one. This shows when price has satisfied one definition of its typical range while remaining below another.
CALCULATION
For each set, the indicator averages high minus low over up to the most recent N completed session windows. The ADR is fixed at the start of a new session; only the projected prices change as the current high and low develop. A partial session encountered when the script first loads is excluded.
Let ADR be the historical average, H the current session high, and L the current session low:
remaining = max(ADR - (H - L), 0)
upper projection = H + remaining
lower projection = L - remaining
Before the session has completed its ADR, these reduce to:
upper projection = L + ADR
lower projection = H - ADR
These are conditional range-completion thresholds. A new high raises the lower projection, while a new low lowers the upper projection. As realized range expands, the additional movement required to equal ADR decreases. A reached threshold freezes and is labeled FILLED.
HOW TO READ IT
An open projection marks the price that would complete the configured average range in that direction, assuming the opposite session extreme does not change first. Its distance from price represents remaining range relative to the benchmark, not a prediction that price will reach it.
A FILLED label means the session range has reached or exceeded that set's trailing mean. If one set is filled while the other remains open, the session has satisfied one baseline but not the other.
Previous-session lines may be retained to review completed thresholds on the selected instrument and timeframe.
INPUTS
ADR Period sets the maximum number of completed sessions in each average. During initial data collection, the indicator starts after one complete session and uses the available sample until the selected period is populated.
Session Start, Session End, and Timezone define each measurement window; overnight windows are supported. Set 1 and Set 2 may use different windows, ADR periods, and styling. Show Previous Sessions retains completed levels, while Max Previous Sessions limits their number. Other controls manage labels, first-fill emphasis, and the optional information table.
The default Pacific-time windows are:
Set 1: 06:30 to 13:55, 14-session ADR
Set 2: 15:00 to 13:55, 14-session ADR
ALERTS
Four alert conditions cover upper and lower fills for both sets.
LIMITATIONS AND CALCULATION BEHAVIOR
ADR is a trailing sample mean, not a percentile, confidence interval, forecast, or estimate of reversal probability. Reaching it does not establish that a move is rare, exhausted, or likely to reverse. Outliers and volatility-regime changes can materially affect the average.
The script does not use future data or lookahead and does not repaint completed levels from future information. Active projections intentionally update as the session high or low changes, including during an open realtime bar. Completed-session lines show final or filled levels, not every level occupied intraday. Label Offset moves labels to the right for readability only; it does not reference future prices.
Calculations use extended-hours data so a full-session window remains intact on a regular-hours chart. Results depend on the data supplied by the symbol's feed, and an off-chart fill may already be marked when the next visible bar opens.
Designed for intraday charts with standard candles. Synthetic chart types can produce ranges and alerts based on synthetic prices rather than actual traded OHLC values. Gösterge

Range Profile Oscillator█ OVERVIEW
Range Profile Oscillator is a momentum oscillator that analyzes the position of price relative to a dynamic price range profile (Range Profile). Within a defined historical window the script builds a profile of price activity, locates its point of highest activity concentration and the boundaries of the overbought and oversold zones, then measures how far the current price has moved away from this equilibrium area.
Unlike traditional oscillators, the reference levels are neither fixed nor based solely on price changes. They are calculated from the distribution of price activity across the entire analyzed range, so they automatically adapt to the current market structure. As a result, signals appear only when price truly leaves the area considered typical for recent market activity.
The indicator generates BUY and SELL signals when the oscillator line breaks out beyond the dynamic Overbought (OB) and Oversold (OS) zones. It can also color candles according to the current oscillator direction, highlight the background on breakouts, and automatically plot Entry, Stop Loss and Take Profit levels using either ATR or a fixed percentage risk.
The result is a tool that combines price location analysis, momentum and adaptive market equilibrium levels. This helps distinguish ordinary price fluctuations from moments when the market genuinely breaks out of its characteristic range.
█ CONCEPTS
Range Profile
The foundation of the indicator is the Range Profile — an analysis of the distribution of price activity within the selected historical range. The entire price range is divided into many small intervals (bins), and the candle activity falling into each of them is counted. This creates a profile that shows the levels where price spent the most time.
Instead of assuming that the market center lies exactly halfway between the highest and lowest price, the indicator locates it at the level of highest activity concentration. This provides a much more accurate reflection of true market equilibrium.
Dynamic equilibrium line (Midline)
The Midline represents the level around which the market spent the most time in the analyzed period. The oscillator value is calculated from this level.
When price is close to the Midline it remains in the equilibrium area. The farther it moves away from this level, the stronger the momentum becomes and the higher the probability of entering the overbought or oversold zone.
Dynamic Overbought and Oversold zones
The overbought and oversold boundaries are not fixed. They are derived from the current market profile and automatically expand or contract with changes in volatility and price structure.
This allows the indicator to adapt its sensitivity to market conditions. In quiet markets the zones become narrower; during high volatility they widen, reducing the number of random signals.
Price location oscillator
The oscillator line shows how far the current price is from the point of highest activity concentration (Midline) relative to the width of the entire profile.
Values near zero indicate trading inside the equilibrium area, while a rising or falling oscillator reflects an increasing distance from the typical range. Crossing the OB or OS boundaries means the market has reached an extreme position relative to its current profile.
Breakout signals
A BUY signal is generated when the oscillator breaks above the Overbought zone; a SELL signal appears when it breaks below the Oversold zone.
An optional signal filter prevents repeated signals in the same direction. A new BUY can appear only after a previous SELL (and vice versa), which limits the number of consecutive same-direction signals during strong trends.
Momentum visualization
The color of the oscillator line and, optionally, the candles reflects the current market state:
* bullish color indicates a breakout above the Overbought zone,
* bearish color indicates a breakout below the Oversold zone,
* neutral color shows that price is still inside the normal range.
In addition, the gradient and background highlighting visualize the strength of the breakout beyond the profile boundaries, making the most dynamic moves immediately visible on the chart.
█ FEATURES
Calculation Settings
• Lookback Bars – number of historical bars used to build the range profile, determine the Midline and the OB/OS channel boundaries
• OB/OS Level – distance from the Midline (as a % of half the channel width) that defines the Overbought and Oversold zones; a breakout beyond this level triggers a signal
Signals
• Highlight Background on Breakout – colors the chart background when the oscillator line breaks above/below the OB/OS channel
• Background Highlight Transparency – adjusts the transparency of the background breakout highlight
• Show BUY/SELL Labels – plots BUY or SELL labels on the main chart whenever a breakout signal fires
• Signal Filter – blocks repeated signals in the same direction (a new BUY only after a SELL and vice versa)
Appearance
• Show Breakout Gradient – fills the area between the signal line and the OB/OS boundary with a gradient whenever price is outside the channel
• Color Candles by Signal Line – colors the main-chart candles using the same color as the signal line (bullish / bearish / neutral)
Colors
• Bullish Color, Bearish Color, Neutral Color – three consistent colors used throughout the indicator for lines, fills, labels, signals and candles
TP/SL
• Show TP/SL – automatically draws Entry, Stop Loss and Take Profit levels on the main chart whenever a breakout signal fires
• SL = ATR × instead of % – choice between an ATR-based stop-loss (ATR × multiplier) or a fixed percentage of the entry price
• ATR Period and SL ATR Multiplier – parameters for the ATR-based stop-loss
• SL % from Entry – percentage stop-loss distance (used when ATR is disabled)
• TP1 RR / TP2 RR / TP3 RR – Risk:Reward multiples for the three Take Profit levels
• Independent on/off switches for displaying SL, TP1, TP2 and TP3
Alerts
• Alert on breakout above the Overbought zone
• Alert on breakout below the Oversold zone
█ APPLICATIONS
Identifying breakouts beyond the equilibrium area
The indicator helps distinguish ordinary price fluctuations inside the typical range from moments when the market leaves the zone of highest activity. Signals appear only when the oscillator breaks the dynamic OB/OS boundaries.
Breakouts as a potential start of a stronger move
Breakouts beyond the OB/OS zone often mark the beginning of a stronger move or a new trend, so the signals can serve a role similar to classic trend indicators. They should not, however, be treated automatically as entry points. Before acting it is advisable to examine the broader context: whether the signal occurs near a significant support/resistance zone and whether it is confirmed by other technical analysis tools (e.g. market structure, momentum, volume).
Risk management directly on the chart
The automatic Entry, SL and TP levels allow a quick assessment of the potential risk-to-reward ratio for each signal. You can use either ATR or a fixed percentage, adjusting the parameters to your trading style and the instrument’s volatility.
Visual assessment of momentum strength
The color of the oscillator line, the candles and the breakout gradient immediately show whether the market is still inside the equilibrium zone or has already entered overbought/oversold territory. Background highlighting further draws attention to the moment of the breakout.
Complementing other analysis methods
Range Profile Oscillator signals can act as a filter or confirmation for strategies based on market structure, support/resistance, order flow or classic momentum oscillators.
Matching lookback to trading style
The lookback value should be chosen according to the timeframe and trading horizon. A shorter lookback reacts faster to local structural changes; a longer one better reflects the broader market context.
█ NOTES
• The Midline and OB/OS zones are recalculated on every bar from the most recent lookback window — the indicator automatically adapts to the current market structure.
• BUY/SELL signals and alerts mark the moment price breaks out of the current range profile. They are not automatic entry points — before taking a decision it is recommended to check alignment with other tools (market structure, momentum, volume, etc.). Gösterge

Percentage Price Oscillator Navigator [MarkitTick]💡 A highly multi-dimensional momentum and trend-tracking suite. Rather than relying on singular data points, this comprehensive ecosystem fuses normalized momentum oscillators, dynamic volatility filters, and automated risk-management frameworks into a single, cohesive interface. Designed for meticulous market analysts, it provides a strictly confirmed, non-repainting environment to identify structural shifts, validate trend strength, and project actionable risk-to-reward parameters.
● ✨ Originality and Utility
Standard momentum oscillators often suffer from noise in ranging environments and fail to contextualize signals with prevailing market conditions. This tool distinguishes itself by integrating a robust "Smart Filter" engine directly into the core momentum calculation. By dynamically cross-referencing directional movement strength, average true range expansions, and volume surges, it ensures that momentum shifts are only validated when supported by underlying market participation. Furthermore, the inclusion of a fully automated, dynamic risk-to-reward leveling system transforms a traditional oscillator into a complete trade management overlay, complete with a real-time heads-up display dashboard and fully formatted JSON alert payloads for external automation.
● 🔬 Methodology and Concepts
The foundational logic relies on the proportional divergence between a faster and slower moving average, calculating the percentage difference to create a normalized oscillator. This normalization is critical as it allows for consistent momentum evaluation across diverse asset classes regardless of their nominal price value.
To prevent the common pitfall of reverse-engineering and to protect the underlying intellectual architecture, the internal mathematical sequences remain fully abstracted. The methodology employs a cascading verification process:
First, the core normalized divergence is measured against its own smoothed signal line to identify baseline directional shifts.
Second, a Multi-Timeframe (MTF) confirmation engine evaluates the macro trend. This utilizes a strict, offset historical data request architecture, ensuring zero future-data leakage or repainting artifacts.
Third, the Smart Filter engine evaluates atmospheric market conditions. It demands that background volatility, average directional strength, and volume participation meet minimum threshold requirements before validating any structural momentum shift.
Finally, the system utilizes strict bar-close confirmation logic. Signals are exclusively generated when the evaluation bar has permanently closed, ensuring unalterable historical accuracy.
● 🎨 Visual Guide
The visual interface is engineered to maximize data delivery while maintaining chart clarity.
• Oscillator Elements
PPO Line (Solid Blue): Represents the primary normalized momentum metric.
Signal Line (Solid Orange): A smoothed derivative of the primary momentum, acting as the baseline for crossover events.
Histogram Columns: Visualizes the spread between the PPO and Signal lines. Rising positive momentum is colored in solid teal, while weakening positive momentum fades to a transparent teal. Conversely, expanding negative momentum is solid red, fading to transparent red as bearish momentum wanes.
Zero Line (Gray): The equilibrium point delineating macro bullish versus bearish environments.
• Chart Overlay Elements
Heatmap Candles: The main chart candles are dynamically colored (Teal for positive momentum, Red for negative momentum) based directly on the histogram's state, instantly aligning price action with underlying momentum.
Signal Markers: Small, precise triangles appear at the exact bar of a confirmed momentum crossover (Teal triangle pointing up for bullish, Red pointing down for bearish).
Risk Management Levels: Upon a confirmed signal, the tool draws horizontal projections. The Stop Loss is a thick solid red line. The Entry is a dashed blue line. Take Profit targets (TP1, TP2, TP3) are plotted as dashed teal lines of varying opacity. Colored background fills visually represent the geometric risk and reward zones.
• Heads-Up Dashboard
A fixed tabular dashboard provides a real-time diagnostic readout of all internal states, including current momentum values, moving average gap percentages (visualized as a progress bar), higher-timeframe alignment, and the active positional status with exact level coordinates.
● 📖 How to Use
This tool is designed to act as a primary navigational compass for market structure. Traders should observe the histogram for early signs of momentum deceleration (indicated by fading column colors). A validated setup occurs when the primary momentum line crosses the signal line, strictly accompanied by a visual marker on the chart.
Because the system employs strict bar-close confirmation, traders must wait for the bar to finalize before interpreting a signal as valid. Once a signal fires, the risk management levels automatically project onto the chart. The user can utilize the "Lock Signal" feature to freeze these specific entry and exit levels on the chart, preventing the system from calculating subsequent, potentially conflicting signals while a trade is actively being managed. The comprehensive JSON alerts can be mapped directly to external execution platforms, utilizing the dynamically generated Entry, Stop Loss, and Take Profit price coordinates embedded within the payload.
● ⚙️ Inputs and Settings
The configuration panel is highly modular, categorized logically for precise tuning:
• Core
Defines the lookback periods for the fast, slow, and signal moving averages, as well as the calculation type (SMA or EMA) and the source price data.
• Filters
The gatekeeper settings. Users can toggle and tune the Higher Timeframe confirmation, ADX strength threshold, ATR volatility multiplier, and Volume moving average requirements. A histogram slope confirmation can also be activated to ensure structural momentum is moving in the correct direction.
• Trade Tools
Controls the geometric risk overlay. Users define the Stop Loss distance via an ATR multiplier and set precise Risk:Reward ratios for all three Take Profit targets. The "Lock Signal" toggle is located here, allowing users to freeze the active projection.
• Visuals & Dashboard
Comprehensive toggles to enable or disable specific UI elements such as the histogram, heatmap candles, chart signals, and the diagnostic dashboard, allowing for a fully customized workspace.
• Alerts
Input fields to define custom JSON action tags for integration with third-party webhooks, ensuring seamless connectivity with external systems.
● 🔍 Deconstruction of the Underlying Scientific and Academic Framework
The theoretical foundation of this evaluation suite rests on the synthesis of structural momentum analysis and statistical variance gating. In traditional financial modeling, momentum is frequently quantified as the first derivative of price relative to time. However, absolute price changes suffer from scalar distortion; a ten-point move in a high-valuation asset is mathematically insignificant compared to a ten-point move in a low-valuation asset. By utilizing a normalized percentage differential between dual moving averages, the tool mathematically standardizes momentum, allowing for robust, scale-invariant analysis.
Furthermore, the integration of the Smart Filter engine elevates the framework from simple linear smoothing to a multidimensional evaluation model. The inclusion of the Average Directional Index (ADX) introduces a non-directional vector strength requirement, ensuring that momentum shifts are occurring within an established trend environment rather than a stochastic mean-reversion chop. The Volatility filter, utilizing the Average True Range (ATR), acts as a statistical variance gate. It postulates that significant structural shifts require an expansion in price distribution variance; if a momentum crossover occurs during a period of localized volatility contraction, it is statistically more likely to be a false positive generated by noise rather than a genuine shift in market consensus.
Finally, the dynamic risk leveling system applies principles of geometric expectancy. By anchoring the invalidation point (Stop Loss) to the ATR, the system ensures that risk parameters are continuously adjusted to the current statistical distribution of price movement, rather than relying on arbitrary, static percentages. This creates a mathematically sound, expectancy-positive projection model that adapts fluidly to expanding and contracting market environments, enforcing a rigorous, quantitative approach to trade management.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Gösterge

ATK/DEF High Low & MA EngineATK/DEF High Low & MA Engine is a market structure analysis framework designed to evalu histor high and low price behavior together with moving average structure, momentum conditio, and volume environment.
Unlike traditional high and low markers that only display previous turning points, this indicator focuses on analyzing the quality and context of price extr by combining swing point identification with broade market conditions.
The purpose of this engine is to provide a structured view of how histo highs and lows develo, how pric interacts with different market phases, and how trend structure changes around important pric areas.
High & Low Structure Analysis
The indicator identifies swing highs and swing lows using pivot-based market structure detection.
Rather than treati eve high or low as equally signific, the framework is designed to highlight the relationship between:
Historical price turning points
Market direction
Trend organization
Pric momentum conditions
Trad activity environment
Swing points represent areas where pric previously experienced a structural reaction. These points can be used as references for stud market behavior and price development.
ATK / DEF Market Structure Concept
The indicator uses the concept of:
ATK (Attack Structure)
and
DEF (Defense Structure)
to describe different pric behaviors around market movement.
ATK focuses on directional strength and pric expansion characteristics.
DEF focuses on pric holding behavior, reaction areas, and structural balance.
This framework does not classify market movement as a guaran future outcome. Instead, it provides a visual representation of current market structure conditions based on histor price information.
Moving Average Structure Engine
The indicator integrates three moving averages to evalu market organization across different periods.
The MA framework analyzes:
Short-term price movement
Medium-term structure
Longer-term market direction
The relationship between multiple moving averages helps display:
Trend alignment
Directional consistency
Transition phases
Mixed market conditions
Instead of relying on a single moving average, the engine observes the interaction between different periods to provide a broader view of market structure.
Momentum & Market Condition Evaluati
The engine includes momentum observation by comparing recent pric movement with previous pric levels.
This component evaluates:
Pric expansion strength
Directional momentum
Neutral conditions
Weakenin movement
Momentum information is displayed as part of the overall market condition analysis and is intended to provide additional context around pric structure.
Volume Environment Analysis
Volume conditions are included to measure the activity level behind price movement.
The volume module compares current activity against histor volume behavior to classify market participation conditions.
This helps analyze whether pric movement is occurring in:
Higher activ environments
Normal participation conditions
Lower activity environments
Volume information is used as a contextu factor and is not designed to predic future pric movement.
Multi-Factor Market Rating Framework
The data panel combines mul market observations into a summa structural view.
The evaluation considers factors including:
Moving average alig
Moving average direction
Momentum condition
Volume environment
Pric position relative to moving averages
The displayed condition represents the current relationship between these factors and should be interpre as a market context reference rather than a standal tra decision.
Difference From Traditional High/Low Indicators
Traditional high and low indicators generally focus only on locat previous turning points.
ATK/DEF High Low & MA Engine expands this concept by combining:
Swing structure
Trend organization
Momentum context
Volume environment
Market condition overview
The objective is not simply to mark where pric changed direction, but to stu why those histo highs and lows devel within different market environments.
Design Philosophy
Markets are dyna systems where price extremes are created through the interaction of movement, participation, and structure.
This indicator is designed around the idea that a high or low point should be viewe together with its surrou conditions rather than as an isolat pric lev.
By combining structural highs/lows with moving average behavior and market context, the engine provides a more complete visualization of pric behavior.
Features
• Pivot-based swing high and swing low detection
• Three-period moving average structure analysis
• Trend arrangement observation
• Momentum condition display
• Volume environment monitoring
• Market condition dashboard
• Structural high/low visualization
• Multi-factor context evalua
Important Note
ATK/DEF High Low & MA Engine is an analytical tool designed to visualize market structure and histori pric behavior.
It does not provide finan advice, guaran outcomes, or direct tra instructions.
Users should combine this tool with their own analysis, risk manageme, and tra methodology when making decisions. Gösterge

ORB Opening Range I EonMetrics ORB - Opening Range
ORB marks the opening range — the high and low of the first minutes of a session — and tracks what price does with it for the rest of the day: breakouts by closing price, failed breakouts that snap back inside, and extension levels projected from the range height. The last few days stay on the chart so you can judge at a glance how your instrument actually behaves around its open.
🔶 HOW IT WORKS
From the session open (New York 09:30 by default) the script records the high and low of the first X minutes — 5 to 60, you choose. When the window closes, the range is frozen: a box marks the window, and the high/low lines extend forward until the next session begins. The first candle that CLOSES outside the range tags the breakout; a close back inside within your chosen number of bars tags it as FAILED and re-arms the day.
🔶 WHY THE OPENING RANGE MATTERS
The first minutes of a session concentrate the reactions to everything that accumulated while the market was closed or quiet: overnight news, opening auctions, the first institutional orders of the day. The range those minutes carve out is the day's first agreed-upon value area. That is the reasoning behind the concept, and it is why the tool also tags a move that closes back inside the range rather than only tagging the escape — the two outcomes describe different sessions.
Worth stating plainly: this is the rationale for the concept, not evidence that it works. Whether your instrument respects its opening range is an empirical question about that instrument, and the History setting exists so you can answer it with your own eyes before relying on anything here.
🔶 WHAT IT DOES
Opening range — box over the window (5/15/30/45/60 min), frozen high/low lines extended through the session. Session presets: New York 09:30, London 08:00, Tokyo 09:00, or a fully custom open time with its own timezone (DST handled by the timezone database, not by fixed offsets).
Extension levels — optional lines at ±0.5×, ±1×, ±1.5× and ±2× the range height, projected above the high and below the low. These are reference levels for reading how far a move has traveled relative to the range — the script does not call them targets, because they are not.
Breakout status — evaluated on closing prices only, never on wicks. First close above the high tags ORB ▲, first close below the low tags ORB ▼. A close back inside the range within K bars tags FAIL and re-arms the day, so a later genuine breakout can still be tagged.
History — the last D days of ranges stay on the chart (configurable). Scrolling back through a week of your own instrument is the fastest way to see whether its opening range is worth watching at all.
🔶 ALERTS
Four alert conditions: opening range set, breakout above, breakout below, failed breakout.
🔶 HOW TO USE
1. Pick the session that matches your market — NY 09:30 for US indices and metals, London 08:00 for European hours, or a custom time.
2. Pick the window length. 15 and 30 minutes are the classic choices; shorter = earlier levels, noisier range.
3. Watch the first close outside the range — and read a quick close back inside (the FAIL tag) as a description of that session, not as noise to ignore.
4. Set the four alerts and stop watching the open candle by candle.
🔶 SETTINGS
Session (preset / custom time + timezone, range length) · Levels & Breakout (extension multiples, failed-breakout window, days of history) · Style (colors, box fill).
🔶 HONEST LIMITATIONS
The opening-range concept assumes a session with a real open — indices, metals, forex sessions. On 24/7 crypto a "session open" is a convention: the tool works there mechanically, but the premise behind it is weaker, and you should know that before trading around it. The chart timeframe must be at or below the window length (a 30-minute range cannot be built from hourly bars — the indicator stays empty rather than guessing). This tool draws levels and states facts about closes; it does not generate signals or targets.
Part of the EonMetrics toolset.
Gösterge

Gösterge

Regime Blocks Regime Blocks is a market-structure visualization tool that converts confirmed structural breaks into sequential bullish and bearish price-range blocks.
The indicator helps answer three practical questions directly on the chart:
1. Which structural regime is currently active?
2. How long has the current regime remained active?
3. What price range has developed within the regime?
The main purpose of Regime Blocks is to present price movement as a clear visual map of bullish and bearish structural regimes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧠 ORIGINALITY AND DESIGN LOGIC
The indicator is based on two analytical concepts:
confirmed swing highs and swing lows;
Average True Range, or ATR, used as a volatility-adjusted structural-break filter.
These components are not an arbitrary combination of unrelated indicators. They work together as parts of one unified market-structure model.
Confirmed swing points define the structural levels that price must exceed. The ATR filter defines the additional minimum distance price must move beyond a swing level before the break is accepted by the system.
Using ATR instead of a fixed number of points allows the confirmation threshold to adapt automatically to instruments with different price scales and volatility levels.
After a break is confirmed, the script applies a persistent market-state model:
an upward break can establish a bullish regime;
a downward break can establish a bearish regime;
a break in the opposite direction changes the current regime;
a break in the same direction can divide an extended regime into a new visual wave without changing its bullish or bearish classification.
The distinction between a regime change and a continuation structural wave is one of the indicator’s key features.
Without segmentation, an extended move can appear as one oversized block that becomes difficult to analyze. Regime Blocks divides such movements into more compact structural sections while preserving the overall regime direction.
This makes it possible to see simultaneously:
the broader structural condition of the market;
the internal development of the current move;
the sequence of structural waves.
The indicator maintains only one Bullish or Bearish label for each regime. When a new wave begins in the same direction, the label is transferred to the current block instead of being repeated on every section.
This approach reduces unnecessary text and keeps the chart visually clean.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE CALCULATIONS WORK
1. Swing-point confirmation
The indicator identifies local swing highs and swing lows using a symmetrical pivot window.
The Swing Length setting defines how many candles must appear on both sides of a potential extreme before the swing can be confirmed.
For example, a value of Swing Length = 8 means that eight candles to the left and eight candles to the right are required to confirm a swing point.
A higher value:
creates fewer structural levels;
highlights broader market movements;
reduces sensitivity to short-term fluctuations;
confirms structural changes later.
A lower value:
reacts more quickly to price movement;
identifies smaller structures;
creates more structural breaks;
may increase the number of regime changes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2. Structural-break confirmation
After a swing point is confirmed, the indicator monitors whether price moves beyond the corresponding structural level.
A bullish structural break occurs when the selected confirmation source moves above the latest confirmed swing high, including the additional ATR-based filter.
A bearish structural break occurs when the selected confirmation source moves below the latest confirmed swing low, including the ATR-based filter.
The user can choose between two confirmation methods:
candle-close confirmation;
candle-extreme confirmation using the wick.
When candle-close confirmation is enabled, the structural event is confirmed only after the candle closes beyond the calculated level.
When candle-close confirmation is disabled, the event can be triggered by the candle’s high or low before the current candle closes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3. ATR break filter
The Break Filter setting is expressed as a fraction or multiple of ATR.
For example, a value of 0.20 means that price must move beyond the swing level by an additional distance equal to at least 0.20 ATR.
Increasing the value:
filters weaker and marginal breaks;
reduces the number of regime changes;
makes the indicator more conservative.
Decreasing the value:
increases the speed of the indicator’s response;
makes the model more sensitive;
may increase the number of temporary or minor breaks.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4. Market-regime changes
The first confirmed structural break establishes the initial market state.
After that:
a bearish break during a bullish regime starts a Bearish regime;
a bullish break during a bearish regime starts a Bullish regime.
Each confirmed swing level can generate only one break event.
This prevents the same structural level from repeatedly generating events on subsequent candles.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5. Dividing a regime into structural waves
A confirmed break in the current direction does not change the regime.
For example, a new upward break within an already active bullish regime does not establish a different market state. The regime remains bullish.
When Split Long Regimes Into Waves is enabled, such a break can start a new visual block within the same regime.
A new wave is created only when all three conditions are met:
a new structural break in the current direction is confirmed;
the current block has reached the required minimum duration;
the current block has reached the required minimum price range measured in ATR.
These filters prevent small or closely spaced breaks from creating an excessive number of blocks.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6. Block construction
Each block begins on the candle where the corresponding structural event is confirmed.
While a block remains active:
its upper boundary follows the highest price reached within the block;
its lower boundary follows the lowest price reached within the block.
When the next structural wave begins or the regime changes, the completed block is fixed and a new block starts separately.
The blocks therefore display the actual price range formed within each structural section.
The blocks are not projected future support or resistance zones.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👁️ HOW TO READ THE INDICATOR
🟢 Bullish regime
Bullish blocks are displayed in green.
The lower boundary is emphasized as the primary reference boundary of the bullish regime.
The upper boundary is displayed as the secondary range boundary.
The Bullish label appears below the lower boundary of the block.
🔴 Bearish regime
Bearish blocks are displayed in red.
The upper boundary is emphasized as the primary resistance boundary of the bearish regime.
The lower boundary is displayed as the secondary range boundary.
The Bearish label appears above the upper boundary of the block.
A longer block shows that the structural condition remained active for a greater number of candles.
Frequent alternation between Bullish and Bearish may indicate a less stable, sideways, or rotational market structure.
Extended sections in one direction indicate a more persistent structural move.
Block boundaries should be interpreted as the actual extremes of a completed or developing structural wave, not as guaranteed reversal points.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛠️ INDICATOR SETTINGS
Swing Length
Controls the sensitivity of confirmed swing-high and swing-low detection.
Lower values:
react more quickly to price movement;
identify smaller structures;
generally create more regime changes.
Higher values:
identify broader structures;
reduce the influence of short-term market noise;
confirm structural changes later.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Confirm Break By Candle Close
When this setting is enabled, a structural break is confirmed only after the candle closes.
This is the more conservative option and prevents intrabar events that may disappear before the candle closes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Break Filter, ATR
Defines the additional distance beyond a confirmed swing level required to validate a structural break.
Increase the value to filter weaker breaks.
Decrease the value when a faster response to structural changes is preferred.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Split Long Regimes Into Waves
Determines whether extended bullish and bearish regimes are divided into separate visual blocks after confirmed breaks in the current direction.
When this setting is disabled, one block continues until the regime changes direction.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Minimum Wave Length
Defines the minimum number of candles that must form within the current block before another break in the same direction can begin a new visual wave.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Minimum Wave Range, ATR
Defines the minimum height of the current block relative to ATR before the block can be segmented.
A value of 0 disables this requirement.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 Visual settings
Users can customize:
bullish and bearish block colors;
fill transparency;
boundary visibility;
boundary-line width;
secondary-boundary transparency;
label visibility and spacing;
the number of historical blocks displayed on the chart.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 ALERTS
The indicator provides four alert conditions.
Bullish Regime Started
Triggers when a confirmed bullish structural break changes the market state from bearish or undefined to bullish.
Bearish Regime Started
Triggers when a confirmed bearish structural break changes the market state from bullish or undefined to bearish.
Bullish Structural Wave
Triggers when a confirmed upward break starts a new visual block within an already active bullish regime.
The regime itself does not change.
Bearish Structural Wave
Triggers when a confirmed downward break starts a new visual block within an already active bearish regime.
The regime itself does not change.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱️ CONFIRMATION AND REAL-TIME BEHAVIOR
A pivot point requires candles to form to the right of the potential extreme before it can be confirmed.
A swing high or swing low is therefore confirmed with a delay equal to the selected Swing Length.
The indicator does not move a structural-break event retrospectively to the candle where the potential pivot originally appeared.
It first waits for the swing point to be confirmed and then monitors whether the structural-break condition is satisfied.
When candle-close confirmation is enabled, regime changes and new-wave events are evaluated only on closed candles.
When candle-close confirmation is disabled, an intrabar event may appear while the candle is forming and disappear before the candle closes if price moves back inside the structural level.
The active block changes in real time as price develops:
the upper boundary expands when a new high is formed;
the lower boundary expands when a new low is formed.
After the next block begins, completed historical blocks no longer change.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS
Regime Blocks is a market-structure visualization indicator, not a complete trading system.
It does not analyze:
volume;
momentum divergence;
order flow;
fundamental data;
trading sessions;
position sizing;
stop-loss placement;
expected trade return;
commissions or other trading costs.
The indicator does not predict whether a block boundary will hold and does not provide guaranteed entry or exit signals.
The output depends on:
the selected Swing Length;
the ATR filter value;
the chart timeframe;
the instrument’s volatility;
the candle type being used.
Synthetic chart types may produce different results because their open, high, low, and close values differ from standard market candles.
Regime Blocks is intended to be used as a market-context tool alongside the trader’s own entry rules, risk management, and independent analysis. Gösterge

Dynamic Rollover & Spread WindowDynamic Rollover & High Spread Zones
If you trade across different asset classes, you know that daily rollovers, CFD maintenance breaks, and weekly opens carry massive spread widening and low liquidity. Getting caught in a trade during these windows often leads to unnecessary slippage or getting stopped out by the spread alone.
This indicator automatically highlights these high-risk liquidity gaps directly on your chart. Instead of manually drawing time boxes or switching indicator settings every time you change tickers, the script reads what you are trading and adapts instantly.
The Hidden Cost of High Spreads
The spread is the difference between the Bid (sell) price and the Ask (buy) price. During rollover windows and market opens, institutional liquidity dries up. To protect themselves, brokers widen this spread dramatically—sometimes inflating a standard 1-pip spread to 15 or 20 pips.
This impacts your trading in two fatal ways:
Bad Entries: If you execute a market order during a high-spread window, you are forced to pay that inflated premium. You instantly start the trade in a much deeper drawdown, meaning the market has to move significantly further in your direction just for you to break even.
Phantom Stop-Outs: Stop-loss orders are triggered by the Bid or Ask price, not necessarily the mid-price you see on the chart. If the spread widens enough, it can tag your stop-loss even if the actual market price hasn't moved.
A Simple Example: Imagine you are in a short position on EUR/USD. The current price on the chart is 1.1000, and your stop-loss is placed 10 pips above at 1.1010. Normally, the spread is 1 pip.
At 17:00 NY time (rollover), the broker widens the spread to 15 pips. Even though the chart price remains exactly at 1.1000, the Ask price instantly jumps to 1.1015. Your stop-loss is triggered, closing you out for a loss. Five minutes later, the spread returns to normal, and EUR/USD drops 50 pips in your favor—but you are already out of the trade.
Key Features:
Dynamic Asset Detection: The script automatically detects if you are viewing a Forex pair, an Index (futures or CFD), or a Commodity. It then applies the correct low-liquidity window for that specific market.
Daily Rollovers vs. Weekly Opens: Daily maintenance windows (Monday–Friday) are highlighted in one color, while the notoriously thin Sunday Weekly Opens are isolated and highlighted in another.
Timezone Proof: All session times are anchored strictly to the "America/New_York" timezone (EST/EDT). This ensures the windows remain 100% accurate year-round, completely bypassing local Daylight Saving Time shifts.
Built for Edge Cases: The detection engine accurately categorizes generically labeled CFD tickers (like NAS100, US30, XAUUSD) and standard CME Futures (ES, NQ, CL).
Default Time Windows (NY Time):
Forex: 17:00–18:00 (Daily) | 17:00–19:00 (Sunday Open)
Indices: 16:00–18:00 (Daily) | 18:00–19:00 (Sunday Open)
Commodities: 17:00–18:00 (Daily) | 18:00–19:00 (Sunday Open)
Customization:
All session times and highlight colors are fully customizable in the indicator inputs to match your specific broker's server times if they differ from the standard exchange breaks.
Gösterge

Terminal Velocity Stop | Lyro RSOverview:
Terminal Velocity Stop is an ATR-based trailing stop that borrows a physics concept for its trailing logic: a falling object stops accelerating once it hits terminal velocity. Instead of letting a single vertical candle snap the stop right under price, this stop's per-bar movement is hard-capped at a maximum speed, so it keeps a controlled distance through violent moves and only closes the gap gradually once the market settles.
Key Features
ATR-Based Stop Targeting: Calculates a bullish and bearish stop target using independent ATR multipliers, allowing asymmetric distance in uptrends versus downtrends.
Terminal Velocity Cap: Limits how far the stop can travel per bar (in ATR terms), so parabolic candles cannot yank the stop into the noise — the stop always approaches its target at a controlled, capped speed.
Directional Trailing Logic: The stop only tightens in the direction of the current trend and flips direction (with a fresh target) once price closes through it.
Trend Cloud Fill: Fills the space between price and the stop line, shaded and colored to reflect current trend direction and give a clear visual sense of the cushion between price and the stop.
Flip Markers: Plots a marker dot at the exact bar where the stop flips direction, making trend reversals easy to spot at a glance.
Candle Coloring: Colors chart candles according to the current stop direction for immediate visual alignment between price action and trend state.
Customizable Visuals: Choose from 4 preset palettes — Classic, Mystic, Accented, Royal — or define your own custom bullish/bearish colors.
How It Works
ATR Calculation – Computes the Average True Range over the chosen length as the base volatility measure.
Target Calculation – Sets a bullish target below price or bearish target above price, offset by the respective ATR multiplier.
Speed Capping – Limits the stop's movement toward its target each bar to a maximum of the Terminal Velocity setting (in ATR per bar), regardless of how far the target has moved.
Directional Trailing – In an uptrend the stop only ratchets upward toward its target; in a downtrend it only ratchets downward, never loosening.
Flip Detection – When price closes beyond the current stop, direction flips and a new stop target is established on the opposite side of price.
Visualization – Plots the stop line with a glow effect, fills the trend cloud between price and stop, marks flips, and colors candles to match the current direction.
Practical Use
Trailing Stop Management – Use the plotted stop line as a dynamic trailing stop level for open positions, adjusting for the asymmetric up/down multipliers to suit your risk tolerance.
Volatility Spike Protection – The Terminal Velocity cap helps avoid getting stopped out prematurely during a single volatile candle by preventing the stop from moving too aggressively in one bar.
Trend Direction Read – Use flip markers and candle coloring as a quick visual cue for the prevailing trend direction.
Cushion Awareness – Watch the width of the trend cloud to gauge how much room price currently has before triggering a stop flip.
Customization
Adjust ATR Length to tune stop responsiveness to volatility.
Set independent + and - Multipliers to control stop distance separately for uptrends and downtrends.
Adjust Terminal Velocity to control the maximum per-bar speed of the stop.
Pick a preset palette or define fully custom bullish/bearish colors.
⚠️Disclaimer
This indicator is a tool for technical analysis and does not provide guaranteed results. It should be used in conjunction with other analysis methods and proper risk management practices. The creators of this indicator are not responsible for any financial decisions made based on its signals. Gösterge

Funding Rate & OI Radar [StrixEDGE]What It Does
Funding Rate & OI Radar is a multi-symbol derivatives dashboard that consolidates funding rate intensity, open interest momentum across three timeframes, and price-OI divergence signals into a single on-chart table. It is designed for perpetual futures traders who need to read market positioning at a glance — without switching tabs or charts.
The indicator tracks up to 5 perpetual contract symbols simultaneously, surfaces extreme funding conditions as they develop, and flags structurally weak rallies or drops where price and open interest are moving in opposite directions.
Core Features
Funding Rate with Color Intensity
Funding rate values are color-graded by severity — from dim neutral tones near zero, through elevated orange, to extreme red (longs paying) or bright green (shorts paying). Extreme readings trigger a highlighted cell background so they stand out immediately during fast-moving markets.
Open Interest Change — 1H / 4H / 24H
Three separate OI delta columns show how positioning is shifting across intraday, swing, and daily windows. Each cell includes a directional arrow (▲ ▼ ►) and percentage change, color-coded against your configured alert threshold. This gives you a layered read: is OI building across all timeframes, or only spiking on the short window?
Price-OI Divergence Detection
The SIGNAL column cross-references 24H price change against 24H OI change and classifies the move:
- WEAK▲ — Price rising but OI declining. Rally lacks new capital commitment. Potential short squeeze or exhaustion move.
- WEAK▼ — Price falling but OI rising. New positions opening into the drop. Potential capitulation trap or forced selling.
- STRONG▲ — Price and OI both rising. New money entering on the long side. Structurally supported move.
- STRONG▼ — Price and OI both falling. Positions closing out. Orderly deleveraging.
- NEUTRAL — No meaningful divergence.
Weak signals receive a highlighted background row to ensure they are not missed.
Multi-Symbol Table
Monitor BTC, ETH, SOL, and two custom perpetual contracts of your choice — all rendered in a single dashboard. The table includes configurable column visibility, so you can strip it down to just FR + divergence, or run the full 8-column view.
Aggregate Sentiment Footer
The bottom row averages funding rates across all active symbols and classifies the overall market into one of seven sentiment tiers — from 🟢 EXTREME FEAR through ⚪ NEUTRAL to 🔴 EXTREME GREED. A fast, blunt read on whether the derivatives market is skewing overleveraged in either direction.
Alerts
Four built-in alert conditions, all routed through TradingView's native alert system:
- Extreme Funding Rate — Any tracked symbol's absolute FR exceeds your configured threshold (default: 0.05%/8h).
- OI Surge — Any symbol's 1H OI change exceeds your OI alert threshold (default: 5%).
- OI-Price Divergence — A WEAK▲ or WEAK▼ signal fires on any tracked symbol.
- Sentiment Extreme — Aggregate average FR across all symbols reaches the extreme zone.
Data Sources & Configuration
The indicator supports two modes for funding rate data:
- Ticker Mode (default) — Pulls funding rate from your exchange's dedicated FR data feed using a configurable ticker suffix (default: `_FR`). Requires the exchange to publish FR data through TradingView.
- Basis Proxy Mode — Estimates the implied 8-hour funding rate from the perpetual-spot price spread: `(Perp − Spot) / Spot / 3`. Useful when direct FR tickers are unavailable. Note: this is an approximation, not the actual settlement rate.
Open interest data is fetched via configurable OI ticker suffix (default: `_OI`).
Important: Ticker formats vary across exchanges and TradingView data providers. If columns display "N/A", adjust the OI/FR suffix inputs under 🔌 Data Sources to match your exchange's naming convention. Consult your exchange's TradingView symbol search for the correct format.
Settings Overview
📊 Symbols — Exchange selector, 3 default symbols (BTC/ETH/SOL perpetuals), 2 optional custom slots.
🔌 Data Sources — OI suffix, FR suffix, FR method toggle, spot suffix override for basis proxy.
🚨 Thresholds — Extreme FR level, elevated FR level, OI alert percentage. These control both color intensity breakpoints and alert trigger levels.
🎨 Display — Table position (8 positions), text size (Tiny / Small / Normal / Large).
📋 Columns — Individual toggles for Price, Price Δ24H, Funding Rate, OI Δ1H, OI Δ4H, OI Δ24H, Divergence Signal, and Sentiment Footer. Disable any column you don't need to keep the table compact.
Technical Notes
- Uses 25 `request.security()` calls across 5 symbols (well within Pine Script's 40-call limit).
- OI changes are calculated from actual multi-timeframe requests (60min, 240min, Daily) — not bar-count estimates — so they remain accurate regardless of your chart's timeframe.
- Table renders only on the last bar (`barstate.islast`) for performance.
- Inactive custom symbol slots (left blank) fall back to the primary ticker internally and are hidden from the table.
How to Read It
Open the indicator on any chart. The table appears as an overlay (default: top-right corner). Scan left to right:
1. Symbol — Which asset.
2. Price — Current perpetual price.
3. Δ24H — Daily price change. Green = up, red = down.
4. FR /8h — Current funding rate per 8-hour interval. Bright color = elevated. Highlighted background = extreme.
5. OI Δ1H / 4H / 24H — Open interest change with directional arrows. Look for alignment across timeframes (all rising = strong conviction) or divergence (1H spiking, 24H flat = short-term noise).
6. SIGNAL — Divergence classification. WEAK▲ and WEAK▼ are the actionable signals — they indicate structural fragility in the current move.
7. Sentiment — Aggregate market tilt from combined funding rates.
Use Cases
- Scalpers & intraday traders — Monitor 1H OI spikes alongside funding rate to detect short-squeeze or long-squeeze setups forming in real time.
- Swing traders — Use the divergence signal column to filter entries. Avoid longing into WEAK▲ conditions; avoid shorting into WEAK▼.
- Portfolio monitors — Track funding costs across multiple positions simultaneously. Elevated aggregate sentiment warns of crowded positioning before liquidation cascades.
Complementary Tools
Designed to pair with liquidity heatmaps and liquidation level estimators. Funding rate tells you who is paying whom. OI tells you how much is at stake. Liquidity maps tell you where the pressure points are. Together, they give a full derivatives positioning read. Gösterge

Reactive Trail System [WillyAlgoTrader]📊 Reactive Trail System (RTS) is an overlay trend-following indicator that combines a momentum-adaptive trailing stop, a dual volatility engine, a 0–100 signal quality score, and a complete trade-management layer (Entry / SL / TP1–TP3 / break-even) — all tracked live on a sectioned dashboard with win-rate statistics.
The core insight: a trailing stop should not have a fixed width. When momentum is strong, price moves cleanly and the trail can hug price to lock in profit. When momentum fades, price gets noisy and the trail must widen to survive the chop. RTS measures momentum every bar and reshapes the trail width automatically — up to 40% tighter in strong moves — so one setting adapts to changing conditions instead of being permanently too tight or too loose.
If you are new to trailing stops: think of the trail as a colored line that follows price from below in an uptrend (green) and from above in a downtrend (red). As long as price stays on the right side of the line, the trend is alive. When price closes through the line, the trend flips — and RTS turns that flip into a fully managed trade idea with a stop-loss and three targets drawn on the chart for you.
Works on all markets (crypto, forex, stocks, indices, commodities) and all timeframes.
🧩 WHY THESE COMPONENTS WORK TOGETHER
A classic supertrend-style trail has three chronic problems. First, its width is fixed — the same multiplier that protects you in chop gives back too much profit in a strong trend. Second, a raw trail flip says nothing about signal quality — a flip in dead, low-volume conditions looks identical to a flip with real participation. Third, a flip is not a trade — you still have to decide where the stop goes, where the targets go, and when to move to break-even.
RTS solves all three with one integrated pipeline:
Baseline MA (6 engines) → Dual volatility measure (ATR + StDev) → RSI momentum engine → Adaptive trail width → Ratcheting trail state machine → HTF bias + volume filters → 0–100 signal score → Wick-anchored SL + TP1/TP2/TP3 → Break-even automation → Trade outcome statistics
The baseline MA defines the anchor the trail hangs from. The volatility engine defines the raw distance. The RSI momentum engine then compresses that distance when momentum is strong — this is what makes the trail "reactive" rather than static. The ratcheting state machine guarantees the trail only ever tightens in the trade's favor (it never backs away from price). The HTF and volume filters decide whether a flip is allowed to become a trade. The scoring engine grades every entry so you can tell an A-setup from a C-setup at a glance. The risk engine converts the signal into concrete levels anchored to real market structure (the signal bar's wick), and the trade engine tracks every touch, break-even move, stop-out and reversal — feeding honest statistics back to the dashboard.
Remove any link and the chain breaks: without momentum adaptation the trail is just another supertrend; without filters every flip fires; without the wick-anchored stop the levels ignore structure; without outcome tracking you never learn how the system actually behaves on your market.
🔍 WHAT MAKES IT ORIGINAL
1️⃣ Momentum-adaptive trail width — the trail breathes with the market.
Instead of a fixed multiplier, RTS computes a momentum distance from the smoothed RSI and uses it to compress the trail:
— momDist = min(|RSI_smoothed − 50| / 50, 1.0) — 0 means dead-center momentum, 1 means extreme
— effectiveMultiplier = TrailMultiplier × (1 − Adaptivity × momDist × 0.4)
— trailOffset = volatility × effectiveMultiplier
With default Trail Multiplier 2.0 and Adaptivity 1.0, the trail runs at full width in neutral conditions and tightens by up to 40% when RSI pushes toward extremes. Set Adaptivity to 0 and you get a classic fixed-width trail; the default 1.0 gives maximum adaptation. RSI length 13 with EMA smoothing 3 keeps the width changes calm instead of jittery.
Why this matters: strong momentum = clean price movement = you can afford a tight trail that protects open profit. Weak momentum = noise = the trail widens automatically so you don't get shaken out.
2️⃣ Dual volatility engine — ATR, StDev, or a stabilized Hybrid.
Trail distance can be measured three ways (Volatility Length default 13):
— ATR: classic bar-range volatility
— StDev: close-to-close dispersion
— Hybrid (default): (ATR + StDev) / 2
ATR reacts to wicks and gaps; StDev reacts to closing dispersion. Averaging them dampens the weakness of each — a single wild wick inflates ATR but barely moves StDev, so the Hybrid stays stable where a pure-ATR trail would suddenly balloon.
3️⃣ Six baseline engines including KAMA and T3 — with a volume-safety fallback.
The trail anchors to a baseline MA selectable from HMA, ALMA (default, length 21), KAMA, T3, VWMA and EMA. KAMA and T3 are computed from their full formulas internally (Kaufman efficiency-ratio smoothing constant sc = (ER × (fast − slow) + slow)², and Tillson's six-stage EMA cascade with a = 0.7). If you pick VWMA on an instrument whose data feed reports no volume (common on some forex feeds), RTS silently falls back to EMA instead of plotting garbage.
4️⃣ Ratcheting trail state machine — the stop never retreats.
In a bull regime the trail is trail = max(previous trail, baseline − offset): it can only rise. In a bear regime it can only fall. A flip requires a full bar close beyond the trail — intrabar wicks through the line do not flip the trend. This one-way ratchet is what makes the line usable as an actual trailing stop rather than a wavy band.
5️⃣ Non-repainting HTF bias filter.
Optional filter: longs only when the higher timeframe (default 240 = 4H) closes above its 50 EMA, shorts only below. The HTF request uses the last closed HTF bar (index with lookahead), so the bias never changes retroactively — what you see in a live chart is what a backtest would have seen.
6️⃣ Signal quality score 0–100 — every entry is graded, not just fired.
Each entry gets a transparent confluence score:
— Momentum component (0–40): min(momDist / 0.6, 1) × 40
— Volume component (0–30): participation vs the 20-bar volume SMA, clamped; fixed 15 when the feed has no volume
— HTF alignment (10 or 30): 30 when the higher timeframe agrees with the trade direction, 10 when it doesn't
The score is shown in the BUY/SELL label tooltip, in the dashboard "Last signal" row, and in every entry alert. A 90-score long (strong momentum, heavy volume, HTF agrees) and a 45-score long are both valid flips — but you instantly know which one deserves full size.
7️⃣ Wick-anchored stop-loss — structure-aware risk, not a blind ATR offset.
Default SL mode anchors the stop to the signal bar's actual wick:
— Long SL = min(low − 0.25 × ATR, close − 0.5 × ATR)
— Short SL = max(high + 0.25 × ATR, close + 0.5 × ATR)
The 0.25 × ATR buffer sits the stop just beyond the wick (where stop-hunts reach), and the 0.5 × ATR minimum distance prevents absurdly tight stops on small-bodied signal bars. A classic fixed ATR mode (SL = entry ± multiplier × ATR, ATR length 14) is available too. Targets are pure R-multiples of the actual risk: TP = entry ± risk × multiplier.
Four one-click risk presets: Conservative (SL 2.5×ATR, TP 1R/2R/4R), Balanced (default: 1.5×ATR, 1R/2R/3R), Aggressive (1.0×ATR, 1.5R/2.5R/4R), Scalping (0.8×ATR, 0.8R/1.5R/2R), plus a fully manual Custom preset with input validation (TP1 < TP2 < TP3 enforced).
8️⃣ Full trade lifecycle engine with honest intrabar rules.
RTS doesn't just draw levels — it tracks the trade like a journal:
— Hits are checked only on confirmed bars, and never on the entry bar itself (entry-bar guard)
— TP-priority model: if a bar touches both a TP and the SL, the TP touch registers first (this optimistic assumption is disclosed right in the dashboard tooltip)
— Break-even automation: once TP1 is touched, the stop moves to entry; a BE moved this bar cannot stop you out on the same bar
— Opposite confirmed signal reverses the position (closes the old trade, opens the new one)
— Win definition is fixed and transparent: a trade counts as a WIN once TP1 has been touched (TP3 close, BE stop-out after TP1, or reversal after TP1); closed before TP1 = loss
9️⃣ Persistent trade visualization.
Entry (subtle dotted), SL (solid, prominent) and TP1/TP2/TP3 (dashed) lines extend with the live trade. When a TP is touched, its line turns solid teal with a ✓ on the label. When break-even activates, the original SL line dims to a record and the entry label is annotated "→ SL (BE)". After the trade closes, the drawing persists as a record until the next entry replaces it — you can scroll back and see exactly how each trade resolved.
🔟 Dashboard 2.0 with period-filtered statistics.
A sectioned panel (Market / Trade / Stats — each toggleable, position and font size configurable):
— Market: trend direction, trend age in bars, HTF bias, smoothed RSI, last signal with score and bars-ago
— Trade: entry, SL (with "BE @" marker), TP1–TP3 with ✓ checkmarks, R:R at TP1, SL distance in % — collapses to one row when flat
— Stats: closed trades, wins, losses, win rate with a ▰▱ gauge, and a "Form" strip of the last 10 results
The win-rate window is selectable: last 24 Hours, last 30 Days, or All-Time — computed from timestamped trade closures kept in a rolling 31-day buffer. Statistics reset on chart reload, and this is disclosed directly in the dashboard tooltips.
📖 HOW IT WORKS — CALCULATION FLOW
Step 1 — Baseline: the selected MA engine (ALMA 21 by default) is computed as the trail anchor.
Step 2 — Volatility: ATR and StDev over 13 bars are combined per the selected engine into one volatility measure.
Step 3 — Momentum: RSI(13) is EMA-smoothed(3); its distance from 50 (normalized 0–1) compresses the trail multiplier by up to 40%.
Step 4 — Trail update: the ratcheting state machine raises the trail in bull regimes / lowers it in bear regimes; a confirmed close through the trail flips the regime.
Step 5 — Filtering: the flip becomes an entry signal only if it passes the optional HTF bias and volume-confirmation filters, on a confirmed bar, after the warm-up period.
Step 6 — Scoring: the entry is graded 0–100 from momentum, volume participation and HTF alignment.
Step 7 — Risk placement: SL is anchored to the signal bar's wick (or fixed ATR), TP1–TP3 are projected as R-multiples of the actual risk per the active preset.
Step 8 — Trade tracking: every confirmed bar is checked for TP touches, break-even activation, stop-out or reversal; outcomes update the win/loss statistics and the Form strip.
📖 HOW TO USE
🎯 Quick start:
1. Add the indicator to your chart. Defaults (ALMA 21, Hybrid volatility, Balanced preset) are ready to use.
2. Wait for a ▲ BUY or ▼ SELL label — hover it to see the score, RSI, SL and TP1.
3. Check the dashboard: score of the last signal, HTF bias, and current R:R.
4. Prefer high-score signals (70+) where the HTF bias agrees with the trade direction.
5. Manage by the drawn levels: partial at TP1 (stop moves to break-even automatically), remainder toward TP2/TP3 or until the trail flips.
👁️ Reading the chart:
— 🟢 Green trail line below price = bull regime; it can only rise
— 🔴 Red trail line above price = bear regime; it can only fall
— ▲ BUY / ▼ SELL labels = filtered, confirmed entries (tooltip shows score and levels)
— Dotted line = entry reference · solid red = stop-loss · dashed green = TP1/TP2/TP3
— Teal solid TP line with ✓ = target reached · dimmed SL + "→ SL (BE)" = stop moved to entry
— Optional: soft trend fill between trail and baseline, and regime-colored candles
📊 Dashboard fields:
— Trend / Age: current regime and bars since the last flip
— HTF Bias: higher-timeframe direction (Off when the filter is disabled)
— RSI: the smoothed momentum value driving trail width
— Last signal: direction · score (bars ago)
— Entry / SL / TP1–TP3 / R:R / SL Dist: full live trade card
— Trades / Wins / Losses / Win rate: statistics for the selected period (24H / 30D / All-Time)
— Form: last 10 results, ▰ = win, ▱ = loss, newest on the right
🔧 Tuning guide:
— Too many flips / whipsaws: raise Trail Multiplier toward 2.5–3.0, raise Baseline Length toward 34–55, or enable the HTF Bias Filter
— Exits feel too late: lower Trail Multiplier toward 1.8, or keep Adaptivity at 1.0 so strong momentum tightens the trail
— Trail width feels jumpy: lower Momentum Adaptivity to 0.4–0.6 or raise Momentum Smoothing to 5–8
— Too few signals: disable the volume filter, or shorten Baseline Length toward 13–21
— Stops too tight on your market: switch the preset to Conservative, or use ATR mode with a higher SL multiplier
— Scalping lower timeframes: Scalping preset + Volatility Length 10 + consider HMA baseline
⚙️ KEY SETTINGS
⚙️ Main:
— Baseline MA Type (default ALMA): trail anchor engine — HMA / ALMA / KAMA / T3 / VWMA / EMA
— Baseline Length (default 21): higher = smoother, fewer flips
— Momentum (RSI) Length (default 13) and Smoothing (default 3): the adaptive-width driver
— Volatility Engine (default Hybrid) and Length (default 13)
— Trail Multiplier (default 2.0): base trail distance in volatility units
— Momentum Adaptivity (default 1.0): 0 = fixed width, 1 = up to 40% tightening
🔍 Filters:
— HTF Bias Filter (default off) + Higher Timeframe (default 240): trade only with the bigger trend
— Volume Confirmation (default off) + Threshold (default 1.2 × SMA20): require real participation; auto-bypassed on no-volume feeds
🛡️ Risk Management:
— Risk Preset (default Balanced): Conservative / Balanced / Aggressive / Scalping / Custom
— SL Mode (default Wick-Anchored): structure-based stop or fixed ATR
— ATR Length (default 14), SL / TP1 / TP2 / TP3 multipliers (Custom preset)
— Break-Even After TP1 (default on)
— SL/TP lines, labels, % distance and per-line styles are all configurable
🎨 Visual:
— Theme Auto / Dark / Light (auto-detects chart background), trail / baseline / fill / labels / candle-coloring toggles, font sizes, bull & bear colors
📊 Dashboard:
— Show/hide the panel and each section, position (4 corners), font size, Win Rate Period (24 Hours / 30 Days / All-Time)
🔔 ALERTS
— 🟢 LONG / 🔴 SHORT — entry with price, SL, TP1–TP3, R:R and score; plain text or JSON webhook payload for bot integration
— 🎯 TP1 HIT / 🎯🎯 TP2 HIT — target touches
— 🏆 TP3 HIT — final target, trade closed
— 🛑 SL HIT / 🛡️ BE STOP-OUT — stop-outs with entry and stop price
— 🛡️ BREAK-EVEN — stop moved to entry after TP1
— 🔄 REVERSAL — opposite signal closed the trade and opened the other direction
— ▲ / ▼ FLIP (optional, informational) — trail flipped but the entry was blocked by filters
All alerts fire once per confirmed bar close. Set up a single alert with "Any alert() function call" and toggle the categories you want in the settings.
⚠️ IMPORTANT NOTES
— 🚫 No repainting. Signals require barstate.isconfirmed; a flip needs a full bar close through the trail; the HTF filter reads only the last closed higher-timeframe bar; all alerts use bar-close frequency. What you see on historical bars is what the live chart produced.
— 📐 Intrabar assumption disclosed. When a single bar touches both a TP and the SL, the TP registers first (optimistic model). This is stated in the dashboard tooltip so the statistics are interpreted correctly.
— 📐 Statistics are session-based. Win/loss counts and the Form strip are computed from the loaded chart history and reset on chart reload. Past performance does not guarantee future results.
— ⚖️ Scope. RTS is a trend-following system — like any trail-based approach it performs best in trending conditions and will flip more often in tight ranges. Use the HTF and volume filters and the score to skip low-quality environments.
— 🛠️ This is an analysis tool, not an automated trading bot. It identifies trend regimes, grades entries, and draws structured risk levels — trade decisions remain yours.
— 🌐 Works on all markets and timeframes. Instruments without volume data are handled automatically (VWMA falls back to EMA, the volume filter bypasses, scoring uses a neutral volume component).
The indicator is completely free. Gösterge

Trend Ribbon [MachineSuiteAI]Trend Ribbon
respect ranking, measured cross odds and auditable statistics
🟦 OVERVIEW
A five-average trend ribbon (8 / 21 / 50 / 100 / 200 by default; EMA, WMA, SMA, HMA or VWMA) built on one idea: the ribbon should measure itself.
Beyond the stack-based trend state and 50/100 cross markers, it keeps auditable statistics on the chart it is loaded on: which average price has actually been respecting (and how reliably), how every 50/100 cross resolved, what happened after squeeze expansions and after trend-health peaks — each statistic with its sample size, and each verifiable on the chart itself, dot by dot. It is built for traders who use layered moving averages and want the chart to answer two questions the ribbon genre normally leaves to folklore: which of these lines matters here, and what have these signals actually done on this symbol?
🟦 WHAT IS A TREND RIBBON?
Moving-average ribbons are a public-domain concept: several averages of increasing length plotted together. When they are stacked in order the trend is orderly; when they compress and interleave the market is ranging; crosses of a slower pair mark regime changes. Published ribbon scripts already color stacks, count touches, score trend strength and detect squeezes.
What the genre does not do is resolve outcomes. A ribbon will mark a "golden cross" without knowing how golden crosses have actually resolved on this chart; it will call an average "support" without a record of how often that support held. This script's contribution sits one level up: measurement with discipline, and evidence you can check.
🟦 WHY THIS SCRIPT IS ORIGINAL
- A cross odds engine. Every 50/100 cross is resolved N bars later (default 10) on the loaded symbol and timeframe: did the close move in the cross's direction? The win rate is tracked and split by volume confirmation, higher-timeframe agreement, and whipsaw-cluster membership — each split with its own sample size, greyed below a minimum. To the author's knowledge no published ribbon resolves its own crosses' outcomes, let alone per filter.
- Evidence-gated chart marks. The ✓ volume mark and ⚠ counter-HTF warning print on cross chips only where the measured split beats the chart's own base rate by a configurable margin with sufficient samples. Filters that have not helped on this chart do not decorate it.
- Auditable statistics. The respect record is drawn on the chart: numbered dots mark the counted touches of the leading average (gold = held, grey = failed) and a grey ✕ marks clean pass-throughs where nothing was tested and nothing entered the record. Every number in the panel can be verified visually — no other script found does this.
- Outcomes attached to the score and the squeeze. The 0–100 health score is not just decomposed from a stated formula — the panel reports how often the primary side was still intact at three horizons after past crossings above 80, on this chart. Squeeze expansions are likewise measured N bars later (median move, direction agreement, samples).
- Recency-weighted respect ranking. Touch counting exists in published scripts; here each average's last 12 touches form a rolling record where the newest touch weighs most, and the gold halo must be earned twice over: both the raw record and the weighted recent form have to clear a threshold. Below it the panel reads LOW RESPECT — price slicing through everything is itself information.
- Readability engineered like the statistics. Six engines share one chart only because the visual rules are strict: line identities never change (white 50, amber 100, thick grey 200 — the respect halo is an underlay beneath the leader's own line, never a recolor), whipsaw crosses are de-emphasized but never deleted so the visible ▲/▼ sequence always alternates, higher-timeframe levels identify themselves with end tags instead of a legend, and every mark on the chart has exactly one meaning. Nothing decorative, nothing unexplained.
🟦 HOW IT WORKS
- Trend state: the 50/100 pair picks the side; the state reads BULL or BEAR only when at least 3 of the 4 adjacent stack pairs agree, otherwise CHOP. Fill opacity scales with alignment.
- Respect engine: every touch of every average runs through a small state machine on confirmed bars. A touch requires the prior close beyond the average, a penetration into a tolerance band (default 0.25 × ATR(14)) and a close back on the original side; consecutive contacts merge into one event. The touch HOLDS if no close crosses the far tolerance edge within the resolve window (default 5 bars). Each average keeps its last 12 resolved touches; the best recency-weighted hold rate (minimum 5 touches) leads the ranking, and the leader earns a soft gold halo under its own line only when raw record and recent form both clear the threshold (default 50%).
- Cross odds engine: as described above — confirmed bars only, fixed-horizon resolution, per-filter splits, evidence-gated chip marks.
- Health score: 0–100 from a stated formula — 40% stack alignment + 25% slope consistency + 20% price position + 15% width behavior. The panel tooltip decomposes the live score and reports the measured survival after 80-crossings at half, full and double the outcome window.
- MTF strip and HTF anchors: a small table shows the 50/100 cross state on five timeframes, and up to three higher-timeframe averages plot as stepped level lines (default: the 50/100/200 one regime up, with an optional corridor fill between the pair, tinted by where price trades). Both are read from the last completed bar of their timeframe with confirmed-bar indexing, so they can appear one higher-timeframe bar late but never rewrite. Anchors render only once their timeframe has a full length of history — young symbols never show statistically meaningless levels.
- Squeeze and expansion: ribbon width (widest minus narrowest core average, as % of price) is percentile-ranked over a lookback (default 250 bars); below the threshold percentile the ribbon is squeezed. Every expansion out of a squeeze is measured N bars later: median move, direction agreement with the ribbon state, and an "A-grade" slice (state agreed with the higher timeframe AND volume confirmed) tracked separately.
- Cluster damping: several crosses inside a short window classify as whipsaw; rapid re-crosses shrink to dimmed dots rather than full chips — de-emphasized, never deleted, so the visible ▲/▼ sequence always alternates. A cross suppressed into a cluster can still print later, once, if the market settles on its side.
All statistics are collected on confirmed bars only.
🟦 HOW TO USE IT
- Line identities stay fixed: white 50, amber 100, thick grey 200, fast pair in the trend color. The pair that generates the signals is always findable.
- Read the panel top-down: state, health, stack, the respected average with its raw record and recent form, cross recency, the measured win-rate splits, then width and expansion.
- A typical workflow: before treating a pullback to an average as meaningful, check that average's record — the gold halo and its numbered dots are the evidence. Before taking a cross, check whether volume or higher-timeframe agreement has historically mattered on this particular chart — the ↑ marks in the odds rows answer that. Use the MTF strip for context and the HTF corridor as the higher-timeframe decision zone.
- Defaults suit swing timeframes (4H–1D); everything is length-adjustable.
🟦 SETTINGS
- Averages: type, five core lengths, up to three optional extras, curated price source.
- Respect engine: halo and audit-dot toggles, touch tolerance, hold window, ranking window, minimum touches, gold threshold, recency decay.
- Health score: panel row toggle, outcome window.
- Cross odds engine: outcome horizon, minimum sample, evidence-mark gating mode, improvement margin.
- MTF cross strip: five timeframes, strip position.
- HTF anchors: auto or fixed anchor timeframe, three levels with lengths and colors, corridor or lines-only rendering.
- Visuals and extras: marker style (chips/dots/off), cluster damping, line-coloring mode (stack state or per-line slope), price-scale labels, squeeze shading, conviction-scaled fill, panel position, colors, volume-confirmation multiple.
🟦 ALERTS
Primary 50/100 cross (bull/bear) · fast 8/21 cross (bull/bear) · full stack aligned (bull/bear) · cross + volume (bull/bear) · squeeze start · squeeze expansion + volume · respected-average touch · respected average changed · health crossed 80 · health dropped below 40.
🟦 REPAINT & DATA NOTES
- Chips, dots and all bookkeeping wait for bar confirmation; the live bar updates until it closes.
- Higher-timeframe reads use the last completed bar of their timeframe: repaint-safe, but up to one higher-timeframe bar late by construction.
- Statistics are computed over the loaded history and reset when the chart reloads with a different amount of history; low timeframes load fewer bars.
- Volume-based features — including the VWMA average type — require a feed that supplies volume.
- TradingView caps a script's labels at 500, so on long intraday histories the oldest cross chips drop off the left edge; the statistics still cover the full loaded history.
- MTF strip rows set below the chart's own timeframe show a dash: a lower timeframe cannot be read repaint-safely from a higher-timeframe chart.
- The higher-timeframe anchor levels can sit far from current price (a weekly 200 on a daily chart, for example), which widens the chart's auto-fitted price scale. Enable "Scale price chart only" in your chart settings — or switch anchors off — if you prefer a tight fit around price.
🟦 CREDITS
Moving averages, ribbons, MA crosses and squeeze concepts are public domain. The implementation — the respect state machine, cross odds engine, evidence gating, health decomposition with measured outcomes, repaint-safe MTF/anchor reads and the audit-dot system — was written from scratch for this script.
🟦 LIMITATIONS
- Moving averages lag; ranging markets whipsaw the state and the crosses. The cluster logic labels that condition, it does not remove it.
- All win rates, hold rates and outcome stats are historical measurements on the loaded chart only. They change with symbol, timeframe and loaded history, are greyed below the minimum sample, and do not predict future results.
- The outcome definition is direction-only over a fixed horizon — no stops, fees, or sizing; this is not a strategy backtest.
🟦 DISCLAIMER
This is an educational analysis tool, not investment advice. Historical measurements, however carefully computed, do not predict future results. Trading involves substantial risk. Gösterge

Trend Direction Zone Trend Direction Zone is a compact trend-state indicator designed to answer one practical question:
Which market direction is currently confirmed by both price position and the movement of the trend line?
The indicator combines a lag-reduced trend line, an adaptive ATR-based zone, and filtered direction-change markers.
These are not separate indicators simply placed on the same chart. All components work together as one unified model for detecting and maintaining the current market direction:
🔹 the central line estimates the underlying direction of price movement;
🔹 the adaptive zone provides current volatility context;
🔹 confirmation filters determine when the active direction is allowed to change;
🔹 triangles mark only confirmed transitions from one direction to the other.
This structure allows traders to assess market direction quickly without cluttering the chart with repeated crossover signals, targets, probability percentages, dashboards, or calculations unrelated to the indicator’s primary purpose.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 How the trend line is calculated
The central trend line calculation begins with an exponential moving average of the selected price source.
A second exponential moving average is then calculated from the first EMA.
The difference between the first and second EMA is used as a lag-compensation component:
Trend Line = EMA + (EMA − EMA of EMA) × Lag Reduction
The Lag Reduction parameter controls how quickly the line responds:
🔹 a value of 0 produces the base EMA;
🔹 higher values allow the line to react more quickly to price changes;
🔹 excessively high values can increase sensitivity and produce greater overshoot during sharp price movements.
The Trend Length parameter defines the primary smoothing period.
Lower values make the line faster and more sensitive. Higher values create a slower and smoother directional reference.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌊 How the adaptive zone works
The colored zone around the central line is calculated using Average True Range — ATR.
Instead of using only a fixed ATR multiplier, the script compares the current ATR value with the highest and lowest ATR values observed during the selected period.
This produces a normalized volatility level showing whether current volatility is relatively low or high compared with its recent range.
The zone width takes into account:
🔹 the current ATR value;
🔹 the position of the current ATR within its recent volatility range;
🔹 the user-defined Zone Width multiplier.
Therefore:
the zone contracts when volatility is relatively low;
the zone expands when volatility is elevated.
The zone is intended to provide volatility context around the trend line.
Its boundaries are not calculated as support, resistance, stop-loss, or profit-target levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧭 How direction is determined
The indicator does not change direction based only on a simple crossover between price and the central line.
For a potential bullish direction, three conditions must be satisfied simultaneously:
🔹 the three-bar slope of the central line must be positive;
🔹 price must be above the central line;
🔹 the distance between price and the line must exceed the ATR-based Switch Filter.
For a potential bearish direction, the opposite conditions are required:
🔹 the slope of the central line must be negative;
🔹 price must be below the central line;
🔹 the distance between price and the line must exceed the selected ATR-based filter.
Before the active direction changes, the new conditions must remain valid for the selected number of closed bars.
The Minimum Bars Between Signals parameter defines the minimum number of bars required between opposite signals.
Its purpose is to reduce rapid switching between bullish and bearish states during short and noisy price movements.
Once a direction has been confirmed, the indicator maintains that state until the opposite direction is confirmed.
Temporary weakening of the current move does not immediately return the indicator to a neutral state.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 How to read the indicator
Green line and green zone
A bullish direction is currently confirmed.
Red line and red zone
A bearish direction is currently confirmed.
Green upward triangle
Marks the confirmation of a new bullish direction.
Red downward triangle
Marks the confirmation of a new bearish direction.
Bullish triangles are always positioned below the central line.
Bearish triangles are always positioned above the central line.
The distance between the triangles and the central line is calculated using ATR. This allows their placement to adapt to the price scale and volatility of the selected instrument.
The Signal Distance From Line parameter changes only the visual distance between the triangle and the central line.
It does not affect the direction calculation or the timing of the signal.
⚠️ The triangles should be interpreted as markers of a confirmed trend-state transition, not as automatic instructions to enter or exit a trade.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Default settings
Trend Length: 20
Lag Reduction: 1.2
ATR Length: 14
Zone Width: 2.0
Direction Confirmation: 2 closed bars
Switch Filter: 0.20 ATR
Minimum Bars Between Signals: 5 bars
Signal Distance From Line: 0.45 ATR
The default values are intended as a balanced starting point.
They are not optimized for any specific instrument, market, or timeframe.
Increasing Trend Length, Direction Confirmation, Switch Filter, or Minimum Bars Between Signals will generally result in:
🔹 fewer direction changes;
🔹 a more persistent trend state;
🔹 later confirmation of a new direction.
Reducing these values generally makes the indicator more responsive, but may increase the number of direction changes during sideways market conditions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱ Real-time behavior
Direction changes, triangle markers, and alert conditions are confirmed only after the candle has closed.
The central line and adaptive zone use current price and volatility data, so they may move while the active candle is still forming.
A direction triangle is not confirmed on an unfinished candle.
The script uses data only from:
🔹 the current chart symbol;
🔹 the current chart timeframe.
It does not request data from higher timeframes and does not use calculations that reference future values.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 Alerts
The indicator includes two alert conditions:
Bullish Direction — a bullish direction has been confirmed.
Bearish Direction — a bearish direction has been confirmed.
The alerts correspond to confirmed direction changes.
When creating an alert, it is recommended to select Once Per Bar Close.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡 Limitations
Trend Direction Zone is a visual trend-following tool.
It does not predict future prices or identify exact market tops and bottoms.
Like other trend-following methods, the indicator may confirm a direction change after the reversal has already begun.
In sideways or irregular markets, direction changes may occur without developing into sustained trends.
The confirmation and minimum-signal-spacing filters reduce some short-term switching. However, stronger filtering may also delay the recognition of fast reversals.
A wide zone means that current volatility is elevated relative to recent values.
It does not mean that price must remain inside the zone.
The indicator does not include:
🔹 position-size calculations;
🔹 stop-loss levels;
🔹 profit targets;
🔹 strategy backtesting;
🔹 performance statistics.
Trend Direction Zone should be used as one source of information about current market conditions alongside the trader’s own analysis and risk-management process. Gösterge

[SkuldX] BTC OI Delta + SignalSkuldX BTC OI Delta + Signal — Institutional Positioning Intelligence
by SkuldX Trading Systems
What is it?
SkuldX BTC OI Delta + Signal goes beyond simply showing Open Interest numbers. It decodes the relationship between price movement and OI changes to identify the true nature of every market move — whether it's driven by real conviction or forced liquidations. This distinction is what separates high-probability entries from noise.
How it works
Open Interest Delta measures how many BTC contracts were opened or closed each bar. When combined with price direction, it reveals four distinct market states that form the core of this indicator's signal logic.
The Signal Matrix
🟢 Bullish Trend — price rising + OI increasing. New long positions are being opened. This is genuine buying conviction — the strongest long signal.
🟡 Short Squeeze — price rising + OI decreasing. Shorts are being forcibly closed. Price moves up but no new longs are entering — the move is weak and may not sustain.
🟠 Long Squeeze — price falling + OI increasing. Longs are being liquidated while new shorts open. Counterintuitively, this can precede a reversal once the squeeze exhausts itself.
🔴 Bearish Trend — price falling + OI decreasing. Positions are being closed into a falling market. Strong directional conviction to the downside.
Every histogram bar is color-coded by market state — giving you instant visual context without any manual analysis.
Two-panel layout
Panel 1 — OI Delta Histogram Shows the change in aggregated Open Interest per bar in BTC contracts. An EMA overlay tracks the trend of leverage in the market — rising MA means the market is consistently adding positions, falling MA means deleveraging.
Panel 2 — Z-Score Measures how statistically significant the current OI Delta is relative to recent history. A Z-Score above +2σ means an unusually large OI increase. Below -2σ means an unusually large OI decrease. These extremes often coincide with institutional activity, liquidation cascades, or the start of a significant directional move.
Z-Score levels at ±1σ and ±2σ are displayed with background highlighting for extreme zones.
Data sources
Aggregates perpetual futures Open Interest from five major exchanges — Binance USDT.P, Binance USD.P, Binance BUSD.P, Bybit USDT.P, and OKX USDT.P. Each source can be toggled independently. All values are normalized to BTC contracts for consistent cross-exchange comparison.
Settings
Data Sources — enable or disable each exchange independently
MA Length — EMA period for the delta trend line
Z-Score Lookback — historical window for statistical normalization
Z-Score Levels — configurable ±1σ and ±2σ thresholds
Colors — independent color control for each of the four market states
Signal flags in Data Window
When hovering over any bar, the Data Window shows four binary signal flags — Bullish Trend, Short Squeeze, Long Squeeze, Bearish Trend — alongside raw OI Delta, Total OI, MA, and Z-Score values. These flags are designed to be consumed programmatically in strategy scripts built on top of this indicator.
Notes
Best used on 15m to 4h timeframes where individual OI spikes are meaningful. On very low timeframes (under 5m) noise dominates. The Z-Score panel is most useful for identifying accumulation/distribution phases — sustained readings above +1σ while price consolidates often precede breakouts.
Built for SkuldX ecosystem
This indicator is a core component of the SkuldX signal layer. OI-based market state detection feeds directly into SkuldX automated trading logic for position entry confirmation, squeeze detection, and leverage-driven reversal setups. Gösterge

MTF ATR SL LevelThis Pine Script (Version 6) is a technical indicator for TradingView called "MTF ATR Level".
In short: The indicator calculates the Average True Range (ATR) – meaning the average volatility (price fluctuation range) – from a higher timeframe (e.g., the daily chart) and projects these values as dynamic resistance and support bands directly onto your current chart (e.g., a 5-minute or 1-hour chart).
Here is the exact functionality broken down in detail:
1. Core Functions & Settings
Multi-Timeframe (MTF) Logic: The script uses the request.security() function to fetch data from another timeframe (set to Daily/'D' by default). This allows you to immediately see where the important volatility boundaries of the higher-level daily chart lie on smaller intraday charts.
Flexible ATR Filter: You can choose how the ATR should be smoothed in the settings menu. Three mathematical methods are available:
RMA (Welles Wilder's Moving Average – the standard for ATR)
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
Adjustable Multipliers: You can use the inputs (Upper/Lower ATR Multiplier) to determine how many ATR units the lines should be shifted away from yesterday's closing price (e.g., 1.0 ATR, 1.5 ATR, etc.).
2. How the Lines are Calculated
The script calculates two crucial levels:
Upper Level (Upper Line): Yesterday's close of the higher timeframe + (ATR * Multiplier)
Lower Level (Lower Line): Yesterday's close of the higher timeframe - (ATR * Multiplier)
Dieses Pine Script (Version 6) ist ein technischer Indikator für TradingView namens "MTF ATR Level".
Kurz gesagt: Der Indikator berechnet die Average True Range (ATR) – also die durchschnittliche Volatilität (Schwankungsbreite) – aus einer höheren Zeiteinheit (z. B. dem Tageschart) und projiziert diese Werte als dynamische Widerstands- und Unterstützungsbänder direkt auf deinen aktuellen Chart (z. B. einen 5-Minuten- oder 1-Stunden-Chart).
Hier ist die genaue Funktionsweise im Detail aufgeschlüsselt:
1. Die Kernfunktionen & Einstellungen
Multi-Timeframe (MTF) Logik: Das Script nutzt die Funktion request.security(), um Daten aus einer anderen Zeiteinheit abzurufen (standardmäßig auf Tag/'D' eingestellt). Dadurch siehst du auf den kleineren Intraday-Charts sofort, wo die wichtigen Volatilitätsgrenzen des übergeordneten Tagescharts liegen.
Flexibler ATR-Filter: Du kannst im Einstellungsmenü wählen, wie die ATR geglättet werden soll. Es stehen drei mathematische Methoden zur Verfügung:
RMA (Moving Average von Welles Wilder – der Standard für ATR)
SMA (Einfacher gleitender Durchschnitt)
EMA (Exponentieller gleitender Durchschnitt)
Einstellbare Multiplikatoren: Du kannst über die Inputs (Upper/Lower ATR Multiplier) bestimmen, wie viele ATR-Einheiten die Linien vom gestrigen Schlusskurs entfernt sein sollen (z. B. 1,0 ATR, 1,5 ATR usw.).
2. Wie die Linien berechnet werden
Das Script berechnet zwei entscheidende Niveaus:
Upper Level (Obere Linie): Gestriger Schlusskurs des höheren Timeframes + (ATR * Multiplikator)
Lower Level (Untere Linie): Gestriger Schlusskurs des höheren Timeframes - (ATR * Multiplikator) Gösterge
