Trend Angle Momentum [MarkitTick]💡 This tool measures market structure not just as a sequence of highs and lows, but as a rate of directional change. It detects confirmed swing pivots and then calculates the geometric angle of the trendline connecting each pivot to the one before it, translating pure price action into a single, intuitive metric: degrees of trend steepness. Instead of asking traders to infer momentum from candle shape or oscillator divergence, it hands them a number — the actual angle of ascent or descent between structural turning points — along with an optional smoothed reading of how that angle is evolving over time.
✨ Originality and Utility
Most swing-detection tools stop at marking the high or low. This script goes a step further by quantifying the relationship between consecutive swings using trigonometry. Each swing-to-swing move is converted into a percentage price change, which is then run through an arctangent function to produce a true geometric angle in degrees, independent of the instrument's absolute price scale. A move on a $2 stock and a move on a $2,000 stock that share the same percentage steepness will report the same angle, making the readings comparable across symbols and timeframes in a way that raw price-based slope calculations cannot achieve.
The utility here is twofold. First, the angle itself acts as a quantified momentum proxy: a shallow angle after a strong prior swing signals decelerating momentum well before a lagging oscillator would confirm it, while a steepening angle on successive swings signals acceleration. Second, an optional Angle Momentum layer tracks a rolling average of the last several swing angles, smoothing out single-swing noise and revealing whether the broader structural rhythm of the market is strengthening or weakening. This combination — geometric normalization plus rolling angle smoothing — gives traders a structural momentum read that is not available from stock pivot tools or generic slope indicators alone.
🔬 Methodology and Concepts
• Confirmed Pivot Detection
The script identifies swing highs and swing lows using a symmetric fractal method: a bar is only confirmed as a pivot high if it is higher than a defined number of bars to its left and right, and likewise for a pivot low. The "Left Bars" and "Right Bars" inputs control how many bars on each side must confirm the extreme. Because the right-side bars must fully close before a pivot can be validated, every pivot marked on the chart is confirmed historical structure, not a live, moving estimate — the marker is deliberately plotted with a backward offset equal to the right-bar count so that its horizontal position matches where the actual swing extreme occurred, not where it was confirmed.
• Percent-to-Angle Conversion
Once two consecutive confirmed pivots of the same type (high-to-high or low-to-low) are available, the script calculates the percentage price change between them. This percentage is then optionally normalized by the number of bars separating the two pivots (via the "Normalize Angle by Bars" input), which converts the reading from "how much did price move" into "how much did price move per bar," a more useful measure of steepness when swings vary widely in duration. The resulting rate is passed through an arctangent function and converted from radians to degrees, producing a bounded, intuitive angle: values approaching plus or minus ninety degrees represent extremely steep percentage moves, while values near zero represent flat, sideways structure.
• Angle Momentum (Optional Smoothing Layer)
When enabled, the script maintains a running array of the most recent swing angles (separately for highs and lows) and reports their simple average over a user-defined lookback length. This produces a second-order reading: rather than looking at a single swing's angle in isolation, it shows whether the sequence of recent swing angles is, on average, steep or shallow, positive or negative — a way of gauging whether structural momentum is building or fading across several swings rather than just the most recent one.
• Live Dashboard
A compact on-chart table continuously summarizes the last confirmed high pivot price, the last confirmed low pivot price, the most recent high-swing angle, the most recent low-swing angle, and whether Angle Momentum smoothing is currently active, giving traders a persistent numerical snapshot without needing to hover over chart objects.
🎨 Visual Guide
Diagonal trend lines connecting consecutive swing highs (default red/green by angle sign) and consecutive swing lows are drawn directly between the two pivot points, visually representing the geometric slope being measured.
A small numeric label at the midpoint of each swing line displays the calculated angle in degrees, colored green for a positive (upward) angle and red for a negative (downward) angle by default.
When Angle Momentum is enabled, an additional label appears at the most recent pivot showing the smoothed "Mom" value in a distinct color (orange for highs, blue for lows by default), separated visually from the raw single-swing angle label.
Cross-style markers plot at each confirmed pivot high and pivot low directly on price, offset backward to align with the actual bar where the extreme occurred.
The dashboard table (position configurable) shows the symbol, timeframe, last high and low pivot prices, the latest angle readings for each, and the current on/off state of Angle Momentum.
📖 How to Use
Treat the angle label on each swing line as a normalized momentum reading for that specific leg of price action: steep angles indicate strong directional conviction, shallow angles indicate a weakening or consolidating move.
Compare the angle of the most recent swing to the angle of the swing before it. A sequence of progressively shallower high-to-high angles during an uptrend can indicate fading bullish momentum even while price is still making new highs, a structural early warning that pure price action alone may not show.
When Angle Momentum is enabled, use the smoothed "Mom" reading as a broader confirmation layer: a rising average angle across several swings supports the idea that momentum is genuinely building, rather than reacting to a single outlier swing.
Divergences between price structure and angle behavior — for example, higher swing highs paired with a declining angle momentum reading — can be used as a discretionary caution signal ahead of a potential trend deceleration.
The two alert conditions ("High Pivot Formed" and "Low Pivot Formed") can be used to build automated or semi-automated workflows that trigger only once a swing point is fully confirmed, rather than on every bar.
⚠️ Confirmation Lag Notice
All pivots and their associated angle calculations are confirmed structure. Because a pivot cannot be validated until the required number of bars on its right side have closed, every marker, line, and label is necessarily plotted a number of bars after the actual high or low occurred, equal to the "Right Bars" setting. The plotted markers are intentionally offset backward to align visually with the true location of the swing extreme — this does not mean the indicator is predicting or anticipating pivots in real time. Traders should treat swing confirmations as lagging structural events by design, not as leading signals.
⚙️ Inputs and Settings
Left Bars / Right Bars: Define the symmetric lookback and lookahead window used to validate a swing high or low. Larger values filter out minor fluctuations and confirm only more significant structural turning points, at the cost of a longer confirmation delay. Smaller values confirm pivots faster but are more sensitive to short-term noise.
Show High Swing Lines / Show Low Swing Lines: Independently toggle the diagonal trend lines connecting consecutive high or low pivots.
Show Swing Point Dots: Toggles the cross markers plotted directly at each confirmed pivot price.
Normalize Angle by Bars: When enabled, divides the percentage move between two pivots by the number of bars separating them before calculating the angle, producing a "steepness per bar" measure rather than a raw total-move angle. Useful for comparing swings of different durations on a more equal footing.
Use Angle Momentum: Enables the rolling average smoothing layer over the last several swing angles, plotted as an additional label at each new pivot.
Angle Momentum Length: Sets how many recent swing angles are averaged together for the smoothed momentum reading. Shorter lengths react faster to recent swings; longer lengths produce a smoother, slower-changing average.
Dashboard Position / Show Dashboard: Controls visibility and screen placement of the summary table.
High Pivot Action / Low Pivot Action: Custom text tags embedded into the JSON alert payload for each pivot type, useful for routing alerts to external automation systems that key off a specific action string.
Color inputs: Independently control the color of swing lines, angle text, pivot cross markers, momentum labels, and dashboard theming to match personal charting preferences.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
The core of this indicator rests on classical trigonometric slope analysis rather than any single named technical analysis school. Converting a price move into an angle is mathematically equivalent to computing the arctangent of a rate of change, the same operation used broadly in engineering and physics to express a gradient as an angular measure rather than a raw ratio. Expressing the swing-to-swing move as a percentage change before applying the arctangent function normalizes the calculation across instruments of different absolute price levels, addressing a well-known limitation of naive "price-per-bar" slope measures, which are not comparable between a low-priced and high-priced instrument, or between two different timeframes without adjustment. The optional bar-normalization step draws on the same logic used in rate-of-change and momentum oscillators broadly, where a raw price delta is scaled by the time or bar interval over which it occurred to produce a comparable velocity-style reading rather than a simple magnitude.
The pivot detection mechanism itself is a fractal/symmetric extremum test, a widely used method in swing-structure analysis (related in spirit to Bill Williams' fractal indicator and to classical Dow Theory's emphasis on confirmed swing highs and lows as the building blocks of trend structure) that requires a candidate bar to dominate a defined number of bars on both sides before being accepted as a genuine local extremum. This symmetric confirmation requirement is a standard technique for filtering transient noise out of swing-point identification, at the deliberate cost of confirmation lag, a well-documented trade-off in any lookback-based extremum detection method. The Angle Momentum layer applies a simple moving average — one of the most foundational smoothing techniques in time-series analysis — to the sequence of discrete angle readings themselves rather than to price, effectively treating "swing angle" as its own derived data series and smoothing it the same way a moving average would smooth a price or oscillator series, in order to separate signal (the underlying trend in momentum) from noise (single-swing outliers).
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

