Indicator

Indicator

Volume Profile Supertrend [HexaTrades]Volume Profile Supertrend re-imagines the classic Supertrend. Instead of trailing bands built from pure volatility (ATR), it builds them around the levels where real volume has traded the Point of Control and Value Area.
The philosophy is simple: a normal Supertrend follows volatility; this one follows where the market accepts value. Price tends to gravitate to, and trend away from, the zones where the most business gets done. By anchoring the trend engine to value migration, the indicator aims to stay on the right side of the move while filtering out a portion of low-quality volatility noise.
Everything is computed internally in Pine; no built-in Volume Profile tool is used, so it works on any symbol and timeframe that has volume.
💡How it works
1. Rolling Volume Profile:
It looks back over the last Profile Lookback bars, finds the high–low range, and divides it into Number of Rows price buckets. Every historical bar's volume is distributed across the buckets its range spans, producing a fresh volume distribution on every candle.
2. POC, VAH & VAL:
POC (Point of Control) : the price bucket with the highest traded volume (the "fairest price").
Value Area: the script expands outward from the POC until it captures the chosen Value Area % (default 70%) of total volume.
VAH / VAL: the upper and lower edges of that Value Area.
3. Smoothing & Supertrend bands:
POC, VAH, and VAL are smoothed with EMAs to remove jitter. Two trailing bands are then built, exactly like a Supertrend:
Lower band = smoothed VAL − (ATR × buffer) → support used while bullish.
Upper band = smoothed VAH + (ATR × buffer) → resistance used while bearish.
The bands only trail in the trend-following direction, so they lock in as the price advances.
4. Trend flip:
The trend is bullish while price holds above the lower band, and flips bearish when price closes below it (and vice-versa). The flip is evaluated against the previous bar's confirmed bands, so closed candles never change.
💡How to read it
🔶Bullish:A green line sits below the price. The market is accepting a higher value; treat pullbacks toward the line as the trend "breathing." A flip to red is your warning.
🔶Bearish: A red line sits above the price. Value is migrating lower; rallies into the line are where sellers tend to re-engage. A flip to green signals a potential turn.
🔶Choppy Markets: When price is inside the value area and trend strength is low, the market may be sideways.
In these conditions, signals can be weaker. It may be better to wait for a clear value breakout or stronger trend strength.
🔺Signals
- BUY label prints when the trend flips from bearish to bullish.
- SELL label prints when the trend flips from bullish to bearish.
- A flip dot marks the exact bar of the change on the trend line.
- Trend Strength Filter: Set Minimum Trend Strength above 0 to filter out weak trend flips and display only higher-conviction signals. (Available in the indicator settings.)
┼ Dashboard
-Trend: Current direction Bullish or Bearish.
-Strength: 0–100% conviction score blending distance from POC, POC slope, and whether price has broken outside the Value Area.
-Price Position: Above / Inside / Below Value Area.
-Last Signal: The most recent BUY or SELL that fired.
Alerts
The indicator includes alerts for important events:
-Buy Signal / Sell Signal
-Bullish Trend / Bearish Trend (flip)
-Price Above Value Area / Price Below Value Area
-Price Crossing POC EMA
Suggested Settings
For Intraday Trading
Use lower lookback and medium rows for faster signals.
Example:
-Profile Lookback: 50–100
-Rows: 30–50
-EMA Smoothing: 8–14
-ATR Buffer: 0.5–1.0
For Swing trading
Use higher lookback and smoother settings for cleaner signals.
Example:
-Profile Lookback: 100–250
-Rows: 40–70
-EMA Smoothing: 10–21
-ATR Buffer: 0.8–1.5
For Cleaner Signals
-Increase EMA Smoothing Length
-AIncrease TR Buffer
-Increase Minimum Trend Strength
Volume Profile Supertrend combines the proven structure of a Supertrend with the market's true area of value derived from a rolling Volume Profile. Instead of relying solely on price volatility, it follows the migration of value through the Point of Control (POC) and Value Area (VAH/VAL) to identify higher-quality trend changes.
Whether you're a day trader or swing trader, this indicator helps you visualize trend direction, identify dynamic support and resistance, filter weak reversals, and stay aligned with the prevailing market structure. Use it as a standalone trend-following tool or alongside your existing trading strategy for additional confirmation.
We would love to hear your suggestions. If you have ideas for new features, indicators, analytics, or improvements, please share your feedback. Your input helps guide future updates and improve the indicator for all traders.
This indicator is for educational and analytical purposes only. It is not financial advice. Trading involves risk. Always use proper risk management and combine this indicator with your own analysis before taking any trade.
Indicator

Adaptive SuperTrend -, Regime Filter & Buy/Sell Signals [LunqFX]Adaptive SuperTrend is a self-tuning trend indicator for PulseWire that fixes the biggest flaw of the classic SuperTrend: a fixed multiplier that whipsaws in choppy markets and lags in fast ones. This version makes the SuperTrend multiplier adaptive — it automatically widens in high volatility and tightens in low volatility — and layers a regime filter and a momentum filter on top to deliver clean, non-repainting Buy/Sell signals with an automatic take-profit / stop-loss ladder and live performance stats. It works on forex, crypto, stocks, indices, futures, gold (XAUUSD) and Bitcoin (BTCUSD), on any timeframe, for scalping, day trading and swing trading. Built in Pine Script v6. Keywords: adaptive supertrend, supertrend, trend, trend following, buy sell signals, regime filter, ATR trailing stop, volatility, momentum, take profit, stop loss, risk reward, trend reversal, no repaint, scalping, day trading, swing trading.
◆ WHY ADAPTIVE
A normal SuperTrend uses one fixed multiplier for every market and every condition, so it gets shaken out in volatile phases and reacts too slowly in calm ones. Adaptive SuperTrend ranks current volatility against its own recent history (0–100%) and maps that onto a multiplier range — wide when the market is wild, tight when it is calm — with zero manual tuning. The same settings behave sensibly on EURUSD, BTCUSD and the S&P 500.
◆ WHAT IT DOES
Adaptive trend line + fill — a volatility-adjusted trailing stop that flips turquoise (up) / magenta (down).
Filtered Buy/Sell signals — a trend flip only fires as a signal when two filters agree.
Auto TP/SL ladder — on every signal it draws the stop (on the trend line) and TP1 / TP2 / TP3 at 1R / 2R / 3R, so you get a complete trade plan instantly.
Conviction Score 0–100 — one number summarising how strong the current setup is.
Live win-rate stats — the script tracks its own past signals on the fly.
Neon trend candles + a clean live dashboard.
◆ HOW IT WORKS (the concepts)
Adaptive multiplier: ATR is ranked by percentile over a lookback window; the percentile sets the SuperTrend multiplier between your min and max.
SuperTrend core: the standard trailing-stop formula, flipping direction when price closes beyond the band.
Regime filter (Kaufman Efficiency Ratio): directional travel divided by total path = how trending vs choppy the market is. Signals are blocked in low-efficiency (range) conditions to cut false signals.
Momentum check: a flip is only taken when price is on the matching side of its momentum EMA.
Conviction Score: a weighted blend of trend efficiency, momentum agreement and trend-line slope (0–100).
Live stats: each signal is tracked sequentially — a “win” = price reaches TP1 (1R) before the stop — with no lookahead.
◆ HOW TO USE IT
Take BUY / SELL labels in the direction of the new trend; the SL and TP1/2/3 ladder give you the exact plan and risk/reward.
Favour signals with a high Conviction Score and a TRENDING regime; stand aside when the dashboard shows RANGE.
Manage the trade to TP1/TP2/TP3 or trail with the adaptive line.
Tune Min/Max multiplier for tighter or looser stops and Efficiency threshold for how strict the range filter is.
Combine with your own support/resistance, structure or higher-timeframe bias for confluence.
◆ SETTINGS
Adaptive Trend: ATR length, min/max multiplier, volatility window.
Regime Filter: on/off, efficiency length, trend threshold.
Momentum Check: on/off, momentum EMA.
Visuals: trend fill, glow, neon candles, Buy/Sell labels.
Trade Levels & Stats: auto TP/SL ladder, live signal stats.
Panel: show/hide, position, background, accent.
◆ ALERTS
Buy signal · Sell signal · Trend flip up · Trend flip down.
◆ ORIGINALITY
The SuperTrend trailing-stop formula is a standard, public technique, implemented here from scratch. The adaptive volatility-percentile multiplier, the regime filter integration, the Conviction Score, the R-based TP/SL ladder and the live win-rate engine are my own original work. No third-party or copied code is used.
◆ LIMITATIONS
This is a trend/volatility tool, not a complete system — always confirm with price action and risk management.
Like all trend-following tools, it can chop in tight ranges; the regime filter reduces but cannot eliminate this.
The fixed-R stop in the ladder is a planning aid (constant 1R), separate from the trailing adaptive line — they are different stops by design.
The live win-rate is the indicator’s own TP1-vs-stop estimate; if a single bar tags both the stop and TP1 it is counted as a win, so treat the stat as indicative, not exact.
Past performance and live stats do not guarantee future results.
◆ NON-REPAINTING
Trend, regime, signals and stats are computed from confirmed bar data with no security() lookahead. A signal printed on a closed bar stays. As with any live tool, the forming bar updates in real time and settles on close.
Adaptive SuperTrend is an educational analysis tool, not financial advice. Always do your own research and manage risk. © LunqFX. Indicator

NLMS Volatility Trail [BackQuant]NLMS Volatility Trail
Overview
NLMS Volatility Trail is an adaptive trend-following overlay that combines a machine-learning style adaptive filter with a volatility-based trailing structure. It is built around the Normalized Least Mean Squares (NLMS) algorithm, then converts that adaptive estimate into an ATR-based trailing line designed to follow directional regimes while filtering out minor noise.
The indicator has two core layers:
An NLMS adaptive filter , which learns a dynamic price estimate from prior bars.
An ATR volatility trail , which converts that learned estimate into a step-like directional trailing structure.
The goal is to produce a trend line that is more adaptive than a traditional moving average and more structured than a raw adaptive filter. The NLMS engine learns the underlying price path, while the ATR trail adds volatility-aware confirmation so trend shifts only occur when the adaptive estimate moves meaningfully.
Core idea
Most trend filters use fixed smoothing rules. An EMA, SMA, WMA, or HMA always applies the same mathematical weighting scheme regardless of whether the market is trending, ranging, expanding, or compressing.
NLMS is different. It continuously updates its internal weights based on prediction error.
This means the filter is not just averaging price. It is constantly asking:
How well did the previous weighting structure predict the current bar?
How large was the error?
How should the weights adjust to reduce future error?
The second layer then takes that adaptive estimate and applies an ATR-based trailing mechanism around it. This creates a volatility-adjusted trend trail that reacts to confirmed shifts while ignoring smaller movements that do not exceed the range structure.
What NLMS is
NLMS stands for Normalized Least Mean Squares . It is an adaptive filtering algorithm from digital signal processing. It is closely related to the original LMS algorithm developed by Bernard Widrow and Ted Hoff, which became one of the foundational online learning methods used in adaptive systems.
Adaptive filters have historically been used in:
Noise cancellation
Echo cancellation
Telecommunications
Radar and sonar processing
Signal prediction
Control systems
The basic purpose is to estimate or predict a signal while continuously adapting to changing conditions.
In trading terms, this indicator uses NLMS to build a learned estimate of price from prior bars.
How the NLMS filter works
The filter uses a set of historical inputs called taps .
If taps = 72, the model uses the previous 72 bars:
source
source
source
...
source
Each tap has a learned weight.
The prediction is calculated as:
prediction = w1 × source + w2 × source + ... + wM × source
The filter then compares the prediction to the actual current source:
error = source - prediction
That error drives the weight update.
If the prediction was poor, the weights adjust more.
If the prediction was accurate, the weights adjust less.
This creates an adaptive estimate that evolves with market behavior.
Why it is normalized
The normal LMS algorithm updates weights based on the raw input and prediction error. The issue is that if the input signal becomes large or volatile, updates can become unstable.
NLMS solves this by dividing the update by the input power:
power = sum(source ²)
The update becomes:
w = w + (μ / (ε + power)) × error × input
This normalization makes the learning process more stable across different volatility environments.
When the input power is high:
Updates are scaled down.
The filter avoids overreacting.
When the input power is low:
Updates are allowed to remain meaningful.
This is why NLMS is better suited to markets than a basic adaptive filter. Markets constantly shift between quiet and volatile regimes.
Weight initialization
The script initializes all weights equally:
weight = 1 / M
This means the filter starts with an SMA-like prior. Before learning begins, every historical bar contributes equally.
Over time, the filter adapts away from that equal-weight baseline and learns its own weighting structure.
Inputs that control the NLMS engine
Filter Taps (M)
Controls how many historical bars the model learns from.
Higher taps:
More memory
Smoother adaptive estimate
Slower response to regime change
Lower taps:
Less memory
Faster reaction
More noise sensitivity
Step Size (μ)
Controls the learning rate.
Lower μ:
Slower learning
Smoother output
More stable
Higher μ:
Faster learning
More responsive
Can become noisy if too aggressive
This is one of the most important settings. It controls how quickly the model changes its internal weights.
Regularization (ε)
Prevents instability when input power is very low.
It acts as a stabilizer in the denominator:
ε + power
Higher values make updates more conservative.
Lower values allow stronger adaptation but can become less stable in quiet conditions.
From adaptive filter to volatility trail
The raw NLMS output is not plotted directly as the main trend line. Instead, it is passed into a volatility trailing structure.
The script builds an ATR band around the NLMS estimate:
Upper band = NLMS output + ATR × factor
Lower band = NLMS output - ATR × factor
Then it creates a trailing value that only updates when the NLMS band structure forces it to move.
This creates a trail that behaves similarly to a volatility stop, but the center is not price or hl2. It is the learned NLMS estimate .
ATR volatility trail logic
The trail starts from the NLMS output, then carries forward its previous value:
nlmsAtr := previous nlmsAtr
Then:
If lower band rises above the trail, the trail moves up.
If upper band falls below the trail, the trail moves down.
This creates a directional trailing structure:
In bullish regimes, the trail ratchets upward.
In bearish regimes, the trail ratchets downward.
It filters out small movements because price must move enough relative to ATR and the adaptive estimate to change the trail direction.
Why combine NLMS with ATR
NLMS alone gives an adaptive estimate, but it can still wiggle as the model learns.
ATR alone gives volatility structure, but it is usually tied to raw price and fixed smoothing.
Combining them gives:
Adaptive intelligence from NLMS.
Volatility confirmation from ATR.
Cleaner trend state transitions.
Less dependence on fixed moving-average assumptions.
The NLMS model learns the underlying price behavior, while ATR decides whether movement is large enough to matter.
Trend direction
Trend flips are detected from the trail itself:
Bullish when nlmsAtr crosses above its previous value.
Bearish when nlmsAtr crosses below its previous value.
This means signals are generated when the volatility trail changes direction, not when price simply crosses the line.
That is important because:
The trail must structurally move.
The signal is tied to confirmed trail direction.
Noise around the line does not automatically create a flip.
Visual design
The indicator includes several visual layers.
Main trail line
The central plotted line is the NLMS ATR trail. It changes color based on the current trend state:
Green for bullish trail direction.
Red for bearish trail direction.
Gray before a trend state is established.
Gradient fill
The script fills the space between price and the trail:
If price is above the trail, bullish fill is shown.
If price is below the trail, bearish fill is shown.
The fill is stronger near the trail and fades toward price, making the trail feel like the active structural reference.
Trail glow
A soft glow is drawn around the trail using a small ATR offset:
glow = ATR(14) × 0.06
This highlights the trail visually without cluttering the chart.
Trend candles
Candles are colored by trend state:
Bullish trend = bullish candles.
Bearish trend = bearish candles.
This allows the script to function as a complete regime overlay.
How to interpret the indicator
Bullish state
A bullish state occurs when the NLMS volatility trail turns upward.
This suggests:
The adaptive filter is shifting higher.
The ATR trail has confirmed upward structure.
Trend pressure has turned bullish.
Bearish state
A bearish state occurs when the NLMS volatility trail turns downward.
This suggests:
The adaptive estimate is shifting lower.
The volatility trail has confirmed downside structure.
Trend pressure has turned bearish.
Price above the trail
Generally indicates bullish structure.
Price below the trail
Generally indicates bearish structure.
But the most important signal is the direction of the trail itself, not every price touch.
How to use it in practice
1) Trend following
Use the trail direction as the primary bias:
Favor longs when the trail is bullish.
Favor shorts when the trail is bearish.
2) Dynamic support/resistance
The trail can act like a dynamic structural level:
In uptrends, pullbacks toward the trail can act as support.
In downtrends, rallies toward the trail can act as resistance.
3) Trade management
The trail can be used as:
A trailing stop guide.
A regime invalidation level.
A trend continuation reference.
4) Regime filtering
Because the line adapts using NLMS and only flips when the volatility trail turns, it can be used to filter other entries:
Take only long setups during bullish trail regimes.
Take only short setups during bearish trail regimes.
Avoid countertrend trades when the trail is strongly directional.
Difference from normal Supertrend or ATR trails
A normal ATR trail is usually built directly from price or hl2.
This indicator is different because the trail is built around an adaptive learned estimate.
That means:
The centerline is not raw price.
It is not a fixed moving average.
It is a continuously learned NLMS estimate.
So the trail has a different character:
More adaptive than a standard moving average trail.
More stable than a raw price-based ATR stop.
More responsive to changing market structure than fixed filters.
Difference from the NLMS Adaptive Trend Filter
The NLMS Adaptive Trend Filter plots the learned estimate directly and reads trend from its slope.
NLMS Volatility Trail goes one step further:
It uses the learned estimate as the base.
Then wraps it with ATR structure.
Then turns that into a trailing regime line.
So this version is more structure-oriented and better suited for trailing trend behavior.
Parameter tuning
Taps
Use higher taps for smoother trend structure.
Use lower taps for faster adaptation.
Step Size
Use lower step size for stability.
Use higher step size for responsiveness.
Regularization
Use higher regularization when the filter feels unstable.
Use lower regularization when the filter is too sluggish.
ATR Period
Controls volatility estimate:
Shorter = more reactive trail.
Longer = smoother trail.
ATR Factor
Controls band width:
Higher factor = wider trail, fewer flips.
Lower factor = tighter trail, more flips.
Strengths
Combines adaptive filtering with volatility trailing logic.
Learns from market structure instead of using fixed weights.
Uses ATR to reduce noise and confirm meaningful movement.
Good for trend following and trailing stop frameworks.
Visually clean with gradient fill and candle coloring.
Limitations
Still reactive, not predictive.
Can lag during violent reversals.
High learning rates may create noise.
Low ATR factors may cause whipsaws.
Requires tuning for timeframe and asset volatility.
Summary
NLMS Volatility Trail combines an adaptive NLMS predictor with an ATR-based trailing structure. The NLMS layer continuously learns a dynamic estimate of price from historical bars, while the ATR trail converts that estimate into a cleaner directional regime line. This makes the indicator more adaptive than a traditional moving average and more structured than a raw adaptive filter. It is best used as a trend-following overlay, dynamic support/resistance guide, and volatility-aware trailing framework.
Indicator