Leg Anatomy - Measured Retracement and ExtensionEvery trader draws the same three numbers on every chart: 38.2, 50 and 61.8. Those numbers were not derived from this market, this timeframe, or this instrument. They were not derived from any market. They are a convention that spread because it spread.
This script measures the real thing instead.
WHAT IT MEASURES
Price is broken into confirmed swing legs. A running extreme is tracked, and when price closes back from that extreme by more than a configurable multiple of ATR, the extreme is confirmed as a swing and a new leg begins.
Every completed leg is measured as a ratio of the leg immediately before it. A leg that travelled 60 percent of the previous leg records 0.60. A leg that went 140 percent past it records 1.40. That single number, the leg-to-leg ratio, is the entire dataset.
From the last N legs on the chart you have open, the panel reports:
The median leg, expressed as a multiple of the one before it.
The interquartile range, the middle half of the distribution.
The share of legs that were shallow, under 0.62.
The share that were deep, between 0.62 and 1.00.
The share that were extensions, past 1.00.
On some symbols and timeframes the conventional levels sit close to the measured centre. On many they do not, and the gap between what a chart actually does and what the convention assumes is visible in one row of the panel.
THE PROJECTION
The distribution is not left as a table. It is applied forward.
The leg currently forming starts from the last confirmed swing, and the leg before it has a known size. Multiplying that size by the measured median, upper quartile and ninetieth percentile gives three projected endpoints, drawn as a shaded zone in front of price with a dashed median line and a price label.
The panel shows how far the forming leg has travelled as a percentage of its median expectation. Below 100 percent the leg is still inside its normal range. Above it, the leg has already outrun the typical case for this chart, which is information whether you are holding it or fading it.
The zone is not a forecast. It is where the middle of the distribution sits, and roughly half of past legs fell short of it.
THE SKELETON
Confirmed legs are drawn as a thick zigzag across the chart, each one labelled with its own ratio, so the distribution in the panel can be read directly off the price action that produced it. Candles are tinted by the direction of the leg currently forming.
Because swings only confirm on closed bars and a confirmed swing is never revisited, the skeleton behind price is final. Only the leg at the right edge is still forming, and the projection zone updates only when a new leg is confirmed.
SETUPS
When a swing confirms, a new leg begins, and the script produces a complete setup at that close.
The stop sits just beyond the swing that was just confirmed, plus an ATR buffer. That swing is the level the leg depends on. If it goes, the leg reading was wrong.
The three targets are the lower quartile, the median and the upper quartile of the measured distribution, projected from the swing. They are not multiples of risk and they are not conventional ratios. They are the shape of this chart's own legs.
Only one setup is tracked at a time. The panel records whether the first target or the stop was reached first, and prints collecting until the sample is large enough to mean anything. That number measures one mechanical rule and is not a backtest.
SETTINGS
Reversal Threshold is the only structural dial. It decides what counts as a leg. A low value produces many small legs and a distribution dominated by noise. A high value produces few large legs and a distribution with a small sample. The default sits between the two, and changing it changes the entire analysis, which is the point: a leg on a scalping horizon is not a leg on a swing horizon, and the measured distribution should differ between them.
Volatility Length sets the ATR lookback used for the reversal threshold and the stop buffer.
Legs Kept In Sample bounds the history, so the distribution tracks the current regime instead of averaging in a market from years ago.
REPAINTING
Swing confirmation, leg measurement, the distribution, setups and alerts all evaluate on confirmed bars. A confirmed swing is never moved and a drawn leg is never redrawn. The projection zone in front of price is recomputed only when a new leg begins. The script requests no higher timeframe data.
HOW TO READ IT
Start with the three share rows. If a chart shows most of its legs under 0.62, it is a market that retraces shallowly and continuation is the base case. If most legs sit between 0.62 and 1.00, it is a market that gives deep pullbacks and entering early is expensive. A high share above 1.00 is a trending regime where each leg outruns the last.
Then look at the forming leg's progress. A leg at 40 percent of median with a distribution that favours extension is a different situation from a leg at 130 percent in a market that rarely extends.
The ratios printed on the skeleton let you check the panel against your own eyes rather than trusting it.
This is an analysis tool, not financial advice, and not a trading system. A measured distribution describes what happened, not what will. Sample sizes are small by the standards of statistics and regimes change. Use it with your own risk management and position sizing. Indicator

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