Price Action Bands | Trend & Volatility [RadixAlgo]🔶 About the Indicator
Price action often looks simple after the move is complete, but while the market is moving, traders usually need more context to understand whether price is trending, overextended, pulling back, or simply moving inside normal volatility. This price action indicator was built to make this context easier to read directly on the chart.
It combines a dynamic moving average baseline with upper and lower volatility bands, giving traders a structured way to follow trend direction, measure price extension, analyze volatility, and observe how price reacts around key dynamic support and resistance zones.
At the center of the indicator is a customizable trend baseline that can be calculated with different moving average types, including SMA, EMA, HMA, RMA, WMA, SWMA, and VWMA. The baseline changes color based on the current trend state, helping users distinguish bullish and bearish market conditions without adding unnecessary visual noise.
Around this baseline, the indicator plots adaptive volatility bands using either ATR or Standard Deviation. The upper red bands highlight areas where price may be extended to the upside, while the lower green bands show where price may be stretched to the downside.
This isn’t one of those indicators that tries to tell you exactly when to buy or sell. It’s more like a lens that helps you see what the market is actually doing in real time. Sometimes you’ll notice price hugging the bands during a strong trend, other times it drifts back toward the baseline after stretching too far.
That’s where the real insight comes from. You can tweak the moving average type, adjust how wide the bands are, or smooth things out depending on how fast or slow you like to read the chart. Whether you’re watching quick intraday moves or letting a swing trade develop over days, it naturally adapts to your style without forcing a rigid system on you.
🔶 How It Works
The logic behind Price Action Bands | Trend & Volatility starts with a dynamic trend baseline. This baseline is the central reference point of the indicator and acts as the main structure around which price action is interpreted.
Instead of forcing every market into one fixed moving average model, the indicator allows traders to choose between several moving average types, including SMA, EMA, HMA, RMA, WMA, SWMA, and VWMA.
Each one reads the market slightly differently. SMA provides a classic and balanced view of the average price, EMA reacts faster to recent price changes, HMA is smoother while still being responsive, RMA is useful for softer trend tracking, WMA gives more importance to recent candles, SWMA creates a smoother short-term baseline, and VWMA includes volume in the calculation, making it useful when traders want the trend line to reflect both price and trading activity.
After the baseline is calculated, the indicator compares it with a smoothed version of itself. This creates the trend state logic. When the baseline is positioned above its smoothed signal line, the market is treated as being in a bullish trend state, and the trend area is highlighted in blue.
When the baseline moves below the smoothed signal line, the market is treated as being in a bearish trend state, and the trend area is highlighted in orange. This does not mean that the indicator is generating automatic buy or sell signals. Instead, it gives traders a cleaner way to understand whether the current price action is aligned with bullish pressure or bearish pressure.
The second major part of the indicator is the volatility band system. Around the trend baseline, the script builds upper and lower bands that expand and contract based on market conditions. These bands can be calculated using either ATR or Standard Deviation. ATR measures the actual range of price movement and is useful for understanding how much the market is moving from candle to candle.
It is especially helpful in volatile markets, breakout phases, and fast price movements. Standard Deviation, on the other hand, measures how far the baseline or price behavior is spread from its average condition. This makes it useful for identifying statistical price extension, compression, and overextended market areas.
The indicator uses two band levels on each side of the baseline: inner bands and outer bands. The inner bands represent a moderate volatility zone, while the outer bands represent a more extreme price extension area. When price moves into the upper red bands, it shows that price is stretched above the trend baseline.
This can happen during strong bullish continuation, aggressive breakout movement, or an overextended upside condition. When price reaches the lower green bands, it shows that price is stretched below the trend baseline. This can appear during strong bearish continuation, downside volatility expansion, or an overextended sell-side move.
The upper and lower bands should not be read as simple overbought and oversold levels. This is where the indicator becomes more than just a basic band framework. Price can touch an upper band and continue higher if the trend is strong, or it can leave the upper band and return toward the baseline when momentum starts to fade.
The same logic applies to the lower bands. A move into the lower band can signal strong bearish pressure, but if price exits the band and begins moving back toward the baseline, traders may start watching for a possible reaction, correction, or mean-reversion move. The value comes from reading the relationship between price, the baseline, the trend state, and the volatility zones together.
In bullish conditions, traders usually focus on how price behaves around the blue trend baseline, the upper volatility bands, and pullbacks toward the central structure. A bullish market may show price holding above the baseline, reacting from it, or expanding toward the upper bands as volatility increases. In this environment, pullbacks toward the baseline can help traders evaluate whether the trend is still supported, while movement into the upper bands can show momentum expansion or price extension.
In bearish conditions, the logic is reversed. Traders watch how price behaves below the baseline, how it reacts around the orange trend state, and whether downside movement reaches the lower green bands. Pullbacks toward the baseline may act as areas where bearish pressure returns, while movement into the lower bands can show strong downside volatility or stretched price action.
Because the indicator does not place automatic signals on the chart, the trader remains responsible for interpreting the setup. A breakout, pullback, exit from band, or trend continuation condition is not defined by one single line touch. It is read through context: the color of the trend baseline, the position of price relative to the baseline, the distance between price and the bands, and the way candles react after entering or leaving a volatility zone. This makes the tool flexible for different strategies, including trend-following, breakout trading, pullback trading, volatility analysis, and mean-reversion analysis, while still keeping the chart visually clean.
🔶 Input Parameters
🔹Moving Average Type
Selects the moving average used as the main trend baseline. The available options are SMA, EMA, HMA, RMA, WMA, SWMA, and VWMA. Each moving average type reacts differently to price movement, so traders can choose the one that best matches their trading style.
🔹Moving Average Period
Defines the length of the moving average baseline. Higher values create a smoother and slower trend line, while lower values make the baseline react faster to recent price changes.
🔹Trend Smoothing Period
Controls the smoothing of the trend signal line. Lower values make the trend state more sensitive to changes, while higher values create a smoother and more stable trend reading.
🔹Band Method
Determines how the volatility bands are calculated. Traders can choose between ATR and Standard Deviation. ATR measures market range and movement, while Standard Deviation measures price dispersion around the baseline.
🔹ATR Period
Sets the lookback period for the ATR calculation. This option is active when the Band Method is set to ATR. A shorter period reacts faster to volatility changes, while a longer period creates a smoother volatility reading.
🔹Standard Deviation Period
Sets the lookback period for the Standard Deviation calculation. This option is active when the Band Method is set to Standard Deviation. It controls how price dispersion is measured for the volatility bands.
🔹Band Smoothing Period
Smooths the upper and lower bands to reduce short-term fluctuations. Higher values make the bands more stable, while lower values make them more responsive to recent market movement.
🔹Inner Band Multiplier
Controls the distance of the inner bands from the trend baseline. The inner bands represent the closer volatility zone and can help traders observe moderate price extension.
🔹Outer Band Multiplier
Controls the distance of the outer bands from the trend baseline. The outer bands represent a wider volatility zone and can help traders identify stronger price extension or more extreme market movement.
🔶 Summary
Price Action Bands | Trend & Volatility brings trend direction, price action analysis, and volatility bands into one clean chart-based framework. By combining a customizable moving average baseline with adaptive upper and lower bands, the indicator helps traders understand whether price is following the current trend, pulling back toward dynamic support and resistance, expanding with volatility, or moving into an overextended area. The colored trend baseline gives a quick view of bullish or bearish market conditions, while the ATR and Standard Deviation band methods allow the volatility zones to adapt to different market structures, trading styles, and timeframes.
This indicator is not designed to replace trader judgment with automatic buy and sell signals. Instead, it gives users a practical way to interpret trend-following setups, breakout conditions, pullback opportunities, exit-from-band behavior, mean-reversion zones, and volatility expansion directly on the chart. With flexible settings for moving average type, moving average period, trend smoothing, band method, band smoothing, and inner or outer band multipliers, Price Action Bands can be adjusted for scalping, intraday trading, swing trading, and broader market analysis while keeping the chart readable and focused on real price action.
Indicator

Market Condition Oscillator [HexaTrades]Market Condition Oscillator classifies price action into three simple states: Bullish Trend, Bearish Trend, and Consolidation, and paints them as a color-coded histogram below your chart. It is built to answer one question at a glance: should I be trend-trading right now, or is the market just chopping sideways?
What it shows
🟢 Green histogram above zero → confirmed bullish trend. Taller bars = stronger trend.
🔴 Red histogram below zero → confirmed bearish trend. Deeper bars = stronger trend.
⚪ Gray histogram near zero → consolidation/range (no clear trend).
How it works
The indicator combines four classic, well-understood concepts so that no single signal can produce a false trend on its own:
1. ADX (trend strength): measures how strongly the market is trending. Below the threshold, the market is treated as consolidation regardless of direction.
2. DI+ / DI− (direction) : the Directional Movement pair decides whether strength is to the upside or downside.
3. EMA position + slope (confirmation) : price must be on the correct side of the EMA and the EMA must be sloping the right way. This filters out counter-trend spikes.
4. ATR & EMA-distance (range detection) : consolidation is flagged when volatility compresses or price hugs the EMA, even if ADX hasn't fully dropped yet.
A phase only changes after the condition holds for a configurable number of candles (Confirmation Bars). This is the key to removing the constant flip-flopping that plagues most trend indicators.
Trend rules
✏️ Bullish = ADX above threshold and DI+ > DI− and price above EMA and EMA rising — held for N bars.
✏️Bearish = ADX above threshold and DI− > DI+ and price below EMA and EMA falling — held for N bars.
✏️Consolidation = weak ADX, or compressed ATR, or price hugging the EMA — anything that is not a confirmed trend.
Features
- Bullish, bearish, and consolidation market phase detection.
- Separate oscillator panel for clean chart reading.
- Color-coded histogram.
- Optional histogram smoothing.
- Confirmation bars to reduce false flips.
- Phase label on the latest candle.
- Legend table for easy interpretation.
- Alert conditions for bullish, bearish, consolidation, and trend-flip events.
- Uses confirmed candle data only and does not use future references.
How to use it
- Trend traders: only take longs while the histogram is green, shorts while it is red. Stand aside on gray.
- Mean-reversion traders: the gray phase highlights range conditions where fade/scalp setups work best.
- Filter: combine with your existing entry system and ignore signals that fight the MCO color.
- Works on any market and any timeframe. For higher timeframes, consider raising the ADX threshold and Confirmation Bars.
Alerts
Five ready-to-use alert conditions:
Bullish Trend Started
Bearish Trend Started
Consolidation Started
Bullish → Bearish Shift
Bearish → Bullish Shift
This indicator is designed to help identify market conditions. It should be combined with price action, support and resistance, volume, and proper risk management. No indicator can guarantee profitable trades.
We would love to hear your suggestions. If you have ideas for new features, indicators, analytics, or improvements, please share your feedback. Your input helps guide future updates and improve the indicator for all traders.
This indicator is for educational and analytical purposes only. It should not be considered financial advice. Always use proper risk management and make trading decisions based on your own analysis
Indicator

[ A L P H A X ] CATALYST - Volatility & Regime Prediction EngineAlphaX CATALYST — Volatility Ignition & Regime Prediction Engine: Compression Cycle Detection, Bias Vector Scoring, 6-Stage Regime State Machine & Ignition Probability Gate
AlphaX CATALYST is a professional-grade volatility prediction system built on a fundamentally different philosophy from every other indicator in the AlphaX suite. Where VOID, SURGE, FORTRESS, and ANCHOR all detect setups after price has established a structural context, CATALYST reads the market before the move happens. It does not wait for a breakout to confirm entry — it measures the energy compressing inside the market during quiet periods and predicts the ignition point before the explosion occurs. The core insight is simple but profound: markets breathe in cycles. They compress, coil, and then release energy in directional bursts. CATALYST quantifies every stage of that cycle — from the first signs of volatility contraction through full coil, ignition, trending expansion, and exhaustion — and fires signals only when the compression is deep enough, the directional bias during the coil is strong enough, and the higher timeframe structure confirms the direction. The result is a system that positions you at the moment of ignition — not a bar after the breakout has already occurred. Designed for volatility-aware traders across crypto, forex, gold, and indices on any timeframe.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌬 The Philosophy — Markets Breathe
Every major directional move in every liquid market is preceded by a period of compression. Price range contracts. Volume dries up. Volatility percentile falls toward historic lows. The Bollinger Bands compress inside the Keltner Channels. Narrow range bars form consecutively. This compression is not random — it is the mechanism by which institutional positions are accumulated quietly, without moving price, before the delivery move begins.
Most traders see this compression phase as boring or unreadable and look elsewhere for setups. CATALYST is built on the opposite premise: the compression phase is the most important and readable phase of the entire price cycle . The depth of the compression tells you how much energy is coiling. The directional bias during the compression tells you where that energy is most likely to be released. The higher timeframe alignment tells you whether that release is likely to be with or against the macro institutional flow.
By the time the breakout candle is obvious to everyone, CATALYST has already been tracking the setup for multiple bars — measuring compression depth, monitoring accumulation bias, and computing the ignition probability score in real time. When ignition fires, it fires with advance conviction — not reactive confirmation.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙ The 6-Stage Regime State Machine
CATALYST is built around a deterministic 6-stage regime cycle that every market passes through on every timeframe. Understanding the regime is the foundation of using CATALYST correctly — the dashboard, background colors, and regime flip labels all communicate exactly which stage the market is in at every bar.
Stage 0 — QUIET
The market is dormant. No significant compression is building (score below 35). Volatility is neither low nor building toward a setup. This is the baseline state — the market is between cycles. Gray background tint. No actionable context.
Stage 1 — BUILDING
Compression is beginning to develop (score between 35 and 75). One or more compression signals are present — the squeeze may be turning on, narrow range bars may be forming, volume may be beginning to dry. The coil is winding up. Orange background tint intensifies slightly. The bias vector label appears on the current coil box to indicate which direction accumulation is occurring.
Stage 2 — COILED
Maximum compression state (score 75+, full BB/KC squeeze active). The spring is fully wound. Energy is at maximum concentration. This is the highest pre-ignition alert state. Deeper orange background tint. The coil box is rendered with higher opacity. The COILED flip label appears on the chart. Dashboard shows COMPRESS at 75%+ and SQUEEZE ON. This is the state you watch most closely — ignition can occur at any bar from here.
Stage 3 — IGNITION
A single-bar flash state. The regime transitions through IGNITION on the bar where all ignition conditions are simultaneously met — compression deep enough, bias directional enough, expansion candle large enough, ATR expanding. The cyan background tint and IGNITION flip label mark this bar. The IGNITE signal label fires on this bar. This is the entry bar. Immediately transitions to TRENDING on the next bar.
Stage 4 — TRENDING
The expansion phase. Price is in directional delivery. The regime holds TRENDING until one of the exhaustion conditions fires: RSI reaching extreme levels with climax volume, a significant wick rejection candle in the trend direction, a squeeze reforming during the trend (stall), or a reversal candle closing through the 21 EMA. Yellow-green tint during bull expansion, red tint during bear expansion.
Stage 5 — EXHAUSTION
The expansion energy is spent. One of the exhaustion conditions has triggered. Purple diamond markers appear above or below price. This is the early warning that the trend leg is ending — not necessarily the trend itself, but the current momentum leg. After EXHAUSTION, the regime resets: if compression begins building again, it cycles back to BUILDING; if not, it returns to QUIET and the cycle begins again.
Why the state machine matters: Every signal in CATALYST is regime-gated. Ignition signals can only fire from the COILED state. Exhaustion warnings can only fire from the TRENDING state. This ensures signals are always contextually appropriate — you cannot get an ignition signal without prior compression, and you cannot get an exhaustion warning without a prior trend.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📉 The Compression Score Engine — Measuring the Coil
The compression score is a 0–100 composite reading that quantifies exactly how tightly the market is coiling at any given bar. It is the primary input to the regime state machine and is displayed live on the dashboard.
Six compression components and their weights:
Squeeze State (up to 30 points):
The BB/KC squeeze is the most powerful single compression signal. When Bollinger Bands are fully inside Keltner Channels, the market is at maximum volatility contraction — 30 points. If the squeeze fired on the previous bar (just released), 15 points are still awarded, capturing the residual compression energy at the moment of release.
Narrow Range Pattern — NR (up to 20 points):
The current bar's high-low range is measured against the lowest range over the lookback period (default: 7 bars). When the current bar has the narrowest range in the lookback window, 20 points are awarded. This is the NR7 pattern generalized to a configurable lookback — the classic volatility contraction signal.
NR Streak (up to 15 points):
Consecutive narrow range bars amplify the coil energy. When the NR count over the minimum coil duration reaches the threshold, 15 additional points are awarded. Multiple consecutive NR bars indicate the market has been compressing for a sustained period — a deeper, more energetic coil.
Volume Dry-Up (up to 15 points):
Current volume below the configurable fraction of its moving average (default: 65% of the 20-bar SMA) confirms institutional accumulation is occurring quietly — institutions are building positions without creating visible volume signals. 15 points awarded when volume is dry.
Volume Dry Streak (up to 10 points):
Multiple consecutive bars of volume dry-up, identical logic to the NR streak. Sustained low volume over multiple bars is a stronger coil signal than a single dry bar.
ATR Percentile Rank (up to 10 points):
The current ATR is ranked against its own history over the configurable lookback (default: 100 bars). When ATR is in the bottom 25th percentile of its historical range — meaning volatility is at a historic low for this instrument on this timeframe — 10 points are awarded. Below the 40th percentile scores 5 points. This ensures the compression is genuine historically, not just temporarily quiet in an already volatile market.
Reading the score:
0–35 — QUIET, no meaningful compression building
35–55 — BUILDING, compression developing but not yet actionable
55–74 — COILING, significant compression present
75–100 — FULLY COILED, maximum compression, squeeze active. Ignition-ready state
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧭 The Bias Vector — Who Is Accumulating During the Coil?
Compression tells you the market is coiling. The Bias Vector tells you which direction institutions are accumulating during that coil. A range of -100 (fully bearish) to +100 (fully bullish), the bias vector is a composite of five independent directional pressure readings — each measuring accumulation from a different angle.
Volume Delta (up to ±25 points):
The estimated directional volume pressure — bull volume EMA minus bear volume EMA — forms the primary bias input. When delta is positive and rising (buyers accelerating), 25 points are added. When delta is positive but not accelerating, 10 points. The inverse applies for bear delta. This is the most direct measure of whether buyers or sellers are winning the quiet accumulation battle during compression.
Close-Position Bias (up to ±20 points):
Where closes fall within each bar's high-low range, averaged over the lookback period (default: 10 bars). When the average close position is in the upper 55%+ of the range — candles are consistently closing near their highs — buyers are controlling the candle closes. ±20 points based on whether the close bias is bullish (above 0.55) or bearish (below 0.45). This is a subtle but powerful measure of who is controlling the close during the coil.
Micro Structure (up to ±20 points):
Higher highs or higher lows over the structure lookback (default: 20 bars) vote bullish. Lower lows or lower highs vote bearish. ±20 points. Micro structure during compression tells you whether the coil is forming as a higher low (bullish coil) or a lower high (bearish coil) — the internal structure of the compression box reveals directional intent.
HTF Bias (up to ±20 points):
The higher timeframe EMA alignment (default: 60-minute, 50-period EMA). When HTF close is above the HTF EMA — the macro trend is bullish — +20 points. When below, -20 points. When Require HTF Alignment is disabled, this component is neutral. The HTF bias ensures the coil's directional reading is contextualized against the macro institutional flow.
Price vs BB Basis (up to ±15 points):
Whether the current close is above or below the BB basis (Bollinger Band midline). Price above the basis during compression means the coil is forming above fair value — a mild bullish signal. Price below the basis is mildly bearish. ±15 points. This adds a relative positioning dimension to the bias.
Reading the bias vector:
+35 to +100 — bull bias. Buyers are accumulating during the coil. Long ignition is favored
-35 to -100 — bear bias. Sellers are distributing during the coil. Short ignition is favored
-34 to +34 — neutral bias. No clear directional accumulation. Ignition may fire in either direction — lower conviction
Bias Arrow:
During BUILDING and COILED regime stages, a live bias arrow label appears below (bull bias) or above (bear bias) the coil box on the current bar, showing the directional score in real time. As new bars form, the arrow updates continuously — you can watch the bias building or shifting during the coil.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔥 The Ignition Score — 0 to 100 Probability Gate
Every bar in the COILED regime, CATALYST computes two separate ignition scores — one for long ignition, one for short. These scores gate whether a signal fires. Only when the score meets the configured minimum threshold (default: 62) does a signal become eligible.
Long ignition score components:
Compression depth (up to 20 points) — fully coiled scores 20, isCoiling scores 10, moderate compression scores 10
Squeeze state (up to 20 points) — squeeze release scores 20 (maximum — the spring just released), squeeze still active scores 10
Bias vector alignment (up to 25 points) — bias above +50 scores 25, above +35 scores 15, below 0 deducts 15
HTF alignment (up to 15 points) — HTF bullish scores 15, disabled scores 15 (neutral)
Expansion candle quality (up to 15 points) — strong bull body above ATR threshold scores 15, any bullish close scores 8
ATR expansion (up to 5 points) — ATR expanding above its short-term average confirms the coil is releasing
Volume delta confirmation (up to 10 points) — accelerating buy delta scores 10, positive delta scores 5
The short ignition score mirrors this structure with all conditions inverted.
What the score thresholds mean in practice:
90–100 — near-perfect setup. All components aligned. Extremely rare
75–89 — elite setup. Multiple high-weight components confirmed simultaneously
62–74 (default threshold) — high-quality setup. Sufficient confirmation to fire
50–61 — moderate quality. Available if you lower the threshold, but carries more false signals
Below 50 — low-quality ignition conditions. System will not fire at any reasonable threshold setting
The live long and short scores are displayed in real time on the dashboard as IGNITE L and IGNITE S — color-coded yellow-green or red when they meet the threshold, neutral otherwise. You can watch the ignition score building toward threshold in real time during the coil phase.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ The Ignition Signal — IGNITE Entry
The IGNITE label is CATALYST's primary entry signal. It fires when all of the following conditions are simultaneously confirmed on a bar close:
Hard requirements (all must be true):
Regime is in COILED state (compression score 75+, squeeze active)
The expansion candle body meets or exceeds the configured minimum (default: 1.15× ATR) — the breakout candle is large and directional
The bias vector is aligned with the signal direction (+35 or higher for long, -35 or lower for short)
ATR is actively expanding above its short-term average — the volatility expansion has begun
Squeeze has released on this bar or was releasing on the previous bar (when Require Squeeze Release is enabled)
Ignition score meets the minimum threshold (default: 62)
Session filter is satisfied (when enabled)
Signal cooldown has elapsed since the last signal
Signal label: A large IGNITE label appears below the bar (long) or above (short) on the exact ignition bar. Yellow-green for long, red for short.
Why this is fundamentally different from a standard breakout signal: A standard breakout indicator fires when price closes above a resistance level or a band. It reacts to what has already happened. CATALYST fires on the ignition bar only after verifying that the preceding compression was deep enough (COILED regime), that the directional bias during the coil was confirmed (bias vector), that the breakout candle itself is sufficiently large (body ATR check), and that the volatility is genuinely expanding (ATR expansion). Every component addresses a specific failure mode of basic breakout trading — false breakouts, weak breakouts, counter-HTF breakouts, and low-compression breakouts are all filtered before the signal fires.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔮 The Compression Coil Box
When the compression score crosses 55 and the BUILDING regime begins, CATALYST draws a live Coil Box — an orange-tinted rectangle spanning the high-low range of the entire compression period from the first coiling bar to the current bar.
What the coil box represents: The coil box is the visual representation of the spring being wound. Every bar that the coil remains active, the box extends to the right and expands to incorporate the new bar's range. The box's height represents the total price range of the compression period — the tighter this range, the more compressed the energy.
Box opacity: The box becomes more opaque when the compression reaches the fully COILED state (score 75+, squeeze active). This visual intensity progression gives you an immediate sense of compression depth — a faint box means early-stage building, a deep orange box means maximum coil.
Box on ignition: When ignition fires, the box remains on the chart at the coil range, giving you a clear visual reference for the compression zone that preceded the move. The coil box range is also used for structural stop loss placement — the SL Beyond Coil Box Edge setting places the stop loss beyond the coil box boundary rather than a fixed ATR distance from entry.
Box cleanup: When the regime returns to QUIET (compression fully dissipated without ignition), the box is deleted. When ignition occurs, the box is retained as a reference.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Exhaustion Radar — Early Warning System
The Exhaustion Radar monitors the TRENDING regime for signs that the expansion energy is being spent. When exhaustion conditions are met, purple diamond markers appear above (bull trend exhaustion) or below (bear trend exhaustion) the bar — a warning that the current momentum leg is likely approaching its end.
Exhaustion conditions (any one is sufficient):
RSI climax with volume spike — RSI above the overbought threshold (default: 72) in a bull trend with volume exceeding the configured climax multiple (default: 2.2×). This combination of extreme RSI and high volume is the classic climax top pattern — buyers are exhausting their buying capacity simultaneously
RSI climax with volume spike (bear) — RSI below the oversold threshold (default: 28) with climax volume in a bear trend. Sellers exhausting
Wick rejection in trend direction — a bar with a rejection wick exceeding the configured minimum percentage (default: 55%) in the direction of the trend. A bull trend bar with a massive upper wick indicates aggressive selling into the highs — supply overwhelming demand at the extreme
Trend stall squeeze — when a squeeze (BB inside KC) forms during the trending phase while volume is also drying up. This indicates the expansion move has stalled into a new compression without resolution — energy is being absorbed rather than continuing
Reversal candle through 21 EMA — a strong opposing candle that closes through the 21-period EMA in the trend direction. In a bull trend, a strong bearish close through the 21 EMA indicates the trend's immediate momentum structure has been broken
How to use exhaustion signals: Exhaustion diamonds are not reversal signals. They indicate that the current momentum leg is likely complete — not that the trend has ended. Use them to take partial or full profit on trend trades, tighten trailing stops, or wait for the next CATALYST compression cycle to develop before re-entering.
━━━━━━━━━━━━━━━━━════════════════════════
🎯 Coil-Anchored Risk Guidance System
On every IGNITE signal, CATALYST draws forward-projecting risk guidance levels for the duration of the trade.
Stop Loss (SL):
When SL Beyond Coil Box Edge is enabled (default: on), the stop is placed beyond the coil box boundary — below the coil box low (long) or above the coil box high (short) — plus a small ATR buffer. The coil box represents the full compression range: if price returns into and through the opposite side of the coil box after ignition, the breakout has failed and the setup is invalidated. This gives the stop structural meaning beyond just an ATR distance. When the coil SL is less conservative than the fixed ATR SL, the system uses whichever is further from entry to ensure adequate protection.
TP1 — First Target:
2.0× ATR from the entry close (configurable). The initial partial profit target. At TP1, consider scaling out 50% of the position.
TP2 — Extended Target:
4.0× ATR from entry (configurable). The full expansion target for the remaining position — allowing the trailing stop or regime-based exit (exhaustion signal) to manage the remainder.
Level visualization: All three levels are drawn as horizontal dashed or dotted lines extending 12 bars forward from the signal bar, with price labels at the right edge showing exact levels. SL in red, TP1 in dim yellow-green, TP2 in bright yellow-green.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Live Dashboard
The 14-row real-time dashboard displays every internal state of the CATALYST engine on every bar.
REGIME — current stage: QUIET / BUILDING / COILED / IGNITION / TRENDING / EXHAUSTION. Color-coded by regime type
COMPRESS — live compression score 0–100%. Orange when above 50%, deeper orange when above 75%
SQUEEZE — ON (BB inside KC, maximum coil), RELEASE (squeeze just fired — highest-quality ignition condition), or OFF
ATR RANK — current ATR percentile versus its 100-bar history. Orange when below 30th percentile (historically low volatility — coil energy building)
VOL DRY — YES when current volume is below the dry-up threshold, NO otherwise. Orange when YES
BIAS VECTOR — the composite directional accumulation score with + or - sign. Yellow-green above +35, red below -35, neutral otherwise
HTF BIAS — higher timeframe EMA direction: BULL, BEAR, or FLAT
VOL DELTA — BUYERS when bull volume dominates, SELLERS when bear volume dominates
IGNITE L — live long ignition probability score 0–100. Highlights yellow-green when at or above the minimum threshold
IGNITE S — live short ignition probability score 0–100. Highlights red when at or above threshold
COIL BARS — number of bars the current coil has been active. Orange when at or above the minimum coil duration
COIL RANGE — the high-low range of the current coil box in price terms
SESSION — ACTIVE or FILTERED based on the session filter state
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Chart Visual System
Compression Coil Box (orange) — live orange-tinted box spanning the full high-low range of the current compression period. Brightens on full coil. The core visual centerpiece of CATALYST
Regime Background Tints — subtle full-bar background colors for each regime: gray (QUIET), light orange (BUILDING), deeper orange (COILED), cyan (IGNITION), yellow-green or red (TRENDING), purple (EXHAUSTION)
IGNITE Label (below bar, yellow-green) — bull ignition signal. All conditions confirmed
IGNITE Label (above bar, red) — bear ignition signal
◆ Exhaustion Diamond (above bar, purple) — bull trend exhaustion warning
◆ Exhaustion Diamond (below bar, purple) — bear trend exhaustion warning
Bias Vector Arrow Label — appears near the coil box on the current bar during BUILDING and COILED phases, showing ▲ BIAS +xx or ▼ BIAS -xx in real time
Regime Flip Labels — small text labels marking every regime transition: BUILDING, COILED, IGNITION, TRENDING, EXHAUSTION. Color-coded by regime
SL Dashed Line (red) — stop loss guide extending 12 bars from ignition bar
TP1 Dotted Line (dim yellow-green) — first take-profit guide
TP2 Dotted Line (bright yellow-green) — extended take-profit guide
SL / TP1 / TP2 Price Labels — exact price levels labeled at the right end of each guide line
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 How to Trade with AlphaX CATALYST — Step by Step
Step 1 — Monitor the Regime
Check the dashboard REGIME row. If it shows QUIET, nothing actionable is developing. If it shows BUILDING, a compression cycle is beginning — start paying attention
Watch COMPRESS build toward 75+. When SQUEEZE shows ON simultaneously, the market is in maximum coil state. This is your highest-alert pre-signal phase
Note the Coil Box forming and narrowing on the chart. The tighter the box, the more energy compressed inside
Step 2 — Assess the Bias During the Coil
Watch the Bias Arrow label near the coil box. Is it showing ▲ BIAS or ▼ BIAS? A strong positive bias (+50 or above) during a tight coil is the strongest possible pre-ignition setup
Check HTF BIAS on the dashboard — does it confirm the bias arrow direction? HTF alignment is worth 15 ignition score points and significantly increases the probability of a clean directional ignition
Watch VOL DELTA — are BUYERS or SELLERS winning the accumulation battle during the quiet phase?
If the Bias Vector is below ±35, the coil does not have strong directional conviction. Lower your size expectations or wait for bias to build
Step 3 — Watch the Ignition Scores Approach Threshold
As the coil deepens, watch IGNITE L and IGNITE S scores on the dashboard climbing toward the minimum threshold. When a score crosses the threshold and highlights, the system is primed — ignition can fire on the next qualifying expansion bar
The squeeze release (SQUEEZE shows RELEASE) is the most important single event in the ignition sequence. When the squeeze releases on a strong expansion candle in the bias direction, ignition fires immediately if the score is sufficient
Step 4 — Enter on the IGNITE Label
The IGNITE label marks the exact ignition bar. Enter on the close of the signal bar or the open of the following bar
The SL is placed beyond the coil box edge — below the coil low (long) or above the coil high (short). This is your structural invalidation: if price re-enters and closes through the opposite side of the coil box, the breakout has failed
TP1 at 2.0× ATR — scale out 50% here. Move the remainder to breakeven
Let TP2 or the first exhaustion diamond manage the remaining position
Step 5 — Exit on Exhaustion or Regime Shift
A purple diamond marks the exhaustion condition. Take profit on the remaining position or tighten the stop aggressively
The dashboard shows EXHAUSTION regime — the trend energy has been identified as spent
If no exhaustion fires and price continues, the system will track the regime as TRENDING — let the move run until exhaustion appears
After EXHAUSTION, the regime resets. Watch for a new compression cycle to build in the updated directional context
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Identifying Low-Quality Conditions — When Not to Trade
Stand aside when:
Regime is QUIET and COMPRESS is below 35 — no cycle is developing. CATALYST has nothing actionable and no signal can fire. Do not force entries
Regime reaches COILED but Bias Vector is below ±35 — the coil is real but the directional accumulation is inconclusive. Ignition in this environment carries reduced directional probability. Reduce size significantly or wait for bias to develop clarity
HTF BIAS opposes the bias vector direction — a bearish HTF while the bias vector is bullish means the coil is building against the macro institutional flow. Counter-HTF ignitions have a significantly lower success rate. Wait for HTF alignment
IGNITE L and IGNITE S scores are both below threshold — the market is compressing but neither a long nor short setup has sufficient confirmation quality. No signal will fire. Wait for the scores to build
Multiple regime cycles in rapid succession without trending — BUILDING → COILED → QUIET → BUILDING cycles that never reach IGNITION indicate a market in deep chop or accumulation. Do not try to anticipate the breakout direction — wait for the cycle to complete cleanly
Session shows FILTERED — the session filter has blocked the current time window. No signals will fire
COIL BARS is below the minimum coil duration — the compression has been too brief to build meaningful energy. A coil of 2 bars has far less stored energy than a coil of 8+ bars. Prioritize setups with longer coil durations
The ideal CATALYST setup:
COMPRESS at 80+, SQUEEZE ON for multiple bars
Bias Vector at +50 or above (long) or -50 or below (short)
HTF BIAS aligned with the bias direction
VOL DELTA confirming the bias direction (BUYERS for long, SELLERS for short)
IGNITE L or S score approaching 75+
COIL BARS at 5 or more — sustained compression
Squeeze RELEASE on the ignition bar — the spring snapping
Strong body expansion candle in the bias direction
When all these conditions align, CATALYST produces its highest-conviction ignition signals — setups where the compression depth, directional accumulation, HTF alignment, volume pressure, and expansion quality are all confirming simultaneously.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ Key Features
🌬 6-stage regime state machine — QUIET → BUILDING → COILED → IGNITION → TRENDING → EXHAUSTION. Every bar is classified and every signal is regime-gated
📉 Multi-component compression score — BB/KC squeeze, NR patterns, NR streaks, volume dry-up, volume dry streaks, and ATR percentile rank combined into a single 0–100 score
📦 Live compression coil box — orange-tinted box tracking the full range of the compression period in real time, brightening at maximum coil depth
🧭 5-component bias vector — Volume Delta, Close-Position Bias, Micro Structure, HTF EMA alignment, and BB Basis positioning combined into a -100 to +100 directional accumulation score
⚡ Live bias arrow label — directional score displayed near the coil box on the current bar, updating in real time during BUILDING and COILED phases
🔥 Dual ignition probability scores — separate 0–100 long and short scores computed every bar with a configurable minimum threshold gate
💥 IGNITE signal — fires only from COILED state on the exact bar where compression, bias, expansion candle, and ATR all confirm simultaneously
⚠ Exhaustion radar — RSI climax volume, rejection wick, trend stall squeeze, and reversal candle conditions produce early exhaustion warnings during the TRENDING phase
📡 HTF EMA bias filter — pulls higher timeframe directional structure into both the bias vector and the ignition scoring system
🎯 Coil-anchored SL placement — stop loss placed beyond the compression box structural boundary rather than a fixed ATR distance
🎨 Regime background tints — full-bar background colors for every regime stage, providing constant visual awareness of where the market is in the cycle
🏷 Regime flip labels — small text labels at every regime transition point on the chart history
📊 14-row live dashboard — Regime, Compress, Squeeze, ATR Rank, Vol Dry, Bias Vector, HTF Bias, Vol Delta, Ignition Scores, Coil Bars, Coil Range, Session updated every bar
🔔 5 alert conditions — Ignite Long, Ignite Short, Fully Coiled, Squeeze Release, Exhaustion Warning
⚙ Fully configurable — all ATR/BB/KC parameters, NR lookback, volume dry-up threshold, ATR percentile length, HTF timeframe and EMA, delta and structure lookbacks, ignition threshold, body size filter, exhaustion RSI/volume/wick parameters, SL/TP multiples, session windows, and all colors are independently adjustable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙ Settings Reference
Volatility Engine
ATR Length — ATR calculation lookback used across the engine (default: 14)
BB Length / BB Mult — Bollinger Band parameters for squeeze detection (defaults: 20 / 2.0)
KC Length / KC Mult — Keltner Channel parameters (defaults: 20 / 1.5)
NR Pattern Lookback — bars for narrow range comparison. NR fires when current range is the narrowest in this window (default: 7)
Volume Dry-Up Length — lookback for volume moving average (default: 20)
Max Vol vs Avg (coil) — maximum volume as a fraction of average for the dry-up condition (default: 0.65)
ATR Percentile Lookback — history window for ATR percentile rank (default: 100)
Min Coil Duration (bars) — minimum consecutive bars needed for streak bonuses (default: 3)
Bias Vector
HTF Bias Timeframe — higher timeframe for EMA bias pull (default: 60-minute)
HTF EMA Length — EMA period on the higher timeframe (default: 50)
Require HTF Alignment — when on, HTF opposing direction deducts points from ignition scores
Volume Delta Length — EMA smoothing for volume delta estimation (default: 14)
Close-Position Bias Len — lookback for average close position within bar range (default: 10)
Structure Lookback — bars for micro higher high / lower low detection (default: 20)
Ignition Signals
Min Ignition Score (0–100) — threshold below which no signal fires (default: 62). 58–68 is practical range
Min Ignition Body (xATR) — expansion candle body must exceed this multiple of ATR (default: 1.15)
Require Squeeze Release — when on, ignition must occur on or after BB/KC squeeze releases
Show Ignition BUY/SELL Labels — toggle IGNITE signal labels
Show Exhaustion Warnings — toggle exhaustion diamond markers
Signal Cooldown (bars) — minimum bars between consecutive signals (default: 6)
Exhaustion Radar
RSI Overbought / Oversold — RSI thresholds for climax exhaustion detection (defaults: 72 / 28)
Climax Volume (x avg) — volume multiple above average required for RSI climax condition (default: 2.2)
Min Rejection Wick % — minimum wick as fraction of bar range for wick rejection exhaustion (default: 0.55)
Risk Guidance
Show SL / TP Guides on Signal — toggle level lines and labels
SL Distance (xATR) — ATR-based SL floor distance (default: 1.2)
TP1 Distance (xATR) — first take-profit target distance (default: 2.0)
TP2 Distance (xATR) — extended take-profit target distance (default: 4.0)
SL Beyond Coil Box Edge — places SL at the structural coil boundary rather than fixed ATR only (default: on)
Session Filter
Enable Session Filter — toggle the session restriction
London (08:00–13:00 UTC) — toggle London session inclusion
London/NY Overlap (13:00–17:00 UTC) — toggle the highest-volume overlap session
NY Afternoon (17:00–21:00 UTC) — toggle NY afternoon session
Display
Show Compression Coil Box — toggle the live orange coil box
Regime Background Tint — toggle the full-bar regime background colors
Show Bias Vector Arrow — toggle the live bias label near the coil box
Dashboard Position — Top Right / Top Left / Top Center / Bottom Right / Bottom Left / Bottom Center
Dashboard Size — Normal / Bigger
Theme
Bull Primary / Bright / Dim — yellow-green family for all bullish elements
Bear Primary / Bright / Dim — red family for all bearish elements
Coil / Squeeze — orange for all compression and coil elements
Ignition — cyan for the ignition regime flash
Exhaustion — purple for exhaustion regime and warning diamonds
Neutral — gray for QUIET regime and neutral states
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 Alert Conditions (5 total)
Signal Alerts
CATALYST Ignite Long — all long ignition conditions confirmed. IGNITE label fired below bar
CATALYST Ignite Short — all short ignition conditions confirmed. IGNITE label fired above bar
State Alerts
CATALYST Fully Coiled — regime has entered COILED state (compression 75+, squeeze active). Ignition may be imminent — prepare
CATALYST Squeeze Release — BB has expanded outside KC on this bar. Maximum-quality ignition condition active
CATALYST Exhaustion — exhaustion conditions detected in the TRENDING regime. Trend energy fading
All alert messages are formatted as const strings for clean webhook and notification platform integration.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 Recommended Settings by Instrument & Timeframe
The default configuration is optimized for XAUUSD, major forex pairs, and crypto on M5–H1 :
Min Ignition Score at 62 — strong quality gate while allowing frequent enough signals on intraday timeframes
HTF at 60-minute — meaningful macro context for M5–M15 trading. The squeeze and ignition on M5 confirmed by H1 EMA alignment is the core multi-timeframe framework
ATR Percentile Lookback at 100 — calibrated for intraday volatility cycles on liquid instruments
NR Lookback at 7 — captures classic NR7 patterns while remaining sensitive enough for fast-moving instruments
For other instruments or timeframes, adjust:
M1–M3 scalping — reduce ATR Percentile Lookback to 50, reduce NR Lookback to 5, reduce Min Ignition Score to 58, shorten Cooldown to 3 bars
H1–H4 swing trading — set HTF to Daily or Weekly, increase ATR Percentile Lookback to 200–250, increase Min Ignition Score to 68–72, increase TP2 to 6.0–8.0× ATR for wider swing targets
Crypto (BTC, ETH) — increase KC Mult to 2.0–2.5 and BB Mult to 2.5 to account for wider natural volatility, increase Climax Volume threshold to 2.8–3.5 for crypto's naturally higher volume spikes
Higher signal frequency — lower Min Ignition Score to 55–58, reduce NR Lookback to 5, reduce Min Coil Duration to 2
Ultra-selective signals only — raise Min Ignition Score to 72–78, require Squeeze Release on, HTF Alignment on, increase Min Coil Duration to 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👥 Who This Is For
💥 Volatility breakout and expansion traders — CATALYST is purpose-built for traders who want to enter at the moment of volatility ignition, not after the move has already extended significantly
⚡ Squeeze traders and NR pattern traders — the compression engine formalizes and quantifies every squeeze and narrow range pattern into a single score, eliminating subjective judgment about whether a coil is "tight enough"
🔮 Anticipatory traders who want to read the market before it moves — the bias vector and ignition score system provides pre-signal intelligence during the coil that no reactive indicator can match
📊 Multi-timeframe traders — the HTF bias integration means every CATALYST signal is contextualized against the higher timeframe institutional flow
🧠 Systematic traders — every component of the compression score, bias vector, and ignition score is quantified and configurable. There is no subjectivity in what constitutes a "good enough" coil
🎯 Risk-conscious traders — the coil-anchored stop loss is structurally meaningful — placed at the exact level that invalidates the breakout thesis
📈 Traders across all asset classes — the ATR normalization and percentile-ranked volatility detection means CATALYST works consistently on gold, forex, crypto, and indices without manual recalibration between instruments
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Notes
All signals are confirmed on bar close — the indicator is non-repainting by design. Regime state, compression score, bias vector, and ignition scores all finalize on confirmed bars
The regime state machine is sequential — IGNITION can only be reached from COILED. This means no signal can fire without prior confirmed compression regardless of how strong the expansion candle is
The ATR percentile rank requires the configured lookback history to be available. On charts with fewer bars than the ATR Percentile Lookback setting, the rank may underperform until sufficient history accumulates. This warm-up effect resolves naturally
The bias arrow label is drawn only on the last bar and refreshes on every tick during live trading. It does not appear on historical bars — only the current bar during BUILDING and COILED regimes
The SL / TP guide lines are redrawn on every new ignition signal. Previous signal levels are deleted when a new signal fires
Maximum 500 labels, 500 lines, and 100 boxes are rendered. The coil box, regime flip labels, and SL/TP levels all count toward these limits. On very active charts with long history, the oldest labels may be removed by PulseWire's rendering limits
The session filter uses UTC hours rather than exchange-specific sessions, making it instrument-agnostic across all markets globally
The indicator does not track open positions or P&L — the regime state tracks the expansion direction (bull or bear) from ignition through exhaustion, but does not connect to any broker or account
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Disclaimer
This indicator is a technical analysis and visualization tool intended for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. All signals are generated from historical and real-time price data using mathematical calculations — their accuracy or profitability is not guaranteed. Past performance of any signal type does not guarantee future results. Always conduct your own analysis, use proper risk management, and consult a licensed financial advisor before making any trading decisions. The author accepts no responsibility for any losses incurred from the use of this indicator.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Built for traders who understand that the most powerful moment to enter a market is not when everyone can see the move — it is the bar before, when the coil finally snaps. Indicator

Indicator

Indicator