Liquidity Fracture [JOAT]Liquidity Fracture
Introduction
Liquidity Fracture is an open-source stop-hunt and liquidity sweep detection engine that identifies, classifies, and visualizes four distinct types of liquidity events in real time. The four types are: Swing Cluster Zones where retail stop orders accumulate, Wick Rejection Traps where engineered wick candles are designed to trigger stops, Sweep Events where price spikes through a level and recovers inside, and Volume Reversal Zones where institutional footprints appear as high-volume directional rejections.
The problem liquidity analysis solves is that the most reliable entry locations are not at obvious support and resistance levels — they are just beyond them, at the price points where the greatest concentration of stop-loss orders sit. When institutional order flow needs to fill large positions, it engineers moves into those stop clusters to provide the liquidity required. Liquidity Fracture maps those clusters, labels the sweep events when they occur, and records volume-backed reversal zones where the institutional absorption is visible in the data.
Core Concepts
1. Four Zone Types and Their Rationale
Each zone type targets a different category of liquidity event:
Swing Cluster Zones mark recent pivot highs and lows — the locations where the majority of retail stop-loss orders are placed. Price regularly engineers moves into these clusters to trigger stops before reversing. These zones are drawn as boxes above pivot highs (sell-side liquidity above) and below pivot lows (buy-side liquidity below).
Wick Rejection Traps identify candles where the wick-to-body ratio exceeds a configurable threshold. A candle with a dominant upper wick closing near its lows is an engineered candle designed to trigger buy stops above the high before rejecting. The wick ratio determines whether a candle qualifies as a trap:
wickUp = high - math.max(open, close)
bodySize = math.abs(close - open)
isWickTrap = wickUp / (high - low) > wickThreshold
Sweep Events capture the core liquidity hunt pattern: price wicks through a tracked zone level and closes back inside. The sweep label fires at the closing bar of the event with a styled label indicating the direction (SWEEP up or down).
Volume Reversal Zones identify bars where volume exceeds a configurable multiple of the 20-bar average volume, price reversal is confirmed by a close in the opposite half of the candle, and the move represents a statistically significant displacement. These are the bars where institutional absorption of the sweep is most likely visible.
2. Zone Distance and Deduplication
To prevent the chart from becoming cluttered with overlapping zones at the same price level, a minimum zone distance filter measured in ATR multiples prevents new zones from being drawn within that distance of an existing zone of the same type:
minDist = atr * minZoneDist
// New zone only drawn if > minDist from any existing zone
The maximum zones per type setting caps how many of each zone type can exist simultaneously. When the cap is reached, the oldest zone is automatically removed as new ones are added.
3. Heatmap Intensity
Each zone carries a heat intensity value based on how many times price has revisited it without sweeping through. Zones that price has respected multiple times increase in visual intensity — a darker, more opaque zone represents a higher-tested liquidity cluster that has proved significant. This provides immediate visual ranking of zone importance without requiring the trader to manually assess each zone.
4. Sweep Event Detection and Labeling
A sweep is detected when price penetrates a zone's boundary and closes back inside during the same bar. The sweep label appears directly at the sweep bar using styled labels (SWEEP) with directional styling — label pointing up for bullish sweep (price wicked below a low zone and closed above it), label pointing down for bearish sweep (price wicked above a high zone and closed below it):
bullSweep = low < zoneBottom and close > zoneBottom
bearSweep = high > zoneTop and close < zoneTop
5. Zone Type Labels
Each box drawn on the chart receives a text label in its upper corner identifying its zone type: SWING HI, SWING LO, WICK TRAP, or VOL REV. This allows traders to immediately understand what category of liquidity event they are looking at without needing to remember color assignments.
Features
Four liquidity zone types: Swing Cluster Zones, Wick Rejection Traps, Sweep Events, and Volume Reversal Zones — each independently togglable
Styled sweep labels: SWEEP labels with directional pointing arrows at the exact bar where the wick-and-close confirmation occurs
Zone type text labels: Every box labeled with its zone type (SWING HI, SWING LO, WICK TRAP, VOL REV) in the upper corner
Heatmap intensity: Zone color opacity increases with each price revisit, visually ranking zone significance
ATR-based zone distance filter: Minimum ATR distance between zones of the same type prevents overlapping or duplicate zones
Volume spike detection: Configurable volume multiplier threshold for Volume Reversal Zone qualification
Wick ratio threshold: Configurable wick-to-candle-range fraction for Wick Rejection Trap qualification
Maximum zones per type: Cap on simultaneous zones per category with automatic oldest-zone removal
Zone base transparency: Configurable transparency for all zone fills simultaneously
Institutional dashboard (top right): Sweep count, active zone counts by type, ATR, and volume ratio
Fully configurable colors: Each zone type has its own independent color input
Sweep alerts: Separate alertconditions for bullish and bearish sweep events
Input Parameters
Detection:
Swing Lookback: Left/right pivot bars for swing zone detection (default: 20)
Swing Threshold %: Minimum price move % for swing qualification (default: 2.0)
Volume Spike Multiplier: Multiple of average volume required for Volume Reversal Zone (default: 2.0)
Wick Ratio Threshold: Wick-to-range fraction for Wick Trap qualification (default: 0.6)
ATR Length: ATR period for buffer and distance calculations (default: 14)
ATR Buffer Multiplier: Zone size extension as ATR multiple (default: 0.5)
Max Zones Per Type: Maximum simultaneous zones of each type (default: 5)
Min Zone Distance (ATR): Minimum ATR distance between same-type zones (default: 2.0)
Display:
Individual zone type toggles: Swing Cluster Zones, Wick Rejection Traps, Sweep Events, Volume Reversal Zones
Heatmap Intensity toggle
Show Zone Labels toggle
Show Dashboard toggle
Zone Base Transparency: 30-92 (default: 75)
How to Use This Indicator
Step 1: Identify Active Liquidity Clusters
Swing Cluster Zones (red above, green below) mark where the nearest stop clusters sit. The most saturated (darkest) zones have been tested most frequently and represent the highest-concentration liquidity pools. These are the primary targets for engineered price moves.
Step 2: Watch for Wick Trap Formations
Wick Rejection Trap zones appear when a candle forms with a disproportionately large wick. These candles are the mechanism by which stops are triggered — the wick penetrates the stop cluster while the close retreats. A Wick Trap zone followed by a Sweep event on the same level is a high-probability combination.
Step 3: React to Sweep Labels
When a SWEEP label appears, a stop cluster has been penetrated and price has recovered inside in a single bar. This is the liquidity hunt completion pattern. A bullish sweep (below a low zone, close above) suggests buy-side liquidity was provided and a reversal is possible. Confirm with volume.
Step 4: Use Volume Reversal Zones as Confirmation
Volume Reversal Zones mark where institutional absorption is most likely visible. A sweep into a cluster followed by a Volume Reversal Zone on the recovery bar provides the highest-confidence combination this indicator can produce.
Step 5: Assess Zone Freshness
Freshly created zones (lighter color) have not been tested. Heavily revisited zones (darker) have withstood multiple price touches. Focus attention on the darkest zones — they represent the most significant concentration of resting orders.
Indicator Limitations
Swing zone detection uses pivot logic with a right-bar offset. Zones are confirmed several bars after the actual pivot, creating a slight lag in zone creation
The volume spike filter relies on exchange-reported volume. On synthetic instruments, indices, or assets with thin or unreliable volume reporting, Volume Reversal Zones will not be accurate
Zone distance filtering prevents duplicate zones, but in volatile, fast-moving markets, zones can form rapidly and crowd the chart before the maximum zone cap removes old ones
Sweep detection requires the close to recover inside the zone on the same bar as the wick penetration. Multi-bar sweeps (where recovery takes multiple bars) are not detected as sweep events — the level simply becomes the new zone boundary
This indicator identifies liquidity events. It does not provide directional entry signals or determine the probability that a reversal after a sweep will be sustained
Originality Statement
Liquidity Fracture is original in its simultaneous, unified detection and visualization of four distinct liquidity event types within a single indicator with a unified heatmap intensity system. This indicator is published because:
The classification of four independent liquidity event types (swing cluster, wick trap, sweep, volume reversal) — each with its own detection logic, independent toggle, and color — into a single, unified zone management system is uncommon in published open-source Pine Script
The heatmap intensity system that increases zone visual weight with each price revisit provides automatic, data-driven zone importance ranking without any manual assessment
The zone deduplication system using ATR-based minimum distance prevents the false signal accumulation that occurs in naive pivot-based zone indicators that draw every pivot regardless of proximity
The zone type labeling system (SWING HI, SWING LO, WICK TRAP, VOL REV) inside each box allows instant identification of event type without relying solely on color memory
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Liquidity zone detection and sweep signals are based on historical price and volume patterns. The identification of a sweep event does not guarantee a reversal, and zone levels can be violated without producing the expected reaction. Always use proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Cadence Veil [JOAT]Cadence Veil /b]
Introduction
Cadence Veil is an advanced open-source regime classification indicator that fuses an H-Infinity adaptive filter, R-squared efficiency gating, dual-window chop scoring, and Kaufman adaptive efficiency into a unified five-state regime engine. The indicator classifies every bar into one of five market states — Expansion Bull, Expansion Bear, Compression, Whipsaw, or Dormant — using a hysteresis state machine that prevents rapid flip-flopping between regimes. It then overlays volatility envelope bands, a ZEMA bias ribbon, structural pivot tracking, regime shift boxes, and gradient visualization to create a complete market phase recognition system.
The core problem this indicator solves is regime misidentification. Most traders apply the same strategy regardless of market conditions — trend-following in chop, mean-reversion in trends, or trading during dormant periods when nothing meaningful is happening. Each of these mismatches leads to losses. Cadence Veil explicitly classifies the current regime so traders can select the appropriate strategy for the conditions. A compression regime calls for breakout preparation. An expansion regime calls for trend-following. A whipsaw regime calls for caution or sitting out entirely. A dormant regime means the market lacks the energy for any strategy to work reliably.
Core Concepts
1. H-Infinity Adaptive Filter
The centerline of the indicator uses an H-Infinity filter rather than a conventional moving average. H-Infinity filtering is a control theory technique designed to produce optimal estimates under worst-case noise conditions. Unlike a Kalman filter (which assumes Gaussian noise), the H-Infinity filter makes no assumptions about noise distribution, making it more robust in financial markets where price noise is decidedly non-Gaussian:
for i = 0 to hinfOrder - 1
float s = array.get(hinfState, i)
float e = array.get(hinfError, i) + hinfNoise
float g = e / (e + hinfDist)
array.set(hinfState, i, s + g * (close - s))
array.set(hinfError, i, (1.0 - g) * e)
The filter maintains internal state and error estimates that adapt each bar. The gain parameter (error divided by error plus disturbance) determines how much the filter trusts new data versus its existing estimate. Higher disturbance values make the filter more conservative (smoother); lower values make it more responsive. The filter order parameter controls how many state dimensions are tracked, with higher orders providing more sophisticated noise modeling.
2. R-Squared Efficiency Gate
R-squared measures how well price movement fits a linear regression line. A high R-squared (close to 1.0) means price is moving in a straight, efficient line — a strong trend. A low R-squared (close to 0) means price is moving randomly with no directional efficiency:
float r2Raw = math.pow(ta.correlation(close, bar_index, effLen), 2)
float r2Smooth = ta.sma(r2Raw, effSmooth)
The indicator uses an auto-calibrating threshold: the rolling mean of R-squared plus k standard deviations. This means the threshold adapts to the instrument's typical trending behavior. A hysteresis band prevents the gate from flickering — once open, R-squared must drop further to close the gate than it needed to rise to open it.
3. Dual-Window Chop Scoring
Chop is measured using the efficiency ratio concept: the net price movement divided by the total path length over a window. A perfectly straight move scores 0 (no chop); a move that goes nowhere despite lots of bar-to-bar movement scores 1 (maximum chop). The indicator uses two windows — a fast window (default 14 bars) for recent chop and a slow window (default 50 bars) for structural chop — and blends them:
f_chop(int len) =>
float netMove = math.abs(close - close )
float pathLen = math.sum(math.abs(close - close ), len)
pathLen == 0.0 ? 1.0 : 1.0 - (netMove / pathLen)
float chopBlend = (chopFastVal + chopSlowVal) / 2.0
The dual-window approach catches both short-term whipsaws and longer-term structural chop that a single window might miss.
4. Kaufman Efficiency Ratio
The Kaufman ER provides a third independent measure of trend quality. It compares the absolute net price change over N bars to the sum of all bar-to-bar changes over the same period. Values near 1.0 indicate efficient, directional movement; values near 0 indicate noisy, non-directional movement. This complements R-squared (which measures linearity) and chop score (which measures path efficiency) by measuring absolute directional efficiency.
5. Composite Trend Score and State Machine
The three measures are blended into a single composite trend score:
float trendScore = (kaufER * 0.35) + ((1.0 - chopBlend) * 0.35) + (r2Smooth * 0.30)
This score, combined with the H-Infinity filter slope and volatility ratio, feeds into a five-state machine with persistence requirements. A candidate state must hold for a configurable number of consecutive bars (default 3) before the regime officially transitions. This prevents single-bar noise from triggering false regime changes.
The five states are:
Expansion Bull: R-squared gate open, trend score above threshold, H-Infinity slope positive
Expansion Bear: R-squared gate open, trend score above threshold, H-Infinity slope negative
Compression: High chop score, low volatility ratio — market is coiling
Whipsaw: High volatility but also high chop — dangerous conditions with large moves in both directions
Dormant: None of the above conditions met — market lacks energy or direction
6. Volatility Envelope Bands
Adaptive bands are constructed around the H-Infinity line using ZEMA-smoothed ATR. The bands scale their width based on the current regime: narrower during compression (0.7x), wider during expansion (1.2x), and standard during normal conditions. This regime-adaptive scaling means the bands contract when the market is coiling (tightening the range for breakout detection) and expand when the market is trending (giving the trend room to breathe).
Features
Five-State Regime Classification: Clear categorical identification of the current market phase with color-coded rendering throughout the indicator
H-Infinity Core Line with Glow: The adaptive filter line renders with a gradient glow whose color and intensity reflect the current regime and trend score
Regime Shift Boxes: When the regime changes, a colored box is drawn that expands to encompass the price range of the new regime, providing a visual record of regime transitions
Regime Shift Labels: Labels at regime transitions show the new regime abbreviation and the trend score at the time of transition
ZEMA Bias Ribbon: A filled ribbon between the H-Infinity line and its ZEMA shows directional bias with bull/bear coloring
Structural Pivot Detection: Swing highs and lows are identified and labeled with regime context — pivots formed during expansion regimes are colored differently than those formed during compression
Structure Lines: Dashed horizontal lines at the most recent swing high and low provide support/resistance reference
Envelope Breach Detection: The dashboard reports whether price is inside the bands, above/below the inner band, or above/below the outer band
Composite Signal Strength: A 0-100 score measuring how aligned all subsystems are (R-squared gate, Kaufman ER, chop score, and ZEMA bias)
Regime History Tracking: The dashboard shows the last three regime states in sequence, revealing the pattern of market phase transitions
Gradient Background Zones: Background coloring shifts on a gradient from compression tones to the current regime color based on the trend score
Regime-Aware Bar Coloring: Candle colors reflect the current regime with momentum-based gradient intensity
14-Row Dashboard: Displays regime state, duration, trend score, signal strength, R-squared gate status, chop blend, Kaufman ER, volatility ratio, H-Infinity gain, ZEMA bias, swing levels, envelope position, and regime history
Input Parameters
H-Infinity Filter:
Filter Order: Number of state-space dimensions (default: 3, range: 1-8)
Process Noise: Expected noise level (default: 0.5)
Disturbance: External disruption parameter (default: 1.0)
Efficiency Gate:
R-Squared Length: Correlation calculation period (default: 30)
Smoothing: R-squared smoothing period (default: 10)
Threshold k: Standard deviations above mean for auto-threshold (default: 1.0)
Chop Detector:
Fast Window: Short-term chop measurement (default: 14)
Slow Window: Long-term chop measurement (default: 50)
State Engine:
Entry Persistence: Consecutive bars required for regime transition (default: 3)
Hysteresis Band: Width of the hysteresis zone to prevent flickering (default: 0.15)
Volatility Envelope:
Inner/Outer ATR Multipliers: Band distance from the core line (default: 1.2/2.4)
ATR Length: Period for ATR calculation (default: 14)
Visuals:
Toggles for envelope bands, ZEMA bias ribbon, structural pivots, structure lines, regime shift boxes, regime shift signals, background zones, bar coloring, and dashboard
How to Use This Indicator
Step 1: Identify the Current Regime
The dashboard's regime field and the background coloring immediately tell you the market phase. This is the most important piece of information — it determines which strategy to apply.
Step 2: Match Strategy to Regime
Expansion Bull/Bear: Use trend-following strategies. Enter pullbacks to the H-Infinity line or inner band in the direction of the expansion
Compression: Prepare for a breakout. Tighten stops, reduce position sizes, and watch for the regime to shift to expansion. The ZEMA bias may hint at the breakout direction
Whipsaw: Reduce exposure or sit out. This regime produces large moves in both directions that stop out trend-followers and mean-reversion traders alike
Dormant: No edge exists. Wait for the market to wake up
Step 3: Use Signal Strength for Conviction
The composite signal strength (0-100) tells you how aligned all subsystems are. A 75+ score during an expansion regime is high-conviction. A 25 score during expansion suggests the regime may be weakening.
Step 4: Monitor Regime Transitions
Regime shift boxes and labels mark exactly where transitions occurred. The most profitable trades often come at the transition from compression to expansion — the breakout from a coiled market.
Step 5: Read the Regime History
The history chain (e.g., "COMP > EXP+ > DORM") reveals the market's recent phase pattern. A sequence like "COMP > EXP+ > COMP > EXP+" suggests a market that trends in bursts between consolidation periods.
Cadence Veil showing a regime transition sequence: compression (purple box) resolving into expansion bull (green box), with the H-Infinity line glow intensifying, envelope bands widening, and the trend score rising in the dashboard
Indicator Limitations
The H-Infinity filter, while theoretically robust, has three parameters (order, noise, disturbance) that significantly affect behavior. Optimal settings vary across instruments and timeframes and may require experimentation
The persistence requirement for regime transitions (default 3 bars) creates a delay. Fast regime changes may be identified several bars after they begin. This is a deliberate trade-off for stability
The five-state classification is a simplification of continuous market behavior. Markets can exist in states that don't cleanly fit any category, and the boundaries between states are inherently fuzzy
R-squared, chop score, and Kaufman ER all use lookback windows. They describe what the market has been doing, not what it will do. A regime can change immediately after being classified
The whipsaw state is identified but no strategy is recommended for it because whipsaw conditions are inherently difficult to trade profitably. The indicator's value here is in warning you to reduce exposure
Volatility envelope bands adapt to the regime but still use ATR, which is backward-looking. Sudden volatility shifts (news events, gaps) may not be reflected in the bands for several bars
Originality Statement
This indicator is original in its application of control theory (H-Infinity filtering) to market regime classification and its synthesis of multiple independent efficiency measures into a unified state machine. While regime detection and adaptive filtering are established concepts, this indicator is justified because:
The H-Infinity filter is rarely used in technical analysis. Its worst-case noise optimization makes it theoretically more appropriate for financial markets than the more common Kalman filter, which assumes Gaussian noise
The triple-measure efficiency assessment (R-squared linearity + dual-window chop + Kaufman efficiency) provides more robust regime detection than any single measure. Each captures a different aspect of market behavior
The five-state classification with hysteresis persistence requirements produces stable, actionable regime labels rather than the flickering binary (trending/ranging) classifications common in simpler indicators
Regime-adaptive volatility envelope scaling automatically adjusts band behavior to the detected market phase, providing context-appropriate support/resistance levels
The composite signal strength score synthesizes all subsystems into a single conviction measure
Regime shift boxes provide a visual record of market phase transitions that aids in pattern recognition across longer timeframes
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Regime classifications are based on historical data analysis and do not predict future market phases. A market classified as "Expansion Bull" can reverse at any time. Compression does not guarantee a subsequent breakout, and the direction of any breakout is not predicted by the compression classification. Always use proper risk management and conduct your own analysis. The author is not responsible for any losses incurred from using this indicator.
-Made with passion by officialjackofalltrades
Indicator

MNM Market Narrative Map [v6]Market Narrative Map (Clean) is a multi-component market structure indicator designed to help traders read price action in a cleaner, more organized way. It maps the story of the market by combining swing structure, supply and demand zones, breakout behavior, liquidity activity, trend flow, and volume-weighted visual emphasis into one streamlined tool.
The indicator is built for traders who want more than isolated signals. Instead of focusing on a single condition, it helps frame the full market narrative: where price has turned before, where it may react again, whether a breakout is holding or failing, where liquidity may sit, and how momentum is evolving through the ribbon structure.
Core Features
1. Swing Highs and Swing Lows
Automatically detects structural pivot points to highlight important turning areas in price. These swing points help define trend continuation, reversals, and key reaction levels.
2. Supply and Demand Zones
Plots adaptive zones around confirmed pivot highs and lows to show likely areas of resistance and support. Zone thickness is volatility-aware, helping the script stay relevant across different market conditions.
3. Breakout Classification
Separates successful breakouts from failed breakouts using confirmation logic. This helps distinguish genuine expansion from fakeouts and weak participation.
4. Liquidity Mapping
Optional liquidity pool tracking at swing levels helps identify areas where price may seek stops, trigger sweeps, or reverse after clearing obvious highs and lows.
5. Money Noodle Ribbon
A clean trend ribbon built around smoothed price structure. It helps visualize directional flow, slope change, and trend continuity without cluttering the chart.
6. Breaker Blocks from Failed Breaks
When enabled, failed breakout zones can be projected as breaker blocks, giving traders additional context for future reactions and retests.
7. Volume Weighting
Visual zone emphasis can be adjusted based on relative volume, making stronger activity areas stand out more clearly.
Why Use It
This indicator is useful for traders who want a more complete market map instead of relying on isolated indicators. It can assist with:
Identifying key structural highs and lows
Locating likely supply and demand reaction zones
Spotting breakout continuation versus failed expansion
Tracking potential liquidity sweep areas
Reading short-term trend flow more clearly
Keeping chart analysis clean and visually organized
Best Use Case
Market Narrative Map works best as a chart-reading and decision-support tool. It is especially useful for traders who combine market structure, liquidity concepts, breakout behavior, and contextual price action in their analysis.
It is not designed to replace trade management or risk management. Instead, it provides a cleaner structural framework so traders can make better-informed decisions based on how price is behaving.
Design Philosophy
The script is built with a clean-chart approach in mind. Every major module can be enabled or disabled, allowing traders to keep the chart minimal or expand it into a more complete structural map depending on preference. Indicator