Motion Reversal System [BullByte]Motion Reversal System (MRS) - Trend-Failure Bar Detector with Adaptive Pressure Meter, Multi-Mode Signal Engine, and Complete Trade-Level Framework
---
Why This Indicator Exists
Most reversal indicators fall into one of two failure modes. Either they fire constantly in ranging markets because they have no directional filter, or they only confirm reversals long after price has already turned because they rely on lagging momentum oscillators. Motion Reversal System (MRS) was built to solve both problems in a single coherent engine.
MRS is one engine with one purpose: identify the precise bar at which a confirmed trend structurally fails - the moment commitment fades, the bar itself rejects further advance, and the move's energy reverses. From that bar, MRS automatically frames the trade with entry, two targets, and a stop loss, then manages the full trade lifecycle to closure.
---
What Makes This Not a Mashup
A mashup combines independent indicators that each output their own signal, then layers them visually. MRS is the opposite. Every component of MRS feeds into a single decision: "Is the current bar a trend-failure bar?" Remove any one component and the engine stops working correctly.
- The Directional Gate decides IF a trend is present (no trend = no exhaustion to detect)
- The Four Failure Conditions decide IF the current bar is structurally failing that trend
- The Signal Mode decides HOW STRICT the failure must be
- The Pressure Meter provides a live visual reading of building reversal pressure
- The Trade Level Engine decides WHERE to enter, stop, and target
- The HTF Filter decides WHETHER higher-timeframe context confirms the call
These are not independent indicators. They are stages of one detection pipeline. Each stage exists because the next stage cannot function without it.
---
The Engine - How It Actually Works
Stage 1 - Directional Gate (Kaufman Efficiency Ratio, Self-Adapting)
The script computes Kaufman's Efficiency Ratio (ER) over a rolling window. ER measures net price displacement divided by the total path price traveled. Values near 1.0 indicate pure trending motion; values near 0.0 indicate pure noise.
A fixed ER threshold would work well on one instrument and fail on another, so MRS adapts the gate dynamically. The threshold becomes the rolling mean of the ER series plus half a standard deviation, with a user-defined floor. This means the gate raises itself during volatile sessions and lowers during quiet sessions automatically. No re-tuning per instrument.
Only bars that occur inside a confirmed directional move (gate passed + minimum ATR displacement satisfied) are evaluated for failure. This single design choice eliminates the largest source of false signals: exhaustion calls in choppy ranges where there is no trend to exhaust.
Stage 2 - Four Failure Conditions (Evaluated at Bar Close)
For every bar inside a confirmed trend, MRS evaluates four orthogonal failure conditions:
C1 - Velocity Reversal: The bar closed against the direction of the confirmed trend. This is the most basic failure signal. A bull trend bar that closes red, or a bear trend bar that closes green.
C2 - Wick Rejection: The trend-side wick (upper wick in a bull trend, lower wick in a bear trend) is at least N times the size of the bar's body. This measures intra-bar rejection - buyers or sellers pushed price further in the trend direction and were defeated within the same bar.
C3 - Commitment Anomaly: The bar's commitment value (measured via volume-weighted body strength when volume is reliable, or wick-rejection ratio when it is not) is at least N standard deviations below the recent trend's commitment baseline. The current bar is statistically anomalous compared to what the trend has been producing.
C4 - Range Expansion: The bar's true range is at least N times ATR. Filters out small doji bars where wick rejection and velocity reversal become meaningless from microstructure noise.
These four conditions are orthogonal - they measure different physical properties of the bar. C1 measures direction. C2 measures intra-bar struggle. C3 measures volume/commitment. C4 measures magnitude. When multiple conditions align on the same bar, the signal reflects a greater degree of structural confluence - though no combination of conditions guarantees a reversal.
Stage 3 - Signal Mode (Strictness Selector - THE ACTUAL SIGNAL GATE)
This is the decisive gate that determines whether a signal fires. The user chooses how many of the four conditions must align:
Conservative - All 4 conditions required. Rarest signals, highest structural confluence. Best for swing traders, low-noise sessions, or those who prefer fewer signals with stronger multi-condition alignment.
Balanced (default) - Any 3 of 4 conditions required. Middle ground for most users and most timeframes. Allows one condition to be absent if the other three are strong.
Aggressive - Velocity Reversal (C1) is mandatory plus at least one other condition (minimum 2 of 4 total). Most signals, fewer conditions required per signal. Best for scalpers, active intraday traders, or those who prefer earlier detection at the cost of more false positives.
When the chosen condition count is satisfied at bar close, a signal fires. The Pressure Meter (Stage 5) is a separate visual reading and does not gate signals.
Stage 4 - Commitment Measurement (Volume-Aware with Auto Fallback)
Commitment measures how decisively the market voted on each bar. MRS supports three measurement modes:
Auto (recommended) - Uses volume-weighted commitment on instruments with real volume data (crypto, futures, stocks with traded volume). Automatically falls back to wick-rejection ratio on indices and synthetic feeds where reported volume is meaningless. The dashboard surfaces whichever method is actually active.
Volume - Forces volume-weighted measurement. Useful when you want to lock the method explicitly. Silently falls back to wick if data is missing, with a dashboard warning.
Wick - Forces wick-rejection ratio regardless of volume availability. Best for spot Gold (XAUUSD), forex, or any instrument where you don't trust the broker's volume feed.
Stage 5 - Adaptive Pressure Meter (Live Visual Reading)
The pressure meter is the dashboard's live reading of building reversal pressure. It is always populated whenever a trend is confirmed, regardless of whether the four-condition gate has been met. This gives the trader a continuous sense of how strong the reversal pressure has been building.
The meter is normalized against an adaptive baseline calculated from its own rolling history (mean + multiplier x stdev). The dashboard percentage shows where the current meter sits relative to that baseline.
Important: the baseline is a visual reference only. It does not gate signals. The signal authority is the Signal Mode condition count described in Stage 3. The meter and baseline simply help the trader monitor when conditions are increasingly aligned before they actually trigger.
Stage 6 - Higher Timeframe Confirmation (Optional Filter)
When enabled, the engine cross-checks every signal against the directional state of a higher timeframe. A reversal signal on the chart timeframe is marked "Strong" when the higher timeframe direction agrees with the chart trend being reversed against. For example: chart is in a confirmed bull move, HTF is also bullish, and a bear reversal signal fires - this is HTF-Strong, because the HTF confirms the bull trend that is being exhausted.
If the HTF direction disagrees with the chart trend (e.g., chart is in a bull move but HTF is already bearish), the signal is marked "Weak" - visually dimmed but not suppressed. The trader still sees the call but is warned that the HTF backdrop does not align with the underlying chart trend being detected.
The HTF uses request.security with lookahead = barmerge.lookahead_off, eliminating future-data leak across timeframes. The HTF series itself naturally evolves as each HTF candle forms (this is standard Pine behavior), so the script treats HTF as a confirmation filter rather than a guarantee of HTF-bar finalization. The signal trigger itself remains chart-bar-close only.
Stage 7 - Trade Level Engine (Complete Lifecycle)
When a signal fires, the engine automatically computes and draws:
- Entry: signal-bar close
- Stop Loss: fixed ATR distance from entry (not score-scaled - strong signals deserve tighter stops, not wider ones)
- Target 1: intermediate reference level, ATR distance scaled by signal strength (visual only, does not close trade)
- Target 2: decisive level, ATR distance scaled by signal strength (closes the trade on hit)
While the trade is active, four colored horizontal lines extend from the signal bar to the current bar, with monospace pill labels showing the price and R:R for each level. Two zone fills (green Entry to TP2 reward zone, red Entry to SL risk zone) make the risk/reward geometry visible at a glance.
The trade closes when either TP2 or SL is touched at bar close (intra-bar wicks that retreat before close do NOT close the trade). Same-bar TP2/SL tie is resolved as SL hit (conservative backtest assumption).
After closure, the trade-level lines freeze in place as historical record. Labels and fills vanish to keep the chart clean. The cooldown counter starts. By default, all four lines (Entry, SL, TP1, TP2) persist as historical traces for richest backtest visibility. The "Keep TP1/TP2 Historical Lines" input can be turned off to delete TP1/TP2 lines on closure and roughly double the number of historical trades the chart can hold before Pine's 500-line cap is reached.
---
Signal Timing - No Repaint
All signal generation and trade closure is gated to confirmed (closed) bars via barstate.isconfirmed.
- A reversal signal triangle and label appear only at the close of the signal bar
- Entry, SL, TP1, TP2 levels are computed from the signal bar's close
- Trade closure (TP2 / SL hit) is evaluated only after the candle finalizes - intra-bar wicks that retreat before close do not trigger closure
The trade-off is up to one bar of timing on closure for cases where price spikes through a level intra-bar and retraces. The gain is realistic backtest visuals and zero repaint at every stage of the trade lifecycle. This is an intentional architectural choice for honest behavior over flashy intra-bar firing.
---
How to Read the Chart
Signal Markers
Bull Reversal (detected inside a confirmed bear move, reversal up signaled): small cyan triangle below the bar.
Bear Reversal (detected inside a confirmed bull move, reversal down signaled): small red triangle above the bar.
Important: a bearish reversal signal fires inside a confirmed bull move. The signal detects exhaustion of the prevailing trend - not confirmation of a new one. The dashboard will show BULL MOVE while a short is active. This is correct behavior - you are trading the exhaustion of that bull move.
A monospace pill label sits beside each triangle showing the failure score (e.g., "Reversal Up | 2.45"). Higher numbers indicate stronger structural confluence across the four conditions.
When HTF Confirmation is enabled and HTF disagrees with the signal, the triangle and label appear in a dimmed color with "(HTF)" appended to the label text. The signal is still visible but is visually de-emphasized.
Trade Level Lines
Once a signal fires, four horizontal lines appear extending from the signal bar:
- Entry (yellow, solid): the price at which the signal was generated (signal-bar close)
- Target 1 (cyan, dashed): intermediate reference level, visual only
- Target 2 (green, solid): decisive level - trade closes when this is hit at bar close
- Stop Loss (red, solid): risk level - trade closes when this is hit at bar close
Pill labels at the right end of each line show the exact price and R:R distance.
Zone Fills
- Green soft fill between Entry and TP2: the reward zone
- Red soft fill between Entry and SL: the risk zone
At a glance, the green:red ratio visualizes the trade's risk-to-reward geometry.
Directional Background
- Subtle blue tint: a bull trend is confirmed
- Subtle red/orange tint: a bear trend is confirmed
- No tint: no confirmed direction (chop)
Bar Coloring (Exhaustion Gradient)
When the exhaustion meter rises above the trigger threshold (default 50% of baseline), bars are tinted on a gradient:
- Cool color (cyan/red): exhaustion is building but moderate
- Bright color (red on bull trend, cyan on bear trend): exhaustion has reached or exceeded the baseline - conditions for a signal are increasingly met, though no signal fires until the condition count gate is satisfied at bar close
Historical Trade Traces
After a trade closes, by default all four trade-level lines (Entry, SL, TP1, TP2) remain on the chart as a permanent historical record. This builds a visual log of every prior MRS detection directly on the chart. The "Keep TP1/TP2 Historical Lines" input can be turned off if you want to conserve Pine's line-object cap.
---
How to Read the Dashboard (Full Mode)
The dashboard is the live diagnostic panel. Every row tells you something specific about the current state of the engine. From top to bottom:
Row 0 - Title: "MOTION REVERSAL SYSTEM (MRS)" - confirms the indicator name.
Row 1 - Context: ticker symbol, chart timeframe, and active Signal Mode.
Row 2 - Directional State: BULL MOVE / BEAR MOVE / NEUTRAL - large text, colored. Tells you whether a confirmed trend is currently in effect. When a trade is active against the current trend (e.g., short open during a bull move), this row appends "SHORTING EXHAUSTION" or "LONGING EXHAUSTION" so the dashboard reads as a coherent statement rather than an apparent contradiction.
Row 3 - Exhaustion bar: a 10-segment text-based pressure bar with percentage. Shows how close the live meter is to the adaptive baseline. Color escalates from gray to teal to purple to bright red/cyan as pressure builds.
Row 4 - Pressure: numerical value of the live exhaustion meter.
Row 5 - Baseline: the adaptive baseline value (mean + k x stdev) the meter is compared against. Visual reference only - does not gate signals.
Row 6 - Conditions: which of the four failure conditions are currently satisfied. " VEL WICK ANOM RANGE" means C1, C2, C4 are firing; C3 is not.
Row 7 - Count: how many of 4 conditions are firing, with current Signal Mode in parentheses. This is the actual signal authority - when the count satisfies the Signal Mode rule, a signal fires.
Row 8 - Eff Ratio: the current Kaufman Efficiency Ratio value, with the adaptive gate level next to it. Shows whether the directional gate is passing.
Row 9 - ATR: current ATR value at the configured length. Reference for understanding trade-level distances.
Row 10 - HTF Dir: current higher-timeframe directional state, OR "INVALID HTF (set higher than chart)" warning if user has misconfigured the HTF input.
Row 11 - Commit: which commitment measurement method is currently active (Auto -> Volume, Auto -> Wick fallback, etc.), with warning indicator if forced mode silently fell back.
Row 12 - Active Trade Status: "NO ACTIVE TRADE" or "LONG ACTIVE E " / "SHORT ACTIVE E " - color-coded.
Row 13 - Status: "Ready for signal" / "Cooldown: N bars" / "Trade active" - tells you whether the engine can fire a new signal right now.
Row 14 - Session: count of signals fired in the current session (resets daily).
Rows 15 to 19 - Engine Parameters reference: live readouts of the directional window, lookback periods, threshold parameters, ER gate values, and current commitment status. Useful for verifying your settings are applied as expected.
Row 20 - Version and Author footer.
Mobile / Minimal Dashboard Mode
For phone and tablet users, switching "Dashboard Mode" to "Minimal (Mobile)" collapses the dashboard to a single-column 5-row compact layout with larger fonts: Title, State, Exhaustion, Conditions, and Trade Status. Diagnostics are hidden for screen-space efficiency.
---
Default Settings Explained
- Directional Window: 12 bars - measures Efficiency Ratio over a 12-bar lookback
- Directional Threshold (Base): 0.40 - minimum ER for trend confirmation, adapted upward dynamically
- Min Move Size: 1.5 ATR - net displacement must be at least 1.5 ATR for a trend to qualify
- Trend Statistics Lookback: 20 bars - sample size for computing commitment baseline statistics
- Wick Rejection Ratio: 1.5 - trend-side wick must be at least 1.5x the body to count as rejection
- Commitment Anomaly Sigma: 1.0 - current commitment must be at least 1.0 standard deviation below trend mean
- Min Range Expansion: 1.2 ATR - current bar range must be at least 1.2x ATR
- Signal Mode: Balanced - any 3 of 4 conditions required
- Baseline Lookback: 100 bars - rolling history for pressure meter statistics
- Baseline Multiplier: 2.0 - baseline = mean + 2.0 x stdev
- ATR Length: 14 - standard ATR period
- Commitment Mode: Auto - volume on real-volume instruments, wick on indices
- Post-Closure Cooldown: 10 bars - wait 10 bars after trade closure before new signal
- Stop Loss Distance: 1.5 ATR - base SL distance from entry
- Target 1 Distance: 1.5 ATR - T1 at 1:1 with SL
- Target 2 Distance: 3.0 ATR - T2 at 1:2 with SL
- Score-Weight Nudge: 0.3 - stronger signals widen targets by up to 30%
- Min Label Spacing: 0.35 ATR - minimum vertical gap between pill labels for readability
---
Recommended Usage by Trader Profile
Scalper (1m to 5m): Aggressive mode, Cooldown 5 to 8 bars, HTF Confirmation on 15m. Signal frequency will be higher in Aggressive mode; use the dashboard pressure meter to monitor building exhaustion between signals.
Intraday Trader (5m to 30m): Balanced mode (default), Cooldown 10 bars, HTF Confirmation on 1h to 4h. The default settings were designed with this profile in mind as a starting reference point.
Swing Trader (1h to 4h): Conservative mode, Cooldown 15 to 20 bars, HTF Confirmation on Daily. Few signals, maximum condition confluence required.
Position Trader (Daily and above): Conservative mode, HTF Confirmation on Weekly. Signals are rare; when they fire, all four structural failure conditions have aligned on a higher timeframe bar.
---
Recommended Markets
- Crypto (Spot and Perpetuals): well-suited - high volume data availability, clean microstructure, MRS auto-selects volume-weighted commitment
- Index Futures (NQ, ES, NIFTY futures): well-suited - real traded volume available, strong directional character
- FX Majors: usable with Wick commitment mode forced (broker volume is unreliable)
- Spot Gold (XAUUSD): use Wick mode explicitly - most brokers report tick count as volume which is meaningless
- Cash Indices (NIFTY, SPX index): MRS auto-detects index type and routes to Wick mode; verify Commit row on dashboard
---
A Real-World Example Walkthrough
This walkthrough is a constructed illustration of how the engine behaves. It does not represent a historical trade or a performance result.
Scenario: BTCUSDT 15m chart, Balanced mode, Auto commitment.
Bars 1 to 20: Price climbs in a steady bull move. Dashboard shows BULL MOVE, Efficiency Ratio 0.55, Pressure Meter 0.20 (low). No signals fire because exhaustion is not building.
Bar 21: A large green candle prints - Range Expansion (C4) fires but the bar closes strong (no Velocity Reversal C1), and commitment is normal (no C3). Only 1 of 4 conditions. No signal.
Bars 22 to 24: Three smaller green bars with shrinking bodies. The Pressure Meter ticks up to 0.55 (moderate). Bar coloring activates softly. Dashboard "Conditions" row shows - only Wick Rejection is firing intermittently. No signal yet.
Bar 25: A red bar prints with a long upper wick and large range. All four conditions fire:
- C1 Velocity Reversal: bar closed red (against bull trend)
- C2 Wick Rejection: upper wick is 1.8x the body
- C3 Commitment Anomaly: bar's commitment is 1.4 standard deviations below the trend baseline
- C4 Range Expansion: bar range is 1.6x ATR
Dashboard shows "Conditions: VEL WICK ANOM RANGE | Count: 4/4". Pressure Meter reads 1.15.
A red bear reversal triangle prints above the bar with the label "Reversal Down | 3.42". Trade-level lines automatically draw:
- Entry (yellow): 64,210.50 (signal-bar close)
- SL (red): 64,422.00 (1.5 ATR above entry, since this is a short)
- T1 (cyan dashed): 63,999.00 (1.5 ATR x score-scale below entry)
- T2 (green): 63,576.00 (3.0 ATR x score-scale below entry)
Green reward fill appears Entry to T2, red risk fill Entry to SL. Dashboard "Active Trade" row turns red: "SHORT ACTIVE E 64,210.50". Dashboard "Directional State" row reads: "BULL MOVE | SHORTING EXHAUSTION".
Over the next several bars, price drops. The trade-level lines extend bar-by-bar. Dashboard " Status " reads "Trade active". No new signals fire because one trade is already open.
Bar 32: In this example, price reaches T2 at 63,576.00 on this bar's close. The trade closes at the target level. Labels and zone fills vanish. The trade-level lines freeze at bar 32 as historical record. Dashboard "Status" switches to "Cooldown: 10 bars".
Bars 33 to 42: Cooldown period. No new signals possible.
Bar 43: Cooldown complete. Dashboard "Status" reads "Ready for signal". The engine will evaluate the next qualifying bar for failure conditions.
---
Chart Examples
These screenshots show the indicator in use at specific moments in time. They are provided for visual reference only and do not represent performance results or forward-looking outcomes.
1. MRS detected a trend-failure bar inside a confirmed bull move on BTCUSDT 5m. Range expansion (C4) fired as exhaustion pressure reached the adaptive baseline (1.28 vs 1.03). Balanced mode gated the short at bar close - entry 62,553.3, SL 62,681.9, T2 62,273.6 (T2 distance: 2.17R).
2. MRS detected a trend-failure bar at the low of a confirmed bear move on NQ1! 5m. As the engine tracked displacement against path length (ER), exhaustion pressure crossed the adaptive baseline - failure score 0.48. Balanced mode gated the long at bar close - entry 30,553.75, SL 30,489.00, T2 30,706.50 (T2 distance: 2.36R).
---
Parameter Adjustment Guide
If you get too few signals:
- Switch Signal Mode to Aggressive
- Lower Wick Rejection Ratio (1.0 to 1.2)
- Lower Commitment Anomaly Sigma (0.7 to 0.9)
- Lower Min Range Expansion (1.0 to 1.1)
- Reduce Cooldown to 5
If you get too many false signals:
- Switch Signal Mode to Conservative
- Raise Wick Rejection Ratio (2.0 to 2.5)
- Raise Commitment Anomaly Sigma (1.3 to 2.0)
- Raise Min Range Expansion (1.5 to 2.0)
- Enable HTF Confirmation
- Raise Cooldown to 15 to 20
If the T2 zone is reached but price reverses sharply before bar close triggers closure:
- Reduce T2 Distance to 2.0 to 2.5 ATR
- Reduce Score-Weight Nudge to 0.1 (less target widening on strong signals)
If SL is hit too often:
- Increase Stop Loss Distance to 2.0 ATR
- Increase T1 and T2 proportionally to maintain R:R geometry
---
What This Indicator Does Not Do
- It does not execute trades. It is an indicator (overlay), not a strategy. Order placement and trade management decisions remain with the user.
- It does not predict the future. It identifies bars where a confirmed trend has structurally failed based on objective criteria.
- It does not eliminate losses. False signals will occur, especially in news-driven price spikes. Always size positions according to your own risk management rules.
- It does not work on every instrument equally well. Choppy low-liquidity assets produce noisier signals. Test on your specific market before relying on it.
- It does not replace discretionary judgment. Use MRS as one input in your decision process, not the only input.
---
Alerts Available
MRS Bull Reversal (Strong) - bullish reversal signal; HTF confirms the preceding bear trend
MRS Bull Reversal (HTF Weak) - bullish reversal signal; HTF does not confirm the preceding bear trend
MRS Bear Reversal (Strong) - bearish reversal signal; HTF confirms the preceding bull trend
MRS Bear Reversal (HTF Weak) - bearish reversal signal; HTF does not confirm the preceding bull trend
MRS Target 2 Hit - trade closure at T2 level
MRS Stop Loss Hit - trade closure at SL level
---
Disclaimer
This script is provided for educational and analytical purposes only. It is not financial advice, an investment recommendation, or a solicitation to trade. Past performance of any indicator or strategy does not guarantee future results. Trading involves substantial risk of loss. The author and PulseWire are not liable for any losses or damages arising from use of this script. Always validate signals against your own analysis, conduct your own due diligence, and apply prudent risk management. Use at your own risk.
---
Open source under Mozilla Public License 2.0. Code is fully readable in the Pine Editor for those who want to study the math. Thank you.
- BullByte Indicator

Flow Pressure OscillatorFlow Pressure Oscillator visualizes directional market pressure, trend alignment, regime quality, pullback pressure, and extended pressure conditions in a separate oscillator pane.
The tool is built to help traders read whether market pressure is leaning bullish, bearish, or neutral. It combines trend structure, EMA alignment, ATR-normalized movement, ADX, directional efficiency, volatility behavior, and volume participation into a bounded flow reading between -100 and +100.
The main Flow Trail shows the current pressure direction and strength. Positive readings indicate bullish pressure, negative readings indicate bearish pressure, and values near the zero line suggest a more neutral or mixed environment.
Regime Dots show the internal market regime state. Upper dots represent bullish regime pressure, lower dots represent bearish regime pressure, and neutral readings show that no strong directional regime is active.
The Pullback Reload Line is designed to highlight pullback pressure inside an existing bullish or bearish regime. It is not an entry signal by itself. It is meant to be used as context together with the Flow Trail, regime state, and the user’s own chart analysis.
The oscillator also highlights expansion and exhaustion-style pressure conditions. These areas can help identify when pressure is becoming stretched, accelerating, or losing momentum. They should be treated as market-context readings, not as guaranteed reversal or continuation points.
Core components
Flow Trail:
The main pressure line. It reacts to trend pressure, momentum slope, acceleration, structure alignment, volatility, and volume participation.
Zero Line:
A neutral reference level. Readings above zero show bullish pressure dominance. Readings below zero show bearish pressure dominance.
Regime Dots:
A visual regime filter for bullish, bearish, or neutral pressure conditions.
Pullback Reload Line:
A secondary pressure line designed to show pullback or reload behavior inside an active regime.
Pressure Fill:
A visual fill between the Flow Trail and the zero line to make pressure direction easier to read.
Extreme Pressure Coloring:
Highlights expanded, stretched, or exhaustion-style pressure states.
A simple way to use the oscillator is:
- Flow Trail above zero = bullish pressure is dominant;
- Flow Trail below zero = bearish pressure is dominant;
- Rising Flow Trail = pressure is strengthening;
- Falling Flow Trail = pressure is weakening;
- Regime Dots help confirm whether the broader pressure environment supports the current flow direction;
- Reload Line can help identify pullback pressure during an existing bullish or bearish regime;
- Extreme pressure areas should be used for awareness, not as automatic trade signals.
Important notes
Flow Pressure Oscillator is a market-pressure visualization tool only. It does not provide financial advice, trade recommendations, profit targets, stop losses, win-rate calculations, or performance guarantees.
The script should be used together with the trader’s own market structure, support and resistance, risk management, and confirmation process. No single oscillator should be used as a complete trading system. Indicator

Boshmann's Volatility HistBoshmann's Volatility Hist
The theory behind tracking normalized volatility is that market movement is highly cyclical, constantly alternating between periods of tight contraction and explosive expansion. Using raw volatility measures (like a flat Average True Range value) is flawed because the meaning of those points changes drastically as an asset's price scales up or down over time. By applying a statistical Z-Score to the ATR, we normalize the volatility relative to the asset's own historical baseline, allowing traders to objectively identify when price action is anomalously quiet (predicting a breakout) or unsustainably aggressive (predicting exhaustion or mean-reversion).
How the Script Works: The script calculates a standard 14-period Average True Range (ATR) to measure current price movement. It then runs a 250-period lookback to compute the rolling mean and standard deviation of that ATR, ultimately calculating a real-time Z-Score. This Z-Score is plotted as an oscillating histogram below the chart. The script uses fixed thresholds to color the histogram bars: Green for "Quiet" (Z-score < -0.5), Yellow for "Normal" (Z-score between -0.5 and 0.5), and Red for "Volatile" (Z-score > 0.5). It also plots dotted threshold lines so you can instantly see when volatility crosses into extreme territory.
Why You Should Use It: This script is the final pillar of the Boshmann's suite, engineered to be used in strict combination with the Regime Counters and the Market Direction Hist .
While the Regime Counter gives you the structural trend and the Direction Hist gives you the momentum conviction, this Volatility Hist reveals the energy state of the market. You should use this indicator because knowing the market's speed dictates your risk management and strategy timing. For example, if you spot a long string of "Quiet" (green) volatility bars while the Regime Counter just flipped to Bullish, you have found an optimal, low-risk entry before an explosive breakout. Conversely, if you are riding a trend and this histogram spikes deep into the "Volatile" (red) zone, it serves as a mathematical warning that the market is overextended, signaling that you should tighten stops or take profits before the inevitable pullback. Indicator

Boshmann's Market Direction HistBoshmann's Market Direction Hist
The theory behind a directional histogram is to visually quantify not just the direction of a trend, but its underlying momentum and the distance between moving averages. While identifying a trend regime categorizes the market into a fixed state (bull, bear, or sideways), measuring the spread between a fast and slow moving average reveals whether that trend is accelerating, decelerating, or reaching exhaustion. By projecting this spread as an oscillator around a zero line, traders can easily spot momentum divergences and gauge the true strength of a directional move.
How the Script Works: The script calculates the raw distance between a short-term moving average (20-period SMA) and a long-term moving average (100-period SMA). To ensure the indicator works seamlessly across any asset class or timeframe—whether a stock is trading at $5 or $50,000—it normalizes this distance as a percentage of the current price. It then plots this normalized momentum as a histogram. Finally, the histogram bars are painted using the exact same logic as the Regime Counters script: Green for Strong Bull, Red for Strong Bear, and Yellow for Sideways.
Why You Should Use It: This script is explicitly designed to be used in combination with the Regime Counters and Volatility Histogram scripts to form a complete, three-dimensional view of the market.
A user should use this histogram because while the Regime Counter tells you what state the market is in, the Direction Histogram tells you how strong that state is. For example, if the Regime Counter classifies the market as "Bullish" but you see the green bars on this histogram steadily shrinking toward the zero line, it is a leading indicator that upward momentum is dying long before the official regime flips. Together, the three scripts allow you to trade systematically: the Regime Counter dictates your directional bias, the Volatility script warns you of price expansion, and the Direction Histogram measures the real-time conviction pushing the trend. Indicator