Indicator

50% Fib Trend Cloud + ATR BandsThis indicator plots two structural 50% fibonacci midpoints from recent confirmed 'left/right' swings that form a *cloud* of equilibrium, then adds a rolling 50% fibonacci range midpoint based on a lookback window that's wrapped in ATR bands. Importantly, it solves a specific trading problem:
Structural midpoints (macro context) are powerful but can lag when price escapes prior ranges. Enter rolling 50% fib + ATR ➡️ which restores real-time balance & tolerance (micro context). Together they show where price is balanced structurally, where it’s balanced right now, and how much volatility to tolerate before acting.
➖➖➖
🔑 Why this is different
Most tools either draw a single midpoint (ex., daily 50%) or ATR bands around a moving average. This script fuses dual swing-based 50% midpoints (structure) + a rolling 50% with ATR (flow), so you don’t lose context when price escapes prior ranges. The cloud tells you who’s in control (fast vs. slow structure). The rolling 50% + ATR tells you how far is “too far” now.
➖➖➖
🧠 What it does (at a glance)
🔸Structural Equilibrium × 2 (Fib1/Fib2)
Two independent 50% midpoints formed from swing pivots (configurable Left/Right bars + optional smoothing). Their gap is the Midpoint Cloud = structural “fair value” zone.
🔸Rolling 50% + ATR Bands
A rolling highest/lowest window computes an always-current 50% rolling midpoint plot; ±ATR × length envelopes define a soft value area and over-stretch boundaries.
🔸Actionable Visuals
Optional fill between Fib1/Fib2, labels, and candle-overlay modes to instantly read regime (above both / below both / between).
🔸Smart Defaults
Timeframe-aware presets for L/R pivots & smoothing; full manual overrides available.
➖➖➖
⚙️ Calculations (plain-English)
🔸Pivot midpoints (Fib1 & Fib2):
1) Detect a swing using `Left/Right` bars
2) Take the swing’s high/low → compute 50%
3) (Optional) Smooth the line (SMA) to stabilize on noisy TFs
4) Repeat with a different sensitivity to get two distinct midpoints
🔸Rolling midpoint:
Highest High / Lowest Low over the last *N* bars → (HH + LL) / 2
🔸ATR levels:
`Upper = Rolling50 + ATR × Mult`, `Lower = Rolling50 − ATR × Mult`
(Typical: ATR length 14–21; Multipliers 2.236 for L1, 5.382 for L2)
➖➖➖
🤖 Auto-Configured Presets (with Manual Override)
💡Goal: make the midpoints “just work” on common timeframes while still letting you dial them in.
💡How Auto Presets work
When Auto Presets = ON, the script picks sensible L/R/S (Left bars / Right bars / Smoothing) for Fib Trend 1 and Fib Trend 2 based on chart timeframe.
🔸Fib 1 (fast) emphasizes *micro-structure* for quicker bias shifts.
🔸Fib 2 (slow) emphasizes *macro-structure* for anchor/bias context.
These defaults keep Fib 1 responsive without jitter and Fib 2 stable without lag.
➡️ Turn Auto Presets = OFF to take full control with the manual inputs described below.
➖➖➖
🛠 Manual Fib Midpoint Settings (when Auto = OFF)
💡Each midpoint uses three knobs:
🔸Pivot Left (L): bars to the left that must be lower/higher to qualify a swing
🔸Pivot Right (R): bars to the right that must be lower/higher to confirm the swing
🔸Smoothing (S): SMA period applied to the raw 50% midpoint (stabilizes noise)
5-Minute optimized defaults
🔸Fib Trend 1: `L21 / R5 / S55` → responsive local structure (entries/exits, re-balancing zones)
🔸Fib Trend 2: `L55 / R13 / S89` → broader structure (trend context, anchors/stops)
Timeframe guidance
🔸1m–3m: may feel a touch laggy → consider ~`L13 / R3 / S34`
🔸15m–1h: defaults remain strong → optionally ~`L34 / R8 / S89`
🔸4h+ : increase span for stability → `L89–144 / R13–21 / S144–233`
➡️ Rule of thumb: shorter L/R = faster detection, longer S = smoother line. Tune until Fib 1 captures the “active swing” and Fib 2 captures the “dominant swing” without whipsaw.
➖➖➖
🎛 Inputs (quick reference)
🔸Fib Trend 1/2: Source (High/Low/Close), Left/Right bars, Smoothing length, Show/Hide, Cloud fill toggle
🔸Rolling 50%: Lookback length, Price basis (Wicks/Close/HLC3/OHLC4), Plot scope (Full / Last N / None)
🔸ATR Bands: ATR length, Multipliers (L1/L2), Plot scope, Line width/colors
🔸Overlay & Labels: Candle overlay mode, Label padding/size, 50% centerline toggle, Plot widths
➖➖➖
🖍️ Candle Coloring & Overlay Modes
💡Purpose: make trend instantly visible on the candles and ATR levels.
1) Color Logic (dropdown)
🔸 Fib Midpoints — Colors by position of price vs. Fib 1 & Fib 2
🔸ATR Zones — Colors by which ATR zone price is in relative to the Rolling 50%
➡️ Price Reference: Choose the input used for the decision (Close, HL2, OHLC3, OHLC4).
➡️Tip: Close is crisp; HL2/OHLC variants are smoother.
2) Overlay Style (dropdown)
🔸 None — No visual change to candles
🔸 Bar Color — Uses `barcolor()` to tint built-in candles (this takes into account your Trading View settings, for instance if you have wicks set to white, they will show up as white with this setting)
🔸 PlotCandles — Draws unified custom candles (body, wick, border) with the same color for maximum clarity
💡Practical use
🔸 Pick Fib Midpoints to read structural bias at a glance (above/below/between the cloud).
🔸 Pick ATR Zones to read value vs. stretch around the Rolling 50% (mean-reversion vs. trend extension).
➖➖➖
📘 How to use
A) Trend confirmation
- Strong bullish bias when price holds above both structural mids; strong bearish when below both.
- Use the Rolling 50% + ATR as a dynamic re-entry zone: pullbacks that respect ATR(L1) often continue the prevailing trend.
B) Transition / mean reversion
- Inside the Cloud (between Fib1 & Fib2) treat behavior as neutralization/re-balancing; range tactics tend to outperform momentum plays.
- In ranges, fades near ±ATR around the rolling 50% can mark short-term edges.
C) Breakout context
- When price leaves the Cloud, the Rolling 50% keeps you anchored so price never feels “floating.” A clean hold outside ATR(L1/L2) suggests regime strength; quick re-entries hint at traps.
➖➖➖
🖼 Chart examples
➡️ Each snapshot shows how the Cloud (structure) and the Rolling 50% + ATR (flow) work together.
1) 1-Minute Downtrend – Cloud as Dynamic Ceiling
- The Cloud slopes down; pullbacks repeatedly fail under the Cloud’s underside.
- Rolling 50% (dashed mid) + ATR(L1) act as a reversion band: rallies stall near upper ATR and rotate lower.
2) 15-Minute Persistent Drift – Structure Guides, Flow Times Entries
- Long drift lower with Cloud overhead.
- Consolidations near the rolling mid resolve in the trend direction; ATR bands frame risk on each attempt.
3) 15-Minute Uptrend (BTC) – From Cloud Escape to Value Stair-Step
- After escaping the prior Cloud, rolling 50% + ATR establish a new higher value area.
- Pullbacks into ATR(L1) produce orderly stair-steps; Cloud remains supportive on deeper dips
4) 5-Minute BTC – Pullback to Value then Rotate
- Strong leg up; retrace tags lower ATR band and rotates back toward the rolling mid.
- Labels (Fib1/Fib2) make the structural context explicit for decision-making.
➖➖➖
🧪 Starter presets
- Intraday (5–15m): Fib1 ~ L21/R5 (smooth 5), Fib2 ~ L55/R13 (smooth 9) • Rolling = 55 • ATR = 14 • L1 = 2.5x, L2 = 5.0x
- Scalping: Shorten lookbacks & smoothing; keep ATR multipliers similar, or tighten L1.
- Swing: Lengthen all lookbacks; consider ATR length 21–28.
➖➖➖
🏁Final Word
This script is not just a visual tool, it’s a complete trend and structure framework. Whether you're looking for clean trend alignment, dynamic support/resistance, or early warning signs of a reversal, this system is tuned to help you react with confidence — not hindsight.
Rembember, no single indicator should be used in isolation. For best results, combine it with price action analysis, higher-timeframe context, and complementary tools like trendlines, moving averages etc Use it as part of a well-rounded trading approach to confirm setups — not to define them alone.
---
💡Turn logic into clarity. Structure into trades. And uncertainty into confidence.
Indicator