Sweep Reclaim Entry Engine [trade_w_samet]🎯 Sweep Reclaim Entry Engine
Sweep Reclaim Entry Engine is a structured liquidity-sweep and reclaim analysis indicator designed to help traders study confirmed swing levels, controlled liquidity penetrations, reclaim strength, setup quality, directional alignment, and visual risk/reward models directly on the price chart.
This script focuses on one main concept:
Confirmed swing sweep and reclaim-based entry visualization.
It is not designed to mark every wick beyond every nearby high or low.
It is not designed to treat every penetration as a valid liquidity sweep.
It is not designed to create constant buy/sell labels.
Instead, the goal of Sweep Reclaim Entry Engine is to confirm structural swing levels, monitor their lifecycle, detect controlled penetrations beyond those levels, validate directional reclaims, apply configurable quality and market filters, and visualize accepted setups using one Entry level, one protective Stop Loss level, and one configurable risk/reward target.
The indicator includes:
• Confirmed swing-high and swing-low detection
• Reactive, Balanced, Structural, and Custom swing modes
• ATR-normalized level merging and proximity logic
• Fresh, Armed, Swept, Reclaimed, and Consumed level states
• Wick Only, Wick or Body, and Body Required sweep modes
• Minimum and maximum ATR-normalized sweep-depth filters
• First-penetration-only logic
• Multi-level sweep selection
• Dual-side sweep protection
• Same Candle, Fast, Flexible, and Custom reclaim windows
• Loose, Balanced, Strict, and Custom reclaim-strength modes
• Reclaim close-buffer, close-location, body-strength, and wick-rejection checks
• A transparent 0–100 setup-quality score
• A+, A, and B setup grades
• Loose, Balanced, Strict, and Custom quality-filter modes
• Relative-volume quality context
• Highest Quality and Nearest Level candidate-selection modes
• Direction, cooldown, cluster, duplicate-bar, and opposite-conflict controls
• Chart EMA, confirmed higher-timeframe EMA, and Combined EMA bias
• Optional volatility and market-efficiency filtering
• Entry ATR and Sweep Extreme stop-loss models
• A configurable 0.25R to 15R target
• One-active-trade-at-a-time logic
• Stop First and Target First same-bar assumptions
• Active TP / SL boxes and Entry / TP / SL lines
• SL-specific visual cleanup
• Important-only sweep-label filtering
• Full, Clean, Minimal, and Mobile chart profiles
• Full, Compact, Trade Only, and Off dashboard modes
• Adjustable marker, label, result, and dashboard sizes
• Crimson, Ice Blue, Monochrome, and fully custom colors
• Static PulseWire alert conditions
• Optional dynamic alert() messages
• Compact bottom-right dashboard
• Confirmed-close permanent signals
• Confirmed higher-timeframe data handling
The purpose of this script is to help users visually study where a confirmed swing-level sweep is followed by a qualified directional reclaim.
It should be treated as a chart-analysis and educational decision-support tool.
It is not financial advice.
It is not an automated trading system.
It does not guarantee profitable trades.
It does not execute broker orders.
It does not replace personal analysis, risk management, or trade validation.
━━━━━━━━━━━━━━━━━━━━━━
📌 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━
At a high level, Sweep Reclaim Entry Engine does the following:
• Detects confirmed bullish and bearish swing pivots.
• Stores accepted swing highs and swing lows in separate internal level memories.
• Prevents near-duplicate levels using ATR-based merge tolerance.
• Tracks whether each level is Fresh, Armed, Swept, Reclaimed, or Consumed.
• Arms a level when price moves within the selected ATR distance.
• Detects a new penetration beyond an eligible swing level.
• Measures penetration depth relative to ATR.
• Classifies the sweep as wick-based or body-based.
• Applies minimum depth, maximum depth, first-interaction, multi-level, and dual-side rules.
• Moves the accepted level into the Swept state.
• Waits for price to reclaim the level within the selected reclaim window.
• Checks reclaim close buffer, close location, candle body strength, candle direction, and wick rejection.
• Calculates a 0–100 setup-quality score.
• Assigns an internal A+, A, or B grade.
• Applies the selected minimum-quality requirement.
• Compares multiple eligible reclaim candidates.
• Applies direction, trend-bias, market, cooldown, clustering, duplicate, and conflict rules.
• Confirms final BUY and SELL reclaim signals only after candle close.
• Projects Entry, Stop Loss, and one configurable take-profit target.
• Maintains one active visual trade model at a time.
• Tracks TP and SL events after the entry candle.
• Applies the selected same-candle TP / SL assumption.
• Preserves successful models when historical display is enabled.
• Deletes failed-model boxes, lines, and original signal labels after SL.
• Leaves only a small CLOSED SL HIT label for failed models.
• Displays engine, bias, quality, signal, and trade information in the bottom-right dashboard.
• Provides sweep, signal, grade, trade-open, TP, and SL alerts.
The script is intentionally built as a structured sequence.
It does not include machine-learning prediction.
It does not claim that every sweep will reverse.
It does not treat the quality score as a probability.
It provides a transparent way to study confirmed swing sweeps, directional reclaims, and their visual trade lifecycle.
━━━━━━━━━━━━━━━━━━━━━━
🧠 CORE IDEA
━━━━━━━━━━━━━━━━━━━━━━
The core idea behind Sweep Reclaim Entry Engine is based on the difference between a liquidity penetration and a confirmed reclaim.
A sweep occurs when price trades beyond a previously confirmed swing high or swing low.
A reclaim occurs when price returns through that level and closes with enough directional strength to satisfy the active rules.
The engine does not treat the sweep itself as an entry.
Instead, it separates the process into distinct stages:
Confirmed swing
→ managed level
→ level approach
→ valid penetration
→ sweep classification
→ reclaim window
→ reclaim confirmation
→ quality scoring
→ final filtering
→ confirmed entry model
For a bullish setup, the engine studies a penetration below a confirmed swing low and a later close back above that level.
For a bearish setup, the engine studies a penetration above a confirmed swing high and a later close back below that level.
The reclaim can occur on the same candle or within a configurable number of bars.
The final setup can then be evaluated using:
• sweep depth
• reclaim close quality
• wick rejection
• candle-body strength
• level freshness
• relative volume
• displacement
• market condition
• level cleanliness
• chart EMA alignment
• confirmed higher-timeframe EMA alignment
• cooldown and cluster rules
• opposite-signal conflict handling
The goal is not to maximize signal quantity.
The goal is to create an understandable process that explains how a stored swing level becomes a sweep candidate, how that sweep becomes a reclaim candidate, and how the final entry model is accepted or rejected.
━━━━━━━━━━━━━━━━━━━━━━
🧩 WHY THIS SCRIPT IS NOT A SIMPLE BUY/SELL INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
Sweep Reclaim Entry Engine is not intended to be used as a blind buy/sell system.
The script is structured as a visual review workflow:
A pivot becomes confirmed
→ the swing level is stored
→ duplicate levels are filtered
→ price approaches the level
→ the level becomes Armed
→ price creates a new penetration
→ penetration type and depth are validated
→ the level becomes Swept
→ the reclaim window opens
→ reclaim strength is evaluated
→ a quality score is calculated
→ the setup receives a grade
→ eligible candidates are compared
→ execution filters are checked
→ the signal must remain valid at candle close
→ Entry, SL, and TP are projected
→ the active model is monitored
→ the model closes at TP or SL
→ the visual result is archived or cleaned
Each stage serves a specific purpose.
The confirmed-pivot engine defines the structural reference.
The level-memory engine prevents the script from treating all historical highs and lows as permanently active.
The Armed state separates a distant level from a level that price is actively approaching.
The sweep engine distinguishes a controlled penetration from a deep breakout.
The reclaim engine defines what qualifies as a directional return through the level.
The quality engine combines several independent setup characteristics.
The execution engine prevents clustered, duplicate, conflicting, or bias-opposed entries.
The trade model standardizes the visual Entry, risk, and reward references.
The dashboard explains the engine state and active model.
This makes the script a structured sweep-reclaim analysis tool, not a guaranteed signal generator.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE SCRIPT WORKS
━━━━━━━━━━━━━━━━━━━━━━
The script operates through several connected systems.
First, it confirms swing highs and swing lows using the selected pivot sensitivity.
Reactive mode uses shorter pivot lengths.
Balanced mode uses medium pivot lengths.
Structural mode uses wider pivot lengths and is the default.
Custom mode allows manual left-side and right-side pivot lengths.
float confirmedSwingHigh = ta.pivothigh(high, swingLeft, swingRight)
float confirmedSwingLow = ta.pivotlow(low, swingLeft, swingRight)
int confirmedHighBar = bar_index - swingRight
int confirmedLowBar = bar_index - swingRight
After confirmation, accepted swing levels are stored in separate high-side and low-side arrays.
Each level stores contextual information including:
• level price
• original pivot bar
• lifecycle state
• interaction count
• sweep bar
• sweep depth
• sweep extreme
• sweep type
• reclaim bar
• visual line reference
When price approaches a stored level, the level can move from Fresh to Armed.
When price creates a new penetration beyond the level, the engine checks:
• penetration mode
• minimum ATR depth
• maximum ATR depth
• first-attempt permission
• multi-level selection
• dual-side sweep protection
f_isValidHighSweep(float levelPrice, int attempts) =>
float depthATR = (high - levelPrice) / safeATR
int kind = f_highSweepKind(levelPrice)
bool depthValid = depthATR >= minSweepDepthATR and depthATR <= effectiveMaxSweepDepthATR
bool attemptValid = not firstInteractionOnly or attempts == 0
bool valid = f_isNewHighPenetration(levelPrice) and depthValid and attemptValid and f_modeAcceptsKind(kind)
valid
f_isValidLowSweep(float levelPrice, int attempts) =>
float depthATR = (levelPrice - low) / safeATR
int kind = f_lowSweepKind(levelPrice)
bool depthValid = depthATR >= minSweepDepthATR and depthATR <= effectiveMaxSweepDepthATR
bool attemptValid = not firstInteractionOnly or attempts == 0
bool valid = f_isNewLowPenetration(levelPrice) and depthValid and attemptValid and f_modeAcceptsKind(kind)
valid
A valid sweep moves the level into the Swept state.
The reclaim engine then waits for price to close back through the level within the selected window.
The reclaim must pass every enabled strength requirement.
The accepted candidate receives a quality score and grade.
If more than one candidate qualifies, the active Candidate Selection mode chooses the final candidate.
The final signal must also pass direction, bias, market, cooldown, cluster, duplicate-bar, and conflict rules.
Only after the bar closes with all conditions still valid can the permanent BUY or SELL reclaim signal and visual trade model appear.
━━━━━━━━━━━━━━━━━━━━━━
🟢 BULLISH SWEEP RECLAIM LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A bullish sweep-reclaim setup begins with a confirmed swing low.
The swing low must be stored and remain eligible.
Price can then move close enough to place the level in the Armed state.
A bullish sweep is created when price penetrates below the swing-low level and the penetration satisfies the active sweep rules.
The engine may require:
• a wick-only penetration
• a wick or body penetration
• body participation beyond the level
• a minimum ATR-normalized depth
• a maximum ATR-normalized depth
• the first valid penetration attempt
• selection as the nearest valid level
• no simultaneous high-side sweep
After the low-side sweep, the bullish reclaim must occur inside the selected reclaim window.
The reclaim can require:
• a close above the swept level
• an ATR-based close buffer above the level
• a high close location inside the candle
• minimum body strength relative to ATR
• a bullish candle body when enabled
• minimum lower-wick rejection for same-candle reclaims
• a final score above the active quality threshold
• permission from the selected signal direction
• bullish chart and/or HTF EMA alignment
• permission from the active market-condition filter
• cooldown and cluster permission
• no stronger bearish conflict
f_isValidLowReclaim(int index) =>
bool valid = false
if index >= 0 and index < array.size(lowPrices) and barstate.isconfirmed
int state = array.get(lowStates, index)
int sweepBar = array.get(lowSweepBars, index)
if state == STATE_SWEPT and sweepBar >= 0
float levelPrice = array.get(lowPrices, index)
int barsAfterSweep = bar_index - sweepBar
bool windowPass = barsAfterSweep >= 0 and barsAfterSweep <= reclaimWindowBars
bool closePass = close >= levelPrice + safeATR * reclaimCloseBufferATR
bool locationPass = f_bullCloseLocation() >= reclaimCloseLocationThreshold
bool bodyPass = f_bodyATR() >= reclaimBodyStrengthATR
bool directionPass = not requireDirectionalCandle or close > open
bool sameBar = barsAfterSweep == 0
bool wickPass = not requireSameCandleWick or not sameBar or f_lowerWickRatio() >= reclaimWickThreshold
valid := windowPass and closePass and locationPass and bodyPass and directionPass and wickPass
valid
When every enabled rule passes at candle close, the script displays a BUY RECLAIM label.
If the visual trade model is enabled and no trade is active, the setup creates:
• Entry at the confirmed signal-bar close
• Stop Loss below entry or below the sweep extreme
• TP above entry
• blue/cyan reward box
• red risk box
• thick white Entry line
• blue TP line
• red SL line
This does not mean price must continue upward.
It means the configured bullish sweep-reclaim conditions were confirmed at the close of that candle.
━━━━━━━━━━━━━━━━━━━━━━
🔴 BEARISH SWEEP RECLAIM LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A bearish sweep-reclaim setup begins with a confirmed swing high.
The swing high must be stored and remain eligible.
Price can then move close enough to place the level in the Armed state.
A bearish sweep is created when price penetrates above the swing-high level and the penetration satisfies the active sweep rules.
The engine may require:
• a wick-only penetration
• a wick or body penetration
• body participation beyond the level
• a minimum ATR-normalized depth
• a maximum ATR-normalized depth
• the first valid penetration attempt
• selection as the nearest valid level
• no simultaneous low-side sweep
After the high-side sweep, the bearish reclaim must occur inside the selected reclaim window.
The reclaim can require:
• a close below the swept level
• an ATR-based close buffer below the level
• a low close location inside the candle
• minimum body strength relative to ATR
• a bearish candle body when enabled
• minimum upper-wick rejection for same-candle reclaims
• a final score above the active quality threshold
• permission from the selected signal direction
• bearish chart and/or HTF EMA alignment
• permission from the active market-condition filter
• cooldown and cluster permission
• no stronger bullish conflict
When every enabled rule passes at candle close, the script displays a SELL RECLAIM label.
If the visual trade model is enabled and no trade is active, the setup creates:
• Entry at the confirmed signal-bar close
• Stop Loss above entry or above the sweep extreme
• TP below entry
• blue/cyan reward box
• red risk box
• thick white Entry line
• blue TP line
• red SL line
This does not mean price must continue downward.
It means the configured bearish sweep-reclaim conditions were confirmed at the close of that candle.
━━━━━━━━━━━━━━━━━━━━━━
💎 SWEEP RECLAIM QUALITY FILTER SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The script includes a multi-component quality system to reduce low-context reclaim signals.
This is important because not every sweep has the same structural meaning and not every reclaim candle has the same directional strength.
The quality engine evaluates eight components:
Sweep Depth — maximum 15 points
Measures where the penetration sits inside the active minimum-to-maximum sweep range.
The score favors a controlled sweep depth rather than automatically rewarding the deepest penetration.
Reclaim Close — maximum 20 points
Measures the directional location of the candle close.
A bullish setup receives more points when the reclaim closes near the top of the candle.
A bearish setup receives more points when the reclaim closes near the bottom.
Wick Rejection — maximum 15 points
Measures the directional rejection wick.
For multi-bar reclaims, the engine can also consider the stored sweep type and current reclaim structure.
Level Freshness — maximum 10 points
Newer levels generally receive more freshness points than levels that have remained active for a long time.
Relative Volume — maximum 10 points
Compares current volume with the selected baseline length.
When useful volume is not available, the engine avoids treating the setup as automatically invalid.
Displacement — maximum 15 points
Combines candle-body strength and the distance reclaimed through the level.
Market Condition — maximum 10 points
Uses candle range and ATR-regime information.
Level Cleanliness — maximum 5 points
Rewards levels with fewer prior interaction attempts.
The total is rounded and limited to 0–100.
float qualityScore = math.min(100.0, math.max(0.0, math.round(
sweepScore + closeScore + wickScore + freshnessScore +
volumeScore + displacementScore + marketScore + cleanlinessScore
)))
The quality score is not a win probability.
It is not a verified accuracy percentage.
It is an internal measurement of how closely the completed setup matches the selected structural rules.
━━━━━━━━━━━━━━━━━━━━━━
📏 SWEEP / ATR FILTER
━━━━━━━━━━━━━━━━━━━━━━
The sweep-depth filter measures the penetration beyond a swing level relative to ATR.
For a high-side sweep:
Sweep Depth = (High − Swing High) / ATR.
For a low-side sweep:
Sweep Depth = (Swing Low − Low) / ATR.
Minimum Sweep Depth rejects penetrations that may be too small to represent a meaningful liquidity event.
Maximum Sweep Depth rejects penetrations that may be too deep to represent a controlled sweep and may instead behave more like a breakout.
The default values are:
Minimum Sweep Depth = 0.05 ATR.
Maximum Sweep Depth = 0.80 ATR.
ATR normalization allows the threshold to adapt to changing volatility.
A 0.20 ATR sweep represents a relative move rather than a fixed number of points.
This helps the engine operate across different price scales.
However, ATR normalization does not make one configuration universally suitable.
A symbol with session gaps, irregular volume, or unusual volatility can still behave differently from another market.
A deeper sweep is not automatically a better setup.
Sweep depth is only one component of the complete reclaim process.
━━━━━━━━━━━━━━━━━━━━━━
🕯️ DISPLACEMENT QUALITY FILTER
━━━━━━━━━━━━━━━━━━━━━━
The displacement component evaluates whether the reclaim candle moves with enough directional force.
The engine considers:
• candle-body size relative to ATR
• distance closed beyond the reclaimed level
• bullish or bearish directional recovery
For bullish setups, stronger displacement generally means:
• a larger bullish body
• a close further above the reclaimed swing low
For bearish setups, stronger displacement generally means:
• a larger bearish body
• a close further below the reclaimed swing high
Reclaim Strength Mode can also impose a minimum body-size requirement before the setup reaches the quality-scoring stage.
Loose mode allows smaller directional bodies.
Balanced mode uses moderate requirements.
Strict mode requires stronger completed-candle behavior.
Custom mode exposes the manual threshold.
Displacement is not used as a prediction.
It is used to measure whether the completed reclaim candle demonstrates the selected degree of directional response.
━━━━━━━━━━━━━━━━━━━━━━
📊 REACTION STRENGTH FILTER
━━━━━━━━━━━━━━━━━━━━━━
The reaction-strength layer evaluates the candle that confirms the reclaim.
The active rules can include:
• close through the swept level
• ATR-based close buffer
• directional close location
• body strength relative to ATR
• bullish or bearish candle direction
• same-candle rejection wick
Reclaim Strength Mode provides:
Loose
Uses lower close-buffer, close-location, body-strength, and wick-rejection requirements.
Balanced
Uses moderate thresholds.
Strict
Uses the strongest built-in thresholds and is the default.
Custom
Uses the manual values selected by the user.
Strict mode applies:
• 0.05 ATR reclaim close buffer
• 0.70 directional close-location threshold
• 0.15 ATR minimum body strength
• 0.28 same-candle wick-rejection ratio
Require Directional Candle Body can additionally require:
• close above open for bullish reclaims
• close below open for bearish reclaims
Require Same-Candle Wick Rejection applies the wick requirement when the sweep and reclaim occur on the same candle.
The reaction-strength system is designed to distinguish a simple touch from a stronger completed directional response.
━━━━━━━━━━━━━━━━━━━━━━
🧼 CONFIRMED RECLAIM FILTER
━━━━━━━━━━━━━━━━━━━━━━
The reclaim layer requires the setup to remain valid at candle close.
Available reclaim windows include:
Same Candle
The penetration and reclaim must complete on the same candle.
Fast
The reclaim can occur on the sweep candle or the next candle.
Flexible
The reclaim can occur within three bars and is the default.
Custom
The user selects the maximum number of bars.
The engine stores the sweep bar and compares the current bar with the allowed reclaim window.
The sweep state timeout is automatically prevented from becoming shorter than the active reclaim window.
A reclaimed setup can also be blocked by:
• insufficient close buffer
• weak close location
• weak candle body
• missing directional body
• missing same-candle wick rejection
• low quality score
• direction restriction
• chart EMA misalignment
• higher-timeframe EMA misalignment
• market-condition failure
• active-trade restriction
• cooldown
• same-direction clustering
• duplicate-bar protection
• opposite-direction conflict
Final permanent BUY and SELL signals require confirmed-bar logic.
This means an unfinished realtime candle can temporarily trade beyond a level, but it does not become a permanent reclaim signal unless the conditions remain valid when the bar closes.
━━━━━━━━━━━━━━━━━━━━━━
🎯 ENTRY MODEL
━━━━━━━━━━━━━━━━━━━━━━
When a final BUY or SELL reclaim signal passes every enabled condition, the script can create a visual entry model.
The Entry reference is the close of the confirmed signal candle.
The engine stores:
• trade direction
• entry bar
• entry price
• stop price
• risk distance
• selected RR
• target price
• setup quality
• setup grade
The trade model opens only when:
• Enable Trade Model is active
• no visual trade is already active
• the final reclaim signal is confirmed
• the calculated risk distance is larger than the symbol’s minimum tick
• same-bar reopening is permitted when the previous model closed on the same candle
if enableTradeModel and not tradeActive and (allowSignalOnExitBar or not tradeClosedThisBar)
if buyReclaimSignal
float sweepExtreme = array.get(lowSweepExtremes, selectedLowReclaimIndex)
float candidateStop = stopLossMode == "Entry ATR Multiplier" ?
close - safeATR * stopATRMultiplier :
sweepExtreme - safeATR * stopBufferATR
float candidateRisk = close - candidateStop
The entry model is a visual analysis reference.
It is not a broker market order.
It does not include spread, slippage, commission, latency, or partial fills.
━━━━━━━━━━━━━━━━━━━━━━
🛑 ATR STOP-LOSS MODEL
━━━━━━━━━━━━━━━━━━━━━━
The script includes two stop-placement models.
Entry ATR Multiplier
For BUY setups:
Stop = Entry − ATR × multiplier.
For SELL setups:
Stop = Entry + ATR × multiplier.
This is the default mode.
The default Entry ATR Stop Multiplier is 2.00 ATR.
The multiplier can be adjusted from 0.10 to 15.00.
Sweep Extreme + ATR Buffer
For BUY setups:
Stop = stored low-side sweep extreme − ATR buffer.
For SELL setups:
Stop = stored high-side sweep extreme + ATR buffer.
The default Sweep-Extreme Buffer is 0.10 ATR.
float candidateStop = stopLossMode == "Entry ATR Multiplier" ?
close - safeATR * stopATRMultiplier :
sweepExtreme - safeATR * stopBufferATR
The selected stop determines the visual risk distance.
That risk distance also determines the take-profit distance.
The displayed stop is a planning reference only.
It does not place or manage a broker stop order.
━━━━━━━━━━━━━━━━━━━━━━
🎯 TAKE-PROFIT RR MODEL
━━━━━━━━━━━━━━━━━━━━━━
The script uses one configurable take-profit target.
The target is calculated from the distance between Entry and Stop Loss.
For BUY models:
TP = Entry + Risk × RR.
For SELL models:
TP = Entry − Risk × RR.
The Risk / Reward Target can be adjusted from:
0.25R to 15.00R.
The default is 2.00R.
activeTradeRisk := candidateRisk
activeTradeRR := tradeRiskReward
activeTradeTarget := close + candidateRisk * tradeRiskReward
The displayed RR controls the geometric distance of the projected target.
It does not represent a performance claim.
It does not guarantee that price will reach the target.
Changing the stop model or stop multiplier changes the target distance because both levels are based on the same initial risk.
━━━━━━━━━━━━━━━━━━━━━━
📦 ACTIVE TP / SL BOX SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
When a confirmed reclaim model opens, the script can draw:
• blue/cyan TP box
• red SL box
• thick white Entry line
• blue TP line
• red SL line
• BUY RECLAIM or SELL RECLAIM label
The active boxes and lines extend to the right as new candles appear.
The Entry line is intentionally pure white and visually thicker than the TP and SL references.
When TP is reached:
• the trade model closes
• active boxes and lines stop at the closing bar
• the TP result label appears
• completed visuals can remain when Show Historical Trades is enabled
• completed visuals can be faded using Completed Trade Transparency
When SL is reached:
• the TP box is deleted
• the SL box is deleted
• the Entry line is deleted
• the TP line is deleted
• the SL line is deleted
• the original BUY or SELL signal label associated with that trade is deleted
• only a small CLOSED SL HIT label remains
This SL-specific cleanup keeps failed models visually concise.
The active trade model is educational and bar-based.
It does not simulate real broker execution.
━━━━━━━━━━━━━━━━━━━━━━
🚦 ONE ACTIVE TRADE AT A TIME
━━━━━━━━━━━━━━━━━━━━━━
The script includes one-active-trade-at-a-time logic.
If a visual trade model is active, the engine does not open another trade model until the current model closes.
Block Signals During Active Trade can also prevent new final signal labels from being accepted while the active model is open.
Allow New Signal on Exit Bar controls whether a new model can open on the same candle that closes the current model.
The default is disabled.
This design separates:
• market-level calculation
• sweep and reclaim detection
• permission to create a new trade model
The engine can continue updating structural levels and market context while a model is active.
However, the one-active-model rule prevents overlapping TP / SL boxes and conflicting lifecycle states.
This is a visual-management rule.
It is not a restriction on the user’s personal trading activity.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ SAME-CANDLE TP / SL HANDLING
━━━━━━━━━━━━━━━━━━━━━━
The script begins checking TP and SL after the entry candle.
If both TP and SL are touched on the same later candle, standard OHLC data does not reveal the actual intrabar sequence.
The script therefore provides two selectable assumptions:
Stop First
The stop is processed before the target.
This is the default and more conservative assumption.
Target First
The target is processed before the stop.
This is the more optimistic assumption.
Neither option reproduces exact tick-level broker execution.
The model does not include:
• bid/ask spread
• slippage
• order latency
• partial fills
• queue priority
• execution venue rules
• intrabar tick order
Same-candle handling is a modeling choice required by the limits of standard bar data.
━━━━━━━━━━━━━━━━━━━━━━
🏷️ SWEEP RECLAIM LABELS
━━━━━━━━━━━━━━━━━━━━━━
The script uses separate labels for sweep events, reclaim signals, and trade results.
Sweep labels can display:
SWEEP HIGH
or:
SWEEP LOW
The Sweep Label Filter can show:
Important Only
Only sweeps that meet the active importance threshold receive visible labels.
All Valid
Every accepted sweep can receive a visible label.
The default Minimum Sweep Importance is 65.
BUY and SELL reclaim labels can use three display styles:
Full
Example:
▲ A+ BUY RECLAIM ▲
QUALITY • 87/100
or:
▼ A+ SELL RECLAIM ▼
QUALITY • 84/100
Compact
Displays a shorter direction, grade, and score format.
Icon
Displays a minimal directional icon and optional score.
Show Grade on Signal Labels controls A+, A, or B display.
Show Score on Signal Labels controls the 0–100 score display.
All dynamic label text uses bold and italic formatting.
Independent size controls are available for:
• sweep labels
• BUY / SELL signal labels
• TP / SL result labels
• confirmed pivot triangle markers
━━━━━━━━━━━━━━━━━━━━━━
📍 SWING LEVEL DISPLAY MODES
━━━━━━━━━━━━━━━━━━━━━━
The indicator includes several level-display modes.
All Active
Displays eligible Fresh, Armed, Swept, and Reclaimed swing levels according to the active color and line-style rules.
Armed + Events
Focuses on Armed, Swept, and Reclaimed levels.
Events Only
Shows levels primarily when a sweep or reclaim event has occurred.
Hidden
Keeps the level engine active while removing swing-level lines from the chart.
Level Line Style provides:
Adaptive
Changes the line appearance according to level state.
Solid
Uses solid lines.
Dashed
Uses dashed lines.
Dotted
Uses dotted lines.
Show Swing-High Levels and Show Swing-Low Levels can independently control each side.
Fade Older Levels can reduce the opacity of older stored levels.
Level Width controls line thickness.
The display mode affects chart presentation only.
It does not change the underlying sweep and reclaim calculations.
━━━━━━━━━━━━━━━━━━━━━━
🧹 LEVEL INVALIDATION
━━━━━━━━━━━━━━━━━━━━━━
Stored levels do not remain eligible forever.
A level can be removed or retired because:
• it exceeds Maximum Level Age
• a confirmed breakout exceeds the allowed invalidation distance
• its sweep state exceeds the active timeout
• it completes its reclaimed hold period
• its first penetration is rejected while First Penetration Only is active
• it is consumed after failing a final execution filter
• the maximum active-level capacity removes an older level
Breakout Invalidation uses ATR-normalized distance.
This helps distinguish a controlled sweep from a confirmed close that travels too far beyond an unswept level.
Sweep State Timeout limits how long a Swept level can wait for reclaim.
Reclaimed Level Hold Bars controls how long the line remains highlighted after a successful reclaim.
Consume Filtered Reclaims determines whether a reclaim candidate rejected by direction, bias, market, cooldown, cluster, or conflict rules is permanently retired.
Removing stale or invalid levels helps reduce repeated signals from outdated price references.
━━━━━━━━━━━━━━━━━━━━━━
📟 DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━
The script includes a dashboard positioned in the bottom-right corner.
Dashboard modes include:
Full
Displays the broadest engine diagnostics.
Compact
Shows a reduced selection of important engine and trade information.
Trade Only
Focuses on the active trade lifecycle.
Off
Hides the dashboard.
The Full dashboard can display:
• active swing and reclaim configuration
• quality-filter mode
• Fresh, Armed, Swept, and Reclaimed level counts
• last sweep side
• last sweep type
• sweep depth
• last reclaim signal
• reclaim delay
• close location
• candle-body strength
• setup grade
• setup-quality score
• quality-component information
• selected candidate mode
• signal direction
• cooldown state
• trend-bias state
• market state
• active level
• latest block reason
• trade state
• Entry
• Stop
• Target
• risk distance
• selected RR
• total visual models
• wins and losses
• internal net R
• last model result
• current and best internal streaks
The dashboard is not PulseWire Strategy Tester.
Its trade counters are based on the indicator’s own educational bar-based model.
They do not include spread, commission, slippage, latency, or real broker execution.
━━━━━━━━━━━━━━━━━━━━━━
🚨 ALERT SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
Sweep Reclaim Entry Engine includes static PulseWire alert conditions for:
• Swing High Swept
• Swing Low Swept
• Any Swing Sweep
• BUY Reclaim Confirmed
• SELL Reclaim Confirmed
• Any Reclaim Signal
• A+ Sweep Reclaim
• A Sweep Reclaim
• B Sweep Reclaim
• Sweep Reclaim Trade Opened
• Sweep Reclaim TP Hit
• Sweep Reclaim SL Hit
The script also includes optional dynamic alert() messages.
Dynamic messages can include:
• direction
• symbol
• timeframe
• grade
• quality score
• reclaimed level
• signal close
• Entry
• Stop Loss
• TP
• RR
• stop mode
• final model result
Dynamic Signal Alerts: A+ Only can restrict dynamic final-signal alerts to A+ setups.
Alert filtering affects alert delivery only.
It does not change chart calculations.
Alerts are monitoring tools.
They do not execute trades or place broker orders.
━━━━━━━━━━━━━━━━━━━━━━
🔔 HOW TO USE ALERTS
━━━━━━━━━━━━━━━━━━━━━━
A practical alert workflow:
1. Add Sweep Reclaim Entry Engine to the chart.
2. Select the desired swing, sweep, reclaim, quality, bias, and trade-model settings.
3. Open PulseWire’s Create Alert window.
4. Select the indicator as the alert condition.
5. Choose the required static condition.
6. Use BUY Reclaim Confirmed or SELL Reclaim Confirmed for direction-specific signals.
7. Use Any Reclaim Signal for either direction.
8. Use A+, A, or B conditions when grade-specific monitoring is needed.
9. Enable Dynamic alert() Messages when detailed runtime messages are preferred.
10. Select Any alert() function call for dynamic messages.
11. Choose an alert frequency suitable for confirmed-candle monitoring.
12. Test the alert before depending on it.
13. Confirm every event with personal analysis and risk management.
Alert delivery can depend on:
• PulseWire servers
• the user’s alert settings
• symbol data availability
• chart timeframe
• realtime feed status
• webhook destination availability
The indicator cannot guarantee alert delivery or external execution.
━━━━━━━━━━━━━━━━━━━━━━
🧪 HOW TO USE THE INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
A practical workflow:
1. Add Sweep Reclaim Entry Engine to a standard candlestick chart.
2. Begin with the default Structural swing mode.
3. Keep Reclaim Strength Mode on Strict while learning the engine.
4. Keep Quality Filter Mode on Strict when a selective default is preferred.
5. Confirm that the selected higher timeframe is above the chart timeframe.
6. Observe the stored swing-high and swing-low levels.
7. Watch for a level to move from Fresh to Armed.
8. Review whether the penetration appears controlled rather than excessively deep.
9. Wait for the reclaim candle to close.
10. Review the BUY or SELL label, grade, and quality score.
11. Check the bottom-right dashboard for bias, market state, block reason, and active trade.
12. Treat Entry, SL, and TP as visual references only.
13. Compare the setup with personal structure, liquidity, session, volatility, and risk rules.
14. Use alerts for monitoring rather than blind execution.
15. Test the exact symbol, timeframe, session, and settings personally used.
16. Review historical TP models and concise CLOSED SL HIT labels to understand the visual lifecycle.
The indicator is best used as a structured sweep-reclaim review tool.
It should not be used as an automatic decision-maker.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━
⚙️ Core Swing Engine
Swing Mode
Selects Reactive, Balanced, Structural, or Custom.
Custom Left Bars
Controls left-side pivot sensitivity in Custom mode.
Custom Right Bars
Controls right-side pivot confirmation in Custom mode.
ATR Length
Controls ATR normalization throughout the engine.
━━━━━━━━━━━━━━━━━━━━━━
📍 Level Management
Maximum Active Levels Per Side
Limits stored swing highs and lows separately.
Maximum Level Age
Removes old inactive levels.
Level Merge Tolerance — ATR
Prevents near-duplicate swing levels.
Armed Distance — ATR
Controls how close price must move before a Fresh level becomes Armed.
Breakout Invalidation — ATR
Controls the confirmed-close distance that invalidates an unswept level.
━━━━━━━━━━━━━━━━━━━━━━
🌊 Sweep Detection
Sweep Penetration Mode
Selects Wick Only, Wick or Body, or Body Required.
Minimum Sweep Depth — ATR
Rejects insignificant penetrations.
Maximum Sweep Depth — ATR
Rejects excessively deep penetrations.
First Penetration Only
Allows only the first interaction attempt.
Multi-Level Sweep Handling
Selects Nearest Valid Level or All Valid Levels.
Block Dual-Side Sweep Bars
Prevents one candle from registering both a high-side and low-side sweep.
Sweep State Timeout
Controls how long a Swept level can wait for reclaim.
━━━━━━━━━━━━━━━━━━━━━━
✅ Reclaim Confirmation
Reclaim Window
Selects Same Candle, Fast, Flexible, or Custom.
Custom Reclaim Bars
Controls the reclaim window in Custom mode.
Reclaim Strength Mode
Selects Loose, Balanced, Strict, or Custom.
Custom Close Buffer — ATR
Controls reclaim distance beyond the level.
Custom Close Location
Controls directional close quality.
Custom Body Strength — ATR
Controls minimum reclaim-candle body size.
Custom Wick Rejection Ratio
Controls same-candle rejection-wick quality.
Require Directional Candle Body
Requires bullish or bearish candle direction.
Require Same-Candle Wick Rejection
Requires the active wick threshold for immediate reclaims.
Block Dual-Side Reclaim Bars
Prevents both directions from confirming on one candle.
Reclaimed Level Hold Bars
Controls how long a reclaimed level remains highlighted.
━━━━━━━━━━━━━━━━━━━━━━
💎 Quality Engine
Quality Filter Mode
Selects Loose, Balanced, Strict, or Custom.
Custom Minimum Quality
Controls the manual minimum from 50 to 100.
Include Relative Volume
Adds the relative-volume component.
Relative Volume Length
Controls the volume baseline.
Volatility Regime Length
Controls the ATR-regime baseline.
Show Grade on Signal Labels
Displays A+, A, or B.
Show Score on Signal Labels
Displays the 0–100 quality score.
━━━━━━━━━━━━━━━━━━━━━━
🎯 Signal Execution
Signal Direction
Selects Both, Long Only, or Short Only.
Candidate Selection
Selects Highest Quality or Nearest Level.
Cooldown Mode
Selects Off, Any Signal, or Same Direction.
Signal Cooldown Bars
Controls the time-based delay.
Use Same-Direction Cluster Filter
Blocks nearby repeated signals.
Minimum Signal Distance — ATR
Controls the required distance from the previous same-direction signal.
Block Duplicate Signal Bar
Prevents repeated final signals on one candle.
Opposite-Signal Conflict
Selects Block Both, Higher Quality, BUY Priority, or SELL Priority.
Consume Filtered Reclaims
Retires reclaim candidates rejected by final execution filters.
━━━━━━━━━━━━━━━━━━━━━━
🧭 Bias & Market Filters
Trend Bias Mode
Selects Off, Chart EMA, Higher Timeframe EMA, or Combined EMA.
Chart EMA Length
Controls current-timeframe trend bias.
Higher Timeframe
Selects the HTF context.
Higher-Timeframe EMA Length
Controls the confirmed HTF EMA.
Require EMA Slope Agreement
Adds directional EMA slope.
Market Condition Filter
Selects Off, Volatility, Efficiency, or Combined.
Efficiency Length
Controls directional-efficiency calculation.
Minimum Efficiency
Controls the required efficiency ratio.
Minimum ATR Regime Ratio
Sets the lower volatility boundary.
Maximum ATR Regime Ratio
Sets the upper volatility boundary.
The default HTF layer uses previous completed higher-timeframe values.
float confirmedHTFClose = request.security(
syminfo.tickerid,
higherTimeframe,
close ,
gaps = barmerge.gaps_off,
lookahead = barmerge.lookahead_on
)
float confirmedHTFEMA = request.security(
syminfo.tickerid,
higherTimeframe,
ta.ema(close, higherTimeframeBiasLength) ,
gaps = barmerge.gaps_off,
lookahead = barmerge.lookahead_on
)
━━━━━━━━━━━━━━━━━━━━━━
📈 Trade Model
Enable Trade Model
Enables Entry, SL, TP, and lifecycle visualization.
Stop-Loss Mode
Selects Entry ATR Multiplier or Sweep Extreme + ATR Buffer.
Sweep-Extreme Buffer — ATR
Controls protective distance beyond the sweep extreme.
Entry ATR Stop Multiplier
Controls ATR stop distance from Entry.
Risk / Reward Target
Controls target distance from 0.25R to 15R.
TP / SL Same-Bar Priority
Selects Stop First or Target First.
Block Signals During Active Trade
Maintains the one-active-model structure.
Allow New Signal on Exit Bar
Controls same-bar reopening.
Show TP / SL Boxes
Shows or hides risk/reward areas.
Show Entry / TP / SL Lines
Shows or hides price-reference lines.
Show Historical Trades
Keeps completed TP models.
Maximum Historical Trades
Limits stored completed visuals.
Show TP / SL Result Labels
Controls TP HIT and CLOSED SL HIT labels.
━━━━━━━━━━━━━━━━━━━━━━
🔔 Alert System
Enable Dynamic alert() Messages
Activates detailed runtime alerts.
Alert Final BUY / SELL Signals
Enables final-signal messages.
Dynamic Signal Alerts: A+ Only
Restricts dynamic signal messages to A+ setups.
Alert Trade Model Open
Sends Entry, SL, TP, RR, grade, and quality.
Alert TP / SL Result
Sends model-result messages.
━━━━━━━━━━━━━━━━━━━━━━
🎨 Visual Settings
Visual Profile
Selects Full, Clean, Minimal, or Mobile.
Level Display
Selects All Active, Armed + Events, Events Only, or Hidden.
Level Line Style
Selects Adaptive, Solid, Dashed, or Dotted.
Signal Label Style
Selects Full, Compact, or Icon.
Dashboard Mode
Selects Full, Compact, Trade Only, or Off.
Active Trade Zone Transparency
Controls TP / SL fill transparency.
Active Trade Border Transparency
Controls TP / SL borders.
Active Trade Line Width
Controls trade-line thickness.
Fade Completed Trades
Fades completed TP models.
Completed Trade Transparency
Controls historical fading.
Theme
Selects Crimson, Ice Blue, or Monochrome.
Show Swing-High Levels
Controls high-side levels.
Show Swing-Low Levels
Controls low-side levels.
Show Important Sweep Labels
Controls sweep-event labels.
Sweep Label Filter
Selects Important Only or All Valid.
Minimum Sweep Importance
Controls visible sweep quality.
Maximum Important Sweep Labels
Limits sweep-label history.
Show BUY / SELL Reclaim Signals
Controls final reclaim labels.
Maximum Reclaim Labels
Limits final signal-label history.
Fade Older Levels
Reduces old-level opacity.
Level Width
Controls swing-level line thickness.
Show Confirmed Pivot Markers
Controls pivot triangles.
Show Dashboard
Enables the dashboard.
━━━━━━━━━━━━━━━━━━━━━━
🛠️ Customization
Sweep Label Size
Controls SWEEP HIGH / SWEEP LOW labels.
Triangle Marker Size
Controls confirmed pivot triangles.
BUY / SELL Signal Label Size
Controls reclaim labels.
TP / SL Result Label Size
Controls result labels.
Dashboard Header Size
Controls dashboard titles.
Dashboard Text Size
Controls dashboard body text.
Color Mode
Selects Theme or Custom.
Custom color inputs control:
• swing-level states
• BUY / SELL backgrounds and text
• sweep-label backgrounds and text
• Entry, TP, and SL lines
• TP / SL fills and borders
• TP / SL result labels
• dashboard background, header, border, main text, and muted text
Input values and plotted marker values are hidden from the status line.
━━━━━━━━━━━━━━━━━━━━━━
🧠 WHAT MAKES THIS SCRIPT ORIGINAL
━━━━━━━━━━━━━━━━━━━━━━
Sweep Reclaim Entry Engine uses familiar analytical concepts such as:
• pivot highs and lows
• liquidity sweeps
• price reclaims
• ATR
• relative volume
• EMA bias
• market efficiency
• risk/reward projection
These concepts are not unique by themselves.
The originality of this script lies in how they are organized into one transparent sweep-reclaim workflow:
Confirmed pivot
→ separate high-side and low-side memories
→ ATR-normalized duplicate control
→ Fresh state
→ Armed state
→ penetration classification
→ minimum and maximum depth validation
→ Swept state
→ configurable reclaim window
→ close, location, body, and wick validation
→ eight-component quality score
→ A+ / A / B grade
→ multi-candidate comparison
→ cooldown, cluster, and conflict handling
→ chart and confirmed HTF EMA alignment
→ optional market-regime filtering
→ one-active-trade model
→ TP-specific historical preservation
→ SL-specific visual cleanup
→ static and dynamic alert delivery
→ bottom-right diagnostic dashboard
Distinctive implementation features include:
• separate lifecycle arrays for swing highs and swing lows
• a defined Armed state before sweep detection
• controlled minimum and maximum penetration depth
• wick/body sweep classification
• first-attempt retirement logic
• sweep-importance scoring separate from setup-quality scoring
• same-candle and multi-bar reclaim support
• transparent quality-component weighting
• Highest Quality and Nearest Level candidate selection
• multiple opposite-conflict resolution modes
• confirmed higher-timeframe EMA data
• ATR-normalized signal clustering
• full chart cleanup after SL
• independent sizing for every label and marker class
• status-line value suppression without hiding chart markers
• configurable targets up to 15R
The script is not a basic collection of unrelated filters.
Each module supports the same swing-sweep-reclaim process.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT PRACTICAL NOTES
━━━━━━━━━━━━━━━━━━━━━━
The indicator’s behavior depends heavily on settings and market conditions.
Signal frequency can change based on:
• Swing Mode
• pivot lengths
• maximum level age
• merge tolerance
• armed distance
• sweep penetration mode
• minimum and maximum sweep depth
• first-penetration logic
• multi-level selection
• reclaim window
• reclaim strength
• directional candle requirement
• same-candle wick requirement
• quality filter mode
• volume context
• direction restriction
• cooldown
• signal-cluster distance
• opposite-conflict mode
• chart EMA length
• HTF selection
• HTF EMA length
• market-condition filter
• volatility regime
• efficiency threshold
• active-trade restrictions
• symbol
• timeframe
• session
• data provider
• available chart history
A setting that appears selective on one market may behave differently on another.
Volume behavior can differ across forex, futures, equities, indices, and cryptocurrencies.
The higher-timeframe filter should use a timeframe meaningfully above the chart timeframe.
Structural mode confirms fewer and broader pivots than Reactive mode.
Strict reclaim and quality modes reduce signal frequency but do not guarantee better results.
Reactive or Balanced modes can increase frequency but can also increase chart noise.
Users should test the exact market, timeframe, session, and configuration they personally study.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS AND SHORTCOMINGS
━━━━━━━━━━━━━━━━━━━━━━
This script has important limitations:
It does not guarantee profitable trades.
It does not predict future price movement.
It does not replace risk management.
It does not execute trades.
It does not place broker orders.
It does not include spread.
It does not include commissions.
It does not include slippage.
It does not include execution delay.
It does not include partial fills.
It uses bar-based OHLC data.
Same-candle TP / SL order cannot be known from standard OHLC bars.
Stop First and Target First are modeling assumptions.
Confirmed pivots require right-side bars before becoming available.
The quality score is not a win probability.
A+ is not a guaranteed outcome.
The dashboard is not PulseWire Strategy Tester.
Internal model counters are not audited brokerage performance.
Historical boxes and labels do not guarantee future behavior.
Relative-volume quality depends on available volume data.
Higher-timeframe bias depends on the selected timeframe.
Market-efficiency filtering cannot identify every ranging condition.
ATR normalization does not make one configuration universal.
One-active-trade logic is a visual-management rule.
Data-feed differences can change historical pivots and signals.
Alert delivery depends on PulseWire and user configuration.
Changing settings changes historical calculations.
Changing symbol, session, exchange, or timeframe changes the engine context.
For these reasons, Sweep Reclaim Entry Engine should be used as an educational decision-support and chart-analysis tool, not as a standalone automated strategy.
━━━━━━━━━━━━━━━━━━━━━━
👤 WHO THIS SCRIPT MAY BE USEFUL FOR
━━━━━━━━━━━━━━━━━━━━━━
This script may be useful for traders who:
• study liquidity sweeps
• monitor confirmed swing highs and lows
• distinguish a sweep from a reclaim
• prefer filtered signals instead of every wick event
• want a visible level lifecycle
• want ATR-normalized penetration thresholds
• want same-candle and multi-bar reclaim support
• want a transparent 0–100 quality framework
• want A+, A, and B setup grades
• want chart and confirmed HTF EMA context
• want optional market-regime filtering
• want Entry, SL, and TP visualization
• want one active model at a time
• want clean SL result handling
• want adjustable mobile and desktop presentation
• want alert-based monitoring
• want a structured educational analysis process
It may be less suitable for users who:
• want guaranteed buy/sell signals
• want a fully automated trading bot
• want every wick beyond every high or low
• expect the quality score to represent probability
• expect one configuration to work on every market
• require exact tick-level execution simulation
• expect displayed levels to match broker fills
• want an indicator to replace independent judgment
• expect alerts to execute orders automatically
━━━━━━━━━━━━━━━━━━━━━━
🧭 BEST PRACTICE SUGGESTIONS
━━━━━━━━━━━━━━━━━━━━━━
For a cleaner and more selective review:
• begin with Structural swing mode
• keep First Penetration Only enabled
• use Nearest Valid Level or Highest Quality according to preference
• keep Strict reclaim strength
• keep Strict quality filtering
• use Combined EMA bias
• select a valid higher timeframe
• use Same Direction cooldown
• keep the same-direction cluster filter enabled
• use Stop First for conservative same-candle modeling
• use Important Only sweep labels
• use Clean visual profile
• keep the dashboard in Compact or Full mode while learning
• use alerts for monitoring, not blind execution
For more active signal frequency:
• use Balanced or Reactive swing mode
• use Balanced reclaim strength
• use Balanced quality filtering
• reduce cooldown
• reduce minimum signal distance
• use Chart EMA or disable trend bias
• keep the hard market filter Off
• use All Valid sweep labels only when additional chart detail is useful
Always:
• review the structural level before the sweep
• confirm the reclaim candle has closed
• verify the setup fits personal market context
• compare the stop with nearby structure and volatility
• treat TP as a planning reference
• test the exact symbol and timeframe
• apply independent risk management and position sizing
━━━━━━━━━━━━━━━━━━━━━━
🔓 PUBLICATION NOTE
━━━━━━━━━━━━━━━━━━━━━━
Sweep Reclaim Entry Engine is published as an educational and visual market-analysis tool.
The purpose of this description is to explain:
• what the script does
• how swing points are confirmed
• how levels are stored and managed
• how Fresh, Armed, Swept, Reclaimed, and Consumed states work
• how penetration type is classified
• how minimum and maximum sweep depth work
• how reclaim timing works
• how reclaim strength is evaluated
• how the 0–100 quality score is calculated
• how A+, A, and B grades are assigned
• how candidates are selected
• how cooldown and clustering operate
• how opposite-direction conflicts are handled
• how chart and confirmed HTF bias work
• how market-condition filters operate
• how Entry and Stop Loss are calculated
• how the RR target is projected
• how one-active-trade logic works
• how same-candle ambiguity is handled
• how active and completed visuals behave
• how SL-specific cleanup works
• what the dashboard displays
• what static and dynamic alerts do
• what the timing limitations are
• what the script’s limitations are
• why the implementation is original
The script is designed to support structured analysis.
It does not promise profitable results.
It does not remove market risk.
It does not execute trades.
It should not be used as a blind buy/sell system.
MAIN CHART SCREENSHOT PLAN
Use one clean standard candlestick chart.
Show the indicator with its default settings.
The screenshot should contain:
• one clearly visible confirmed swing level
• one visible SWEEP HIGH or SWEEP LOW event
• one BUY RECLAIM or SELL RECLAIM label
• one active Entry / TP / SL model
• the thick white Entry line
• the blue/cyan TP area
• the red SL area
• the bottom-right dashboard
• the symbol and timeframe
• the indicator title in the status line
Do not include:
• other indicators
• manual drawings
• unrelated labels
• social links
• promotional text
• performance claims
• account-profit screenshots
• non-standard candles
• excessive zoom
• hidden price candles
The screenshot should demonstrate the script’s normal default behavior and make the swing, sweep, reclaim, risk model, and dashboard easy to understand.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━
Sweep Reclaim Entry Engine is provided for educational and informational purposes only.
It does not constitute financial, investment, trading, legal, or tax advice.
No indicator can guarantee future results.
Markets are uncertain, liquidity conditions change, volatility changes, and historical chart behavior does not ensure future performance.
Every user is responsible for their own:
• analysis
• validation
• risk management
• position sizing
• alert configuration
• trading decisions
• broker execution
• legal and tax obligations
The confirmed swing levels, lifecycle states, sweep labels, reclaim labels, quality scores, setup grades, bias states, market-condition states, Entry references, stop-loss levels, take-profit targets, TP / SL boxes, result labels, dashboard values, internal model counters, and alerts are visual analysis tools only.
The displayed Entry is not a guaranteed fill.
The displayed Stop Loss is not a broker order.
The displayed target is not a guaranteed objective.
The 0–100 quality score is not a win probability.
The A+, A, and B grades are not promises of performance.
The internal trade model does not include spread, commissions, slippage, latency, order-book conditions, or partial fills.
Use this script as a structured sweep-reclaim review and decision-support framework, not as a promise of profitability or a substitute for independent judgment.
Indicator

Strategy

HTF Candle TerminalTitle: HTF Candle Terminal: Advanced Institutional Volume & Range Engine
Description:
Welcome to the HTF Candle Terminal – a complete, institutional-grade toolkit designed to bridge the gap between Higher Timeframe (HTF) market structure and Lower Timeframe (LTF) execution.
This indicator acts as a real-time trading terminal directly on your chart, projecting higher timeframe data, volume clusters, volatility bands, and dynamic price zones so you never lose track of the macro trend while executing on the micro level.
What does it do?
Instead of switching back and forth between timeframes, the HTF Candle Terminal anchors itself to a Higher Timeframe of your choice (e.g., 4-Hour, Daily). Once a new HTF session begins, the terminal starts mapping the battlefield in real-time, calculating institutional volume, statistically probable ranges, and liquidity sweeps.
🔥 Core Features (A to Z)
1. Live HTF Candle Projection
To the right of the current price action, the indicator draws a live, constantly updating "Macro Candle." This gives you an instant visual representation of what the higher timeframe candle looks like (Open, High, Low, Close) without ever leaving your current chart. Accompanying the candle is a real-time trend status (e.g., "Very Strong Bullish" or "Bearish") based on how price is behaving relative to the HTF Open and Volume Nodes.
2. Dynamic Volume Profiling & POC (Point of Control)
The terminal tracks every drop of volume from the moment the HTF candle opens.
Bull/Bear Zones: It creates distinct bullish (above open) and bearish (below open) volume zones.
Split POC: It isolates the highest volume node for buyers (Short Line) and sellers (Long Line).
Zone Breakouts: If price decisively breaks and closes through a POC line from the opposite side, it invalidates that volume node, dynamically clearing the map to signal a strong directional shift.
Auto Row Size: The script includes an intelligent algorithm that automatically calculates the perfect row/tick size for the volume profile based on the volatility of the previous HTF candle.
3. Statistical Range Projections (Excursions)
How far did the last HTF candle travel from its open? The terminal mathematically measures the percentage expansion of the previous HTF candle and projects those exact percentages (e.g., +1.25%, -0.80%) onto the current candle's open. This gives you highly accurate, historically-backed target zones for the current session.
4. HTF ATR & ADR Projections (Volatility Boundaries)
Knowing where price should stop is just as important as knowing where it is going.
ATR (Average True Range): Projects the HTF's current True Range (+/- 0.5 ATR by default) from the open price, giving you realistic daily/session volatility boundaries.
ADR (Average Daily Range): Projects the chart's average daily movement anchored to the HTF open. When price hits these outer bands, it signals mathematical exhaustion—perfect for take-profit targeting or mean-reversion setups.
5. Liquidity Sweep Detection (PH & PL)
The script draws dashed lines representing the Previous HTF High (PH) and Previous HTF Low (PL). If the current price action pokes through these levels but fails to hold, the terminal instantly marks the chart with a precise "✖" label, alerting you to a potential liquidity sweep/hunt.
6. HTF Anchored VWAP
An optional (toggleable) Volume Weighted Average Price anchored precisely to the start of the HTF candle. This acts as the ultimate institutional "fair value" baseline. If price is above the VWAP, momentum is confirmed bullish; if below, bearish.
💡 How to Use the Terminal in Your Trading
Trade the Open: The most critical level is the dashed HTF Open line. Treat it as the equator. Longs above, shorts below.
Target the Extremes: Use the Excursion lines, ATR, and ADR bands as your primary Take-Profit (TP) zones. When price reaches these levels, the market is mathematically overextended.
Watch the POCs: The Bull and Bear POC lines act as heavy magnets. If price is returning to the open, watch for bounces off the POC. If a POC is broken, ride the momentum in the direction of the break.
Trade the Sweeps: Look for an "✖" marker at the PH or PL lines. A sweep combined with a rejection back into the HTF Open zone is one of the highest probability reversal setups available.
⚙️ Full Customization
Every element is built to be customized. Change the colors of the HTF candle, adjust global label sizes, toggle VWAP/ATR/ADR on or off, and tweak the transparency of historical boxes to keep your chart perfectly clean.
Developed with precision for structural and quantitative traders.
© erdensedat Indicator

Range Expansion Divergence OscillatorRange Expansion Divergence Oscillator
## Overview
The Range Expansion Divergence Oscillator turns **directional range expansion** - how large each bar range is versus its recent average, signed by the prevailing price direction - into a standardized, bounded oscillator, and then looks for **divergence between price and range**. The idea it tests: when price makes a new extreme on shrinking ranges, the move is "thin" and lacks effort behind it.
It is a single-pane oscillator. It needs no external data and no volume. Every data input is user-configurable, so it runs on any symbol, asset class or timeframe, in any market and on any timeframe. Defaults target NSE NIFTY index futures on intraday charts.
## What it plots
- A z-scored **range oscillator** (expanding range with the trend = up, contracting range = near zero), with a glow line and sigma-based overbought/oversold levels.
- **Extreme-zone bands** (default +/-3 sigma) with a gradient fill that deepens toward the edge.
- **Divergence lines and labels** on the oscillator - regular (reversal) and hidden (continuation), in two colors.
- **In-band reversal dots** where the oscillator turns inside an extreme zone.
- Optional **price-pane marks** at the confirmation bar (all generated by this one indicator).
- A **background-adaptive status dashboard** (oscillator value in sigma, zone, last divergence, last reversal, current range z-score).
## Why these components are combined (mashup rationale)
This script combines a **derived measure**, a **normalization stage**, a **divergence engine** and a **reversal read**, because each answers a question the others cannot and none is useful here alone:
1. **Directional range expansion (effort/participation).** Price geometry alone cannot show participation. A new high made on shrinking bar ranges is "thin"; a high on expanding ranges has effort behind it. The oscillator z-scores the bar range (high - low) versus its recent average and signs it by the net direction of price, giving the closest read to participation buildable from the bars of the instrument itself - with no volume required.
2. **Standardization (rolling z-score).** range differs in scale across instruments. The z-score expresses it in standard-deviation units, so "overbought/oversold" and the extreme bands mean the same thing on NIFTY, on a commodity future, or on a crypto instrument. Without this step the divergence thresholds would not transfer between symbols.
3. **Divergence engine.** The original payload is reading **price-versus-range disagreement at confirmed pivots**. The engine pairs each new price pivot with the oscillator value, then requires: a genuine new price extreme; the measure failing to confirm it; a minimum oscillator gap scaled to the oscillator own stdev; the two pivots within a maximum bar distance; and optionally an overbought/oversold reading at the pivot. These gates make the combination produce signal rather than noise.
4. **Reversal read.** Independently, the engine flags oscillator turns that occur inside the extreme bands - a complementary exhaustion cue.
Together the components form one pipeline: **build the signal -> make it comparable (z-score) -> surface where price and that signal disagree (divergence) and where it exhausts (reversal).** Each is incomplete alone.
## How it works (method)
bar range (high - low) is standardized to a rolling z-score, then signed by the net direction of price over the range window so that up = bullish; the result is the oscillator.
Regular and hidden divergence are detected from confirmed pivothigh/pivotlow pivots and filtered by the gates above; reversals are oscillator pivots that print inside the extreme bands. Pivots confirm a few bars after they occur, so a printed signal does not repaint. The confirmation lag equals the pivot length.
## How to use it
1. Add the indicator on any chart; no volume or external data is required.
2. Read divergence as **context, not a trigger**: a bearish divergence (price higher high, range lower high) says the new high lacks expanding range/effort; a bullish divergence says the opposite at lows. Confirm with your own structure, levels and risk process.
3. Tune the **pivot length**, **max gap** and **min oscillator gap** to your timeframe; raise them for fewer, cleaner signals.
## Originality
This is an original implementation - not a range line and not a generic divergence script, but the specific combination of range, sigma-standardization that makes the read portable across markets, a multi-gate divergence engine (magnitude + distance + extreme-zone), hidden-divergence and in-band reversal detection, and a background-adaptive dashboard. The code is written from scratch; helper functions use only their arguments and built-ins.
## Credits
Range-expansion / **effort-versus-result** analysis is a long-standing public technical-analysis approach (in the **Wyckoff** tradition). **Price/oscillator divergence** is likewise a standard, publicly documented technique. This script is not affiliated with, nor endorsed by, any third party.
## Notes / limitations
- Range is a participation proxy, not a direction call; the sign comes from a short price window, so very choppy segments can flip it.
- Divergence is descriptive context, never a guarantee of reversal.
- Confirmation lags each pivot by the pivot length.
## Disclaimer
Research and educational tool only. NOT financial advice and no guarantee of profitability or accuracy. Indicators describe past behaviour; they do not predict the future. Trading carries risk of loss. Test out-of-sample and make your own decisions. The author accepts no liability for any use of this script.
Indicator