Indicator

TR FVG & Swing High Low FinderTR FVG & Swing Level Finder
Overview:
The TR FVG & Swing Level Finder is a powerful Pine Script indicator designed for traders who want to identify Fair Value Gaps (FVGs) and Swing Highs/Lows on their charts. This indicator combines two essential technical analysis tools into one, helping traders spot potential areas of support, resistance, and trend reversals. FVGs are price gaps that often act as areas of interest for price to return to, while swing highs and lows help identify key turning points in the market. The indicator is highly customizable, allowing users to adjust colors, limits, and display options to suit their trading style.
Key Features:
1: Fair Value Gap (FVG) Detection:
- Identifies Bullish FVGs: Occur when the high of two candles ago is lower than the low of the current candle, indicating a potential upward price movement.
- Identifies Bearish FVGs: Occur when the low of two candles ago is higher than the high of the current candle, indicating a potential downward price movement.
- Displays FVGs as colored boxes on the chart, with customizable border and fill colors based on the timeframe.
- Labels each FVG box with the corresponding timeframe (e.g., "1m FVG", "1h FVG", "Daily FVG").
2: Swing High and Swing Low Detection:
- Detects Swing Highs: A 3-candle pattern where the middle candle's high is higher than the highs of the candles on either side.
- Detects Swing Lows: A 3-candle pattern where the middle candle's low is lower than the lows of the candles on either side.
- Draws a solid black line with 50% opacity at each swing high and low, extending 5 bars to the right for better visibility.
- Adds a small Swing High or Swing Low label at the right end of each line, colored according to user-defined settings.
3: Timeframe-Specific FVG Visualization:
- FVGs are color-coded based on the chart's timeframe, making it easy to distinguish between FVGs on different timeframes.
- Each timeframe has its own fill color for bullish and bearish FVGs, with adjustable transparency for better chart clarity.
- A dashed black line is drawn in the middle of each FVG box to highlight the midpoint of the gap.
4: Customizable Display Options:
- FVG Limit: Control the maximum number of FVGs displayed on the chart (from 1 to 20).
- Extend Options for FVG Boxes:
- "None": FVG boxes extend only 2 bars to the right.
- "Limited": FVG boxes extend a user-defined number of candles to the right (1 to 100 candles).
- "Default": FVG boxes extend 3 bars to the right of the current bar.
- Color Customization:
- Set border colors for bullish and bearish FVGs.
- Adjust fill colors for FVGs on different timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Customize the colors of swing high and swing low labels.
5: Performance Optimization:
- The indicator only plots FVGs and swings on the last confirmed bar (barstate.islastconfirmedhistory), ensuring efficient performance and reducing chart clutter.
- Limits the number of displayed FVGs and swings to the user-defined fvgLimit, keeping the chart clean and focused on the most recent price action.
6: Inputs and Customization:
- Number of FVGs to Show (fvgLimit): Set the maximum number of FVGs and swings to display (default: 3, range: 1 to 20).
- Bullish FVG Border Color (bullishColor): Choose the border color for bullish FVGs (default: green).
- Bearish FVG Border Color (bearishColor): Choose the border color for bearish FVGs (default: red).
- Swing High Color (swingHighColor): Set the color for swing high labels (default: blue).
- Swing Low Color (swingLowColor): Set the color for swing low labels (default: purple).
- Extend Options:
- Extend Option (extendOption): Choose how far FVG boxes extend to the right ("None", "Limited", or "Default"; default: "Default").
- Extend Candles (extendCandles): If "Limited" is selected, specify the number of candles to extend FVG boxes (default: 8, range: 1 to 100).
- Timeframe-Specific Fill Colors:
- Customize fill colors for bullish and bearish FVGs on various timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Each fill color has a default transparency (e.g., 93% for most timeframes, 90% for 30m), which can be adjusted as needed.
How to Use:
1: Add the Indicator to Your Chart:
- Open PulseWire, go to the Pine Editor, and paste the script.
- Click "Add to Chart" to apply the indicator to your current chart.
2: Adjust Settings:
- Open the indicator settings by clicking the gear icon next to the indicator name on your chart.
- Modify the inputs to suit your preferences:
- Set the number of FVGs and swings to display.
- Choose your preferred colors for FVGs and swings.
- Adjust the extend options for FVG boxes.
3: Interpret the Indicator:
- FVG Boxes: Look for colored boxes on the chart, which represent Fair Value Gaps. Bullish FVGs (green borders by default) suggest potential buying opportunities, while bearish FVGs (red borders by default) suggest potential selling opportunities. The label inside each box indicates the timeframe of the FVG.
- Swing Highs and Lows: Identify key turning points with solid black lines (50% opacity) at swing highs and lows. Each line extends 5 bars to the right, with an "SH" (Swing High) or "SL" (Swing Low) label at the end. Swing highs can act as resistance levels, while swing lows can act as support levels.
4: Combine with Your Strategy:
- Use FVGs to identify areas where price might return to fill the gap, often acting as support or resistance.
- Use swing highs and lows to spot potential trend reversals or to set stop-loss and take-profit levels.
- Combine the indicator with other tools (e.g., trendlines, moving averages) for a more comprehensive trading strategy.
Notes:
- The indicator works on all timeframes, but the appearance of FVGs and swings will vary depending on the chart's timeframe.
- For best results, use the indicator on a clean chart to avoid visual clutter, especially if you increase the fvgLimit.
- The swing high/low lines are drawn with 50% opacity to ensure they don’t overpower other chart elements, but they are still clearly visible.
Author’s Note:
This script was developed to help traders identify key price levels with ease. I hope it adds value to your trading! If you have any feedback or suggestions for improvement, feel free to leave a comment. Happy trading! Indicator