Friction Map [NovaLens]Friction Map reads price structure the way a floor trader reads a room: it finds the price shelves where the market actually spent time, marks which ones are still live versus which the market has abandoned, and measures how much clear air you have to the nearest live shelf in each direction. It is a map of where structure is, how alive it is, and where the open space sits - not a buy or sell signal.
Most support/resistance tools draw static lines and leave them there forever, so the chart fills with levels that stopped mattering 300 bars ago. Friction Map keeps the same structure honest over time: every shelf carries a freshness that decays once the market stops trading at it, so the orange (live) shelves are the ones price has interacted with recently and the gray (fading) ones visibly age out.
═════════════════════════════════════════
◈ HOW TO READ IT
Friction Map draws directly on the price chart. There are two views of the same structure.
The shelves.
Orange = LIVE - price traded here recently; this is the current structure context.
Gray = FADING - price has not returned in a while; the market has moved on and the shelf dims the longer it stays untouched.
Faint dotted = BROKEN - price closed through it; an x-cross marks the exact bar it failed, and the dotted tail is kept so you can still see it existed.
KEY LEVEL - the strongest live shelf on the map (boldest line, brightest tag). The eye's anchor.
The room boxes. On the right edge, a box runs from current price to the nearest LIVE shelf above and below, with a label that reads the distance as a near-to-far range in ATR, for example "1 to 2.1 ATR" - meaning roughly 1 ATR of clear air, then the shelf running out to 2.1 ATR. ATR units make the read comparable on any symbol and timeframe. Teal means clear room; orange means a live shelf sits within about 1 ATR. When there is no live shelf in a direction the label reads "open air".
The breakout badge. On a confirmed close that breaks the recent range, and only at the extremes, the map prints a one-word context badge: CLEAR RUNWAY when there is no live shelf within the runway band ahead, or WALLED (with the distance) when a live shelf stands within about 1 ATR of the path. Only one CLEAR RUNWAY prints per clear-air leg - no repeats while price keeps running in the same open space, and it resets once price pulls back into a shelf. It is breakout context, never a direction call.
The info panel. A compact info panel compiles the read: the structure memory in bars; Room above and Room below as ATR ranges; Price now (open air, on a live shelf, or on a fading shelf); Last breakout (the most recent badge and how many bars ago); Shelves (how many live versus fading); and a one-line Reading takeaway.
The two views (Level view).
Anchored (default): each shelf line starts at its origin diamond, shows its current live (orange) / fading (gray) state from that origin, and marks the x-cross where it broke. An anchored structure story - where structure formed, how it reads now, and where it broke if broken - not a full per-era ledger.
Zones : every live shelf drawn as a clean full-width band straight across the chart, like a supply/demand map. Instant "where are my levels right now". No origin/break markers; broken shelves drop off.
═════════════════════════════════════════
◉ HOW IT WORKS
The density field. Across the lookback window, the indicator measures how often each price level sat inside the high-low range of the lookback bars - a time-at-price-style structure read. For every bar it asks which price levels the bar's high-low range covered, and accumulates that into a density field using a difference-array method (O(L+bins) per bar) so the script stays fast even on long charts and heavy lookbacks. Price levels where many bars overlapped are dense; levels price passed through quickly are thin.
Where shelves are born. A shelf forms at a density peak whose strength clears a RELATIVE floor - it must be at least a set fraction of the strongest peak currently on the map. That relative test is self-calibrating: it adapts to each asset and regime instead of relying on a fixed tick count, so the same indicator is designed to read BTC, SPY, EURUSD and gold without constant retuning. A small absolute floor screens out noise on near-empty windows.
Data-driven width. Each shelf's band is not a fixed width. It expands outward from the peak for as long as the neighbouring density holds at least half the peak value, then is capped to a readable range in ATR units. A wide consolidation earns a wide shelf; a tight one stays thin.
Aliveness (freshness). Every shelf carries a freshness equal to an exponential decay of the bars since the band was last traded (2^(-barsSinceTouch / halfLife)). Freshness is 1 while price is in the band and halves every half-life once price leaves. Above the live threshold a shelf renders LIVE (orange); below it the shelf renders FADING (gray) and dims further until it drops off the map.
Causal lifecycle. Shelves are born on confirmed bars and never re-placed. A shelf becomes BROKEN only when price, after arming on one side with real separation, closes through to the other side - the break bar is frozen and the line continues as a faint dotted tail. The ORIGIN anchor (the earliest bar within the lookback where price actually traded that level) and the BREAK anchor are both set once and never rewritten. That frozen history is the trust element: the map cannot quietly redraw the past to look right.
═════════════════════════════════════════
✦ HOW WE USE IT
A common read on a liquid crypto or index chart, default memory: price is pushing toward the top of its recent range. The panel Room above reads "0.4 to 1.6 ATR" in orange - there is a live shelf close overhead, so the map reads the upside as walled in the near term. Room below reads "open air" - nothing live underneath. Price is sitting in open air between an overhead live shelf and abandoned structure far below.
Now price closes through the recent high. Because the nearest live shelf overhead was inside the runway band, the map prints WALLED with the distance, not CLEAR RUNWAY - the break is into immediate structure, not open space. The badge does not say the break fails; it says there is a live shelf standing in the path, which is the context a discretionary trader wants before deciding whether the move has room.
Flip the situation: a confirmed break with Room ahead reading "open air" prints CLEAR RUNWAY . In our testing, clear-runway breakouts travelled further on average than walled ones (the effect was modest and weakest on rates). That is an observation about context, not a guarantee about the next bar.
The point of the map is the same in every case: see where the live structure is, see how much clear air you have to it in ATR, and read the breakout against that structure instead of against a static line.
═════════════════════════════════════════
❖ OTHER APPLICATIONS
Trade-location context : read entries against the nearest live shelf rather than a static S/R line - the orange shelves are the structure price has interacted with most recently.
Breakout context : CLEAR RUNWAY versus WALLED on a confirmed break, as a read on whether there is open space ahead or a live shelf in the path.
Stop and target context : the room ranges in ATR give a structure-aware sense of where the nearest live shelves sit above and below, for evaluating whether planned stops or targets sit near recent structure or out in open air, instead of at round numbers.
Chop filter : many overlapping live shelves with price standing on one ("on a live shelf" in the panel) is a congested read; sustained open air is cleaner trend space.
Structure classifier : use the Shelves row (live versus fading) and Room rows as a top-down structure filter for any external trade plan, independent of the badges.
Alert-driven workflow : subscribe to the clear-runway and walled breakout alerts and check the chart only when a confirmed breakout actually changes the structural picture.
═════════════════════════════════════════
⚙ GETTING STARTED
Friction Map ships with pre-tuned memory profiles plus a Custom override. Pick a memory and start reading the map - the default Auto setting matches the chart timeframe for you.
Structure memory:
Auto (match timeframe) (default): reads the chart - 30-minute and faster get Short, everything slower gets Medium.
Short (60 bars) : about one trading day on 5m, a week on 1H. Faster-moving map.
Medium (120 bars) : about a month on 1H, six months on 1D. Balanced.
Long (240 bars) : slow, full-cycle structure.
Custom : unlocks the Advanced group for full manual control.
Core display:
Level view : Anchored (causal story, default) or Zones (clean full-width bands).
Structure shelves : master toggle for the shelf lines. On by default. Under it, three per-state toggles let you choose which states draw:
Live shelves (orange) , Fading shelves (gray) , Broken shelves (dotted) - all on by default. Turn Broken off to declutter when a level has rebuilt live on top of old broken tails.
Room boxes + labels : the price-to-nearest-live-shelf boxes and ATR range labels. On by default.
Breakout badge : CLEAR RUNWAY / WALLED context badges on confirmed breakouts. On by default.
Shelf state tags : a small LIVE / FADING / KEY LEVEL tag at the right end of each shelf. On by default; turn off for a cleaner chart once the colours are familiar.
Show real shelf width : off by default (live shelves get a thin subtle halo). On draws each live shelf at its true data-driven width as a wider transparent band.
Info panel : pick where the summary panel anchors - Top Right (default), Top Left, Bottom Right, Bottom Left, Middle Right, or Off to hide it.
Dark theme panel : panel colours for dark charts; turn off on a light background.
Level reach (bars) : how far back the shelf lines and halos draw, so old structure does not stretch across the whole chart.
Appearance / Colours (4 pickers):
Live shelf, Fading shelf, Clear air, Broken shelf - each on its own line. The shelf lines, halos, room boxes, tags and badges all reference these inputs, so the palette adapts for colour-blind, light-mode or brand themes without forking the script.
Advanced (Memory = Custom only): Custom opens on the same defaults as the Medium profile (not a live copy of whichever profile you are currently on), so coming from Medium the switch is seamless; coming from Short or Long the map steps to that baseline first. Then every dial below is yours.
Lookback (bars) : structure memory in bars. Larger = more history considered, slower-moving map.
Freshness half-life : how fast a shelf fades once the market stops trading at it. After this many bars untouched a shelf is at half freshness.
Breakout lookback : a breakout is a confirmed close that newly breaks beyond the prior N-bar high or low (a fresh cross, so a sustained trend does not re-fire it every bar).
Min strength (vs strongest) : a shelf is born only if its density is at least this fraction of the strongest peak on the map. Raise for fewer, stronger shelves.
Merge distance (ATR) : shelf candidates closer than this to an existing shelf refresh it instead of spawning a duplicate.
Max shelves : cap on simultaneously tracked (non-broken) shelves; the weakest is pruned when a stronger one is born.
Live threshold : freshness above this renders a shelf LIVE (orange).
Runway band (ATR) : how far ahead of a breakout to scan for live shelves when deciding CLEAR RUNWAY versus WALLED.
═════════════════════════════════════════
△ LIMITATIONS
Descriptive, not predictive : Friction Map shows where price spent time and how alive that structure is. It makes no claim that a shelf will hold or that a breakout will follow through. There is no buy or sell signal anywhere in the tool.
Time-at-price, not volume : the density field is built from how much of the traded range sat at each level, not from volume. That keeps the read universally stable across every asset and data feed (crypto volume is fractured by exchange, FX volume is a tick proxy), but it does not weight a busy bar more than a quiet one.
Backward-looking by construction : in fast moves and gaps, room can jump to "open air" quickly as price leaps into untraded territory. That is accurate but may not persist.
Room measures to LIVE shelves only : the room ranges and the badge ignore fading shelves on purpose - the room read focuses on the current (orange) structure. A fading shelf still shows on the chart as a gray line; it just is not counted as room.
The breakout effect is context, not edge : in testing, clear-runway breakouts travelled further than walled ones on average, but the difference was modest and weakest on rates. Treat the badge as context to read alongside your own plan, not as a validated signal.
Recency fade : a structurally important level that has not been traded in a long time will fade from the map even if you still consider it important. Lengthen the memory or half-life if you want older structure to persist.
═════════════════════════════════════════
🔔 ALERTS
Two alert conditions are built in so you can monitor structure without watching every bar:
Clear-runway breakout : a confirmed breakout into clear air (no live shelf within the runway band ahead).
Walled breakout : a confirmed breakout into nearby live structure (a live shelf within about 1 ATR of the path).
Both fire on bar close (gated on `barstate.isconfirmed`) - no intrabar repaint. The indicator also emits a richer alert with a pure-JSON payload for routing to your own automation or webhook stack. The payload carries the brand, the indicator name, the event, the direction, the up and down clearance in ATR, the current price, the ticker, the timeframe and the bar time (the clearance fields are sent as text and read "open" when there is no live shelf that way). Pick ONE mechanism per event - the dropdown alert condition for a simple notification, or the JSON alert for a webhook - so you do not get duplicate notifications. Badges and alerts fire even when the on-chart badge is toggled off; alerts should not require chart clutter.
═════════════════════════════════════════
⌁ NOTES
Built on a containment-count density field (time-at-price), with data-driven band width, exponential freshness decay, and a causal frozen lifecycle (origin and break anchors set once and never moved).
Method lineage: the density field is a time-at-price construction, in the tradition of Market Profile (J. Peter Steidlmayer, popularised at the CBOT in the 1980s), which reads structure from where the market spent time rather than from volume. Friction Map adds the freshness decay and the causal live/fading/broken lifecycle on top of that classical time-at-price idea.
Repaint: non-repainting on confirmed bars. Births, breaks, clearance, badges and alerts are computed on bar close; the current bar updates in real time. Live/fading colour reflects current state, so a re-traded faded shelf can re-colour live - no past origin or break anchor is ever changed.
Original construction. The engine is built from first principles for this tool; there is no external reference implementation, so no validation-correlation claim is made.
Open-source under MPL 2.0. Free to use, fork, study.
NovaLens Indicator

0.75% Rule - Trade ProjectionA position-sizing and reward-projection overlay for discretionary traders.
You place an entry and a stop on the chart, and the script returns the
position size that risks a fixed fraction of your account, then projects
your reward targets as R-multiples. Direction (long or short) is inferred
from where you click. The focus is getting currency-correct sizing right
with as little input as possible, and catching the sizing mistakes that
quietly distort risk.
📊 What it does
- Sizes the trade so the entry-to-stop distance equals a fixed percentage
of account equity. Default is 0.75%, a conservative fixed-fractional
risk rule, but the percentage is adjustable.
- Reports the result in the correct unit for the instrument: lots and
units for forex, or contracts/shares sized off point value elsewhere.
- Projects a configurable number of reward targets spaced in R-multiples
(1R, 2R, 3R ...), each labeled with its R-multiple and the reward amount
in your account currency.
- Draws the risk zone (entry to stop) and reward zones, plus an info panel
summarizing account, risk, direction, stop distance, size and R:R.
⚙️ How it works
- Risk amount = account size x risk %. Position size = risk amount /
(stop distance x point value x conversion rate). For forex this is
converted into standard lots.
- Direction is read from the two clicks: a stop below entry is a long,
a stop above entry is a short.
- Instrument detection is automatic (forex, JPY pairs, metals, index,
crypto) via symbol info, with a manual override if you need it.
- Account-to-quote currency conversion is explicit and manual. The
account-currency dropdown is a display label only; the single field
that adjusts lot size is the conversion rate. The panel flags the two
mistakes that actually distort risk: leaving the rate at 1.0 on a
mismatched pair, and applying a non-1.0 rate when the currencies match.
- An optional ATR-based stop can override the clicked stop (length and
multiplier adjustable). Direction still comes from your clicks.
- Repaint-free by construction: no higher-timeframe requests, entry and
stop are static prices, and all drawing is deterministic.
📋 How to use it
1. Add the script. It prompts you to click an entry price, then a stop.
2. Set account size and risk % in settings (default 0.75%).
3. If your account currency differs from the pair's quote currency, enter
the conversion rate (account currency per one unit of quote currency).
The panel warns you when a rate is needed.
4. Read position size, R:R and target levels from the panel and on-chart
labels.
5. For a new setup, open the indicator menu, choose Reset points, then
re-click entry and stop. The Re-arm toggle pauses the current
projection so a stale setup cannot mislead you.
## Notes
- This is a planning and risk-discipline tool, not a signal generator and
not financial advice. It does not place trades.
- For non-forex instruments, sanity-check the point value against your
broker's contract specs before trusting the size.
- Inputs are absolute prices, so after switching symbols you may need to
re-click entry and stop. The script detects an off-scale setup and
prompts you. Indicator

Market Adaptive Trend [Interakktive]Market Adaptive Trend (MAT) is a diagnostic trend tool that re-tunes its own responsiveness to the live volatility regime — and shows you, in plain English, why it tightened or loosened.
Most "adaptive" trend tools hide their adaptation behind math you cannot audit. MAT does the opposite: it adapts AND it narrates. Every adjustment it makes is shown on the chart, in words, so you can see the reasoning rather than trust a black box.
This is a market-state diagnostic tool, not a signal generator.
█ THE CORE IDEA
A fixed-length moving average has one flaw: it responds the same way in calm markets and violent ones. In a clean trend it lags; in a chop it whipsaws. MAT addresses this by letting the live volatility regime govern how responsive the trend line is — the link most adaptive tools never expose.
MAT continuously measures relative volatility: current ATR divided by its own longer-run average. A reading near 1.00 means volatility is at this market's own baseline; above means more volatile than usual; below means calmer. That single ratio classifies the market into one of three regimes, and each regime changes how the line behaves.
█ THE THREE REGIMES
RIDING (calm) — Volatility below baseline. The line loosens and leans toward its slower estimate, so it rides a clean trend without being shaken out by minor noise.
TIGHTENING (balanced) — Volatility near baseline. The line sits in a balanced blend — neither chasing nor lagging — typical of coiling, pre-expansion conditions.
GUARDED (volatile / stretched) — Volatility above baseline. The line damps its response and becomes slow to flip, and candles tint amber as a caution that conditions are stretched and a flip here is lower-confidence.
█ HOW THE LINE IS BUILT
MAT blends a fast and a slow estimate of price. The blend weight is not fixed — it shifts with the regime above, scaled by an Adaptation Strength input (0 = a fixed blend, 1 = full regime governance). The blended target then drives the visible line through an error-feedback step, so the line moves toward its target proportionally rather than snapping. The calculation uses only confirmed historical data, contains no lookahead, and does not repaint.
█ THE HUD
A compact on-chart panel reports, in plain language:
- Trend — UP / DOWN
- Regime — RIDING / TIGHTENING / GUARDED, with a plain-English volatility descriptor (very calm → below normal → near normal → slightly elevated → high)
- Responsiveness — LOW / MED / HIGH (how reactive the line currently is)
- Read — a one-line summary of the current state
No raw scores are presented as the message — the panel is meant to be read at a glance.
█ HOW TRADERS USE MAT
MAT is designed to provide context, not entries. Common uses:
- Reading whether the current environment favours riding (RIDING) or caution (GUARDED)
- Avoiding low-confidence flips when the regime is GUARDED and conditions are stretched
- Using the regime read as a filter alongside your own entry method
- Framing trend direction with an honest sense of how much to trust it right now
█ SETTINGS OVERVIEW
Adaptive Baseline
- Source, Fast estimate length, Slow estimate length
- Adaptation Strength (how strongly the regime governs responsiveness)
Regime Governor
- Volatility baseline length, ATR length
- Calm threshold (below = RIDING), Volatile threshold (above = GUARDED)
Visual
- Adaptive line, Gradient fill, Edge glow, Color candles, Line width
HUD
- Show HUD, Position, Size
█ DISCLAIMER
This indicator is a market context and diagnostic tool only. It does not generate trade signals, entries, or exits. Past behaviour does not guarantee future price action. Always combine with independent analysis and proper risk management. Indicator

Strategy

Elaris Mean Reversion ProElaris Mean Reversion Pro
Elaris Mean Reversion Pro is a multi-factor mean reversion indicator designed to help traders identify situations where price has moved significantly away from its statistical mean and may be entering a potential reversion phase.
The indicator combines adaptive deviation bands, volatility measurements, momentum filters, market regime analysis, and optional higher-timeframe confirmation to provide a structured framework for analyzing stretched market conditions.
Unlike simple overbought and oversold tools, Elaris Mean Reversion Pro allows users to customize how extremes are measured through Z-Score, ATR-based, or hybrid deviation models while incorporating optional confirmation layers such as RSI, MFI, volume, ADX, and higher-timeframe trend filters.
Key Features
• Multiple mean calculation methods including EMA, SMA, RMA, WMA, VWMA, and HMA.
• Three deviation models:
* Z-Score Bands
* ATR Bands
* Hybrid Bands
• Mean reversion signal engine with multiple confirmation styles:
* Extreme Touch
* Mean Reclaim
* Candle Rejection
• Optional RSI and MFI extreme-condition filters.
• ADX-based market regime filter to help identify environments where mean reversion conditions may be more relevant.
• Optional volume and volatility filters.
• Higher-timeframe confirmation framework.
• Signal quality scoring system.
• Dynamic mean, deviation bands, and reversion zones.
• Built-in dashboard displaying:
* Market state
* Z-Score
* Distance from mean
* Momentum readings
* Regime status
* Higher-timeframe bias
• Alert conditions for:
* Long mean reversion signals
* Short mean reversion signals
* Upper extreme zones
* Lower extreme zones
How It Works
The indicator calculates a central mean and measures how far price has deviated from that mean using statistical or volatility-based methods.
When price reaches an extreme deviation zone, the indicator evaluates additional confirmation factors such as candle behavior, momentum conditions, volatility, volume, and trend regime before generating a signal.
Signals are intended to highlight potential mean reversion conditions and should be evaluated alongside the trader's own market analysis and risk management process.
Non-Repainting
This indicator uses confirmed bar logic and higher-timeframe requests with lookahead disabled. Signals are generated using closed-bar information and do not intentionally repaint historical signals.
Notes
Mean reversion techniques may behave differently across various market conditions. Strong directional trends, high-impact news events, and volatility expansions can influence market behavior and should always be considered when interpreting indicator outputs.
This tool is designed for market analysis and educational purposes only and does not constitute financial advice.
Indicator