Indicator

Indicator

Indicator

Indicator

PA Swings [TTA]Hello traders!
This script helps identify swing high levels of resistance and swing low levels of support via price action.
The indicator is designed to help identify support and resistance by measuring retracements. When the retracement has reached the threshold, the indicator identifies the high or low with a horizontal, solid line.
This line will continue until it is violated. Once it is violated it will adjust to a dashed line and continue until it is violated again (retested).
Therefore, a solid line resembles an unviolated swing level; a dashed line resembles a violated swing level that has yet to be retested.
Ideally, this script will filter some movements by identifying impulses in the market. Knowing that price is in a trending move rather than bouncing around in a range can help traders in their analysis. In range bound conditions the indicator will show small impulses, sometimes trapped by a support and/or resistance line. In trending markets there will be separation between the support and resistance lines.
Retests are also identified by the indicator.
Retests of swing highs and lows may induce precise, repeatable price moves - something a trader might find advantageous. A log is included to help identify potential price levels based on historical actions when an impulse or a retest occurs.
Consequently, this may help traders identify take-profit targets and avoid stop losses that are too close to the entry point.
The indicator has a color identity panel to help you get familiar with the colored lines, line types, and what they mean. The color panel is concealable. Additional customization options are available, such as toggling the chart labels. These labels distinguish impulses up and down, retests, and the distance price has traveled since breaking or creating a support or resistance level.
This can be toggled off. A High-Volume Swings only option is available for those that wish to filter out low volume movements (such as extended market hours).
You also have the option of hiding far away lines and can define what is “far away” for them % wise. It is defaulted to 15% which may need to be adjusted on lower timeframes.
Inactive lines can be shown or they can be removed in the settings as well. While this indicator can find some great levels of support or resistance it is important to remember that, should you find this script helpful, it is a tool in your toolbox!! (:
Hope you enjoy and thank you for checking this out! Indicator

Indicator

Indicator

Draw swing Lines based on SMA// Draw swing Lines based on SMA
// Each swing line must cross SMA
// ---------------------------------------------------
// Input:
// sma(Number): Default 50;
// showSMA: Default 'true'; if showSMA ='false', do not show SMA line;
// Deviation(%): Default "1"; To draw a new swing line, Price must cross SMA more than (n% of SMA)
// In weekly chart, better use "2" or more to avoid small ZigZag;
// ---------------------------------------------------
// This swing Lines could be used:
// 1. Verify reversal pattern, such as, double tops;
// 2. Help to draw accurate trend line, avoid noice; Set showSMA=false, to see trend line clearly;
// 3. Use two of this study together with different SMA, Set showSMA=false,
// Such as, SMA20 and SMA200, to see small waves in bigger wave
// ---------------------------------------------------
// In this sample Chart -- AMD 1h (Feb to Jun 2020)
// Added this study with SMA(50),
// Hide price chart and SMA line, to show the Swing line only,
// I drew some sample trend lines, and identified one Double top;
Indicator

Indicator
