EDGE SMC Structure & Sweeps EDGE Structure & Sweeps maps market structure and liquidity for Smart Money / ICT traders. It marks structure breaks, order blocks, equal highs and lows, higher timeframe bias, and two-candle liquidity sweeps, then prints an entry signal only when structure, a supply or demand zone, and higher timeframe bias all line up.
What it does
Structure: Confirmed swing pivots drive BOS (break of structure, trend continuation) and CHoCH (change of character, the first break against trend and the reversal warning).
Order blocks: The last opposite candle before a break is drawn as a demand or supply zone. Zones are mitigate-and-delete, so they clear from the chart the moment price trades back through them and never blanket your view.
Liquidity: EQH and EQL mark equal highs and lows where stops tend to rest.
HTF bias: A higher timeframe EMA relationship, read from closed bars, sets a single directional bias.
Chop filter: Signals are suppressed when the swing range is small relative to ATR.
Entries: Buy or Sell prints only when price taps a zone in the trend direction, higher timeframe bias agrees, and the market is not chopping. Fewer signals, higher agreement.
Fakeouts: A two-candle liquidity sweep. The setup candle takes liquidity past a swing level, the next candle closes back across it, and the setup candle is marked in light purple with a Fake Out sign. The same check runs on two higher timeframes and labels sweeps there.
How to use it
Works on any symbol and timeframe. Every threshold scales in ATR, so no retuning between instruments.
For full multi-timeframe fakeout coverage, run it on your lowest timeframe and set the two higher timeframe scans above it (for example chart on 1m, scans at 5m and 15m).
Set the HTF bias source to roughly 10 to 15 times your chart timeframe (15m bias for a 1m chart, 1h for a 5m chart).
Control fakeout sensitivity with swept swing length and min trap size (ATR). Raise both for fewer, cleaner marks.
Originality and repainting
This script is original. Structure uses confirmed pivots, entries, and fakeouts evaluate on bar close, and every higher timeframe value is pulled from closed bars. Historical marks reflect what would have printed live. It does not repaint.
This is a structure and context tool. It is not a signal service and not financial advice. No indicator predicts price. Test on replay and forward test before trading live. Indicator

Indicator

Indicator

Indicator

Supply and Demand Zones | Flux ChartsGENERAL OVERVIEW
Supply and Demand Zones indicator uses a simple but effective mechanism to find the most useful supply and demand zones on any chart. Most tools draw every zone they can find and leave the trader to sort through the clutter. This indicator does the opposite: it watches how price actually behaves at each zone and keeps only the levels that have earned attention.
The mechanism is straightforward. Each zone is built from a confirmed price swing, and from that moment it is tracked as a living object. Every time price returns, the indicator records what happened — a clean rejection (retest), a failed push-through that snaps back (also a retest), or a decisive break. From that record it computes one honest number, Held: the share of retests where the zone successfully pushed price away. A zone that has held four of five tests is immediately separated from one that keeps breaking.
That same track record then drives what you see. Instead of showing every zone, the indicator surfaces a small set of the most useful ones — ranked by how reliably they have held, how often they have been tested, and how close they are to current price. The result is a clean chart focused on the zones that have actually proven themselves, rather than a wall of boxes you have to filter by eye.
WHAT IS THE THEORY BEHIND THE INDICATOR?
Supply and demand trading is built on a simple idea: where price reversed sharply once, it often reacts again, because unfilled orders and trapped traders remain at that level. The problem is that not every zone is equal. Some levels are respected again and again; others break the first time they are tested. Most supply and demand tools draw every zone the same way and leave the trader to guess which ones still matter.
This indicator takes the position that a zone's history is more informative than its existence. A level that has been tested five times and held four of them is telling you something a fresh, untested level cannot. So instead of treating zones as static boxes, the indicator watches every interaction — bounces, failed breakouts, and clean breaks — and turns that record into a measurable hold rate. A zone earns its place on your chart by performing, not just by existing.
FEATURES
Finds the most useful zones — instead of drawing every zone, it tracks how each one behaves and surfaces only the levels that have proven themselves
Automatic zone detection — supply and demand zones are built from confirmed price swings, with boundaries sized by the average wick so each box covers the real reaction area
Per-zone track record — every zone carries its own data: how many times it has been retested, how many times it has broken, and how reliably it has held
Held statistic — each zone shows the share of its retests that successfully held, turning its history into one honest reliability number you can read at a glance
Retest tracking — every test of a zone is recorded and marked on the chart, including failed breakouts that snap back into the zone
Breakout & flip tracking — clean breaks are recorded, and the zone flips from supply to demand (or vice-versa) while keeping its full history
Strongest / Nearest ranking — shows the most useful zones, ranked by how reliably they have held, how often they have been tested, and how close they are to price
Clear, data-rich visuals — gradient zone fills, glowing retest markers, colour-coded flip segments, and a per-zone stats label that displays its retests, breakouts, and Held % right beside it
Clean-chart controls — minimum spacing hides near-duplicate zones, and a smooth fade-out dims zones as they drop off the list
Four alerts — retests and breakouts, on both supply and demand
ZONE DETECTION AND BOUNDARIES
What is a zone?
A zone is a price area drawn around a recent swing high or swing low. A swing high becomes a supply zone (an area sellers defended); a swing low becomes a demand zone (an area buyers defended). New zones are only created when they don't overlap an existing one, so the chart never stacks duplicate boxes on the same level.
Why does it matter?
Swings are where the market actually changed its mind, which makes them the most natural place to expect a future reaction. Building zones only from confirmed swings — and skipping overlaps — keeps the set of zones meaningful instead of cluttered. Clean, non-overlapping detection is the foundation everything else builds on: the track record and ranking are only as useful as the zones they start from.
How is it detected and calculated?
The indicator waits for a swing to confirm using the Swing Period: a high or low only counts once that many bars have printed on both sides of it. The zone's outer edge sits at the swing's extreme (the high for supply, the low for demand). The inner edge is set using the average wick of the candles around the swing, so the zone covers the real reaction area rather than a single thin line. Because a swing needs bars on both sides to confirm, each zone appears a fixed number of bars after the swing itself — a normal, non-repainting delay rather than a level that appears and disappears.
Settings
Swing Period — how many bars must confirm a swing on each side before it forms a zone. Higher = fewer, more significant zones; lower = more zones that react faster to price. Default 30.
Lookback — how far back the indicator looks for zones, in bars. Higher keeps older zones on the chart; lower focuses on recent price action. Default 2000.
RETESTS AND FAILED BREAKOUTS
What is a retest?
A retest is when price returns to a zone, touches it, and is rejected — closing back out on the same side it came from. This is the classic supply/demand reaction: price revisits the area and the zone pushes it away. A failed breakout — price pushing through the zone but then closing back inside it — is also counted as a retest, because the zone ultimately won.
Why does it matter?
Retests are the evidence that a zone is still active. A level that keeps rejecting price is one the market is clearly watching. Counting failed breakouts as retests is important too: a level that traps breakout traders and reclaims is often the strongest kind of level, and ignoring those events would understate a zone's true strength.
How is it detected and calculated?
On each closed bar, a zone is checked for a reaction: for a supply zone, price reaching into the zone but closing back below it counts as a retest; for a demand zone, reaching in but closing back above. To avoid over-counting when price lingers at a level, a Retest Cooldown requires a minimum number of bars between two counted retests on the same zone. Separately, if price closes clean through a zone and then closes back inside it on the next resolution, that failed breakout is recorded as a retest as well. All events are evaluated only on confirmed (closed) bars, so nothing is counted on an unfinished candle.
Settings
Retest Cooldown — waits this many bars before counting another test of the same zone, so price lingering at a level isn't counted as many separate retests. Default 3.
Retests (toggle + marker) — show or hide retest markers and choose their shape (Circle, Triangle, Cross, Diamond).
BREAKOUTS AND ZONE FLIPS
What is a breakout?
A breakout is when price closes decisively through a zone and keeps going, rather than being rejected. When a zone breaks, it flips: a broken supply zone becomes a demand zone, and a broken demand zone becomes a supply zone — the same idea as old resistance becoming new support. Crucially, the zone keeps its history through the flip; it doesn't start over.
Why does it matter?
A clean break is the opposite of a hold, and tracking it is what makes the Held statistic meaningful. The flip behaviour also reflects how these levels really work in practice — a level that breaks rarely disappears; it changes role. Keeping each zone's full history across flips means a level that has been a battleground through several cycles is shown as exactly that.
How is it detected and calculated?
When price first closes through a zone, the zone enters a pending state. The very next resolution decides what happened: if price closes through again, it is confirmed as a breakout and the zone flips its side; if price instead closes back inside, it is recorded as a failed breakout (a retest). This two-step confirmation avoids calling a breakout on a single bar that immediately reverses. Each flip also starts a new coloured time segment, so the zone's box visually records when it was supply and when it was demand across its life.
Settings
Breakouts (toggle + marker) — show or hide breakout markers and choose their shape. Off by default to keep the chart clean.
THE HELD STATISTIC
What is Held?
Held is the heart of the indicator. It answers a simple question: when price comes back to this zone, how often does the zone actually hold? It is shown on each zone's stats label as a count and a percentage, for example "Held: 4 (80%)" — meaning four of the zone's five retests successfully held.
Why does it matter?
This is the number that separates a level worth trading from one that just happens to be on the chart. A high Held % means the zone has repeatedly done its job; a low one warns you the level is leaky. Because it is measured from the zone's own history rather than assumed, it gives you an honest, at-a-glance read on reliability.
How is it detected and calculated?
After each retest, the indicator looks forward over the Hold Window — a set number of candles — and checks whether the zone was broken during that window. If the zone survived the window without a breakout, that retest counts as a hold. Only retests old enough to have a full window behind them are judged, so a very recent retest doesn't distort the number before its outcome is known. Held is then the count of successful holds, shown alongside its percentage of all retests.
Settings
Hold Window — after a retest, the zone must avoid a breakout for this many candles to count as a successful hold. Drives the Held stat and the Strongest ranking. Default 10.
STRONGEST AND NEAREST RANKING
What is the ranking?
Rather than crowd the chart with every zone it finds, the indicator shows a limited number per side and chooses which ones using one of two modes. Nearest simply shows the zones closest to current price. Strongest shows the zones that have most reliably held, weighted by how often they've been tested and how close they are to price.
Why does it matter?
Most charts have far more historical zones than are useful at once. Nearest is best when you care about the levels price is about to interact with regardless of their record. Strongest is best when you want the chart to surface proven levels — the ones that have repeatedly held — so your attention goes to the areas with the best track record.
How is it detected and calculated?
The Strongest score combines three things. Reliability is the zone's hold rate, but smoothed so a zone tested only once can't look perfect — its record is trusted more as it accumulates more tests. Evidence rewards zones that have been tested more often, with diminishing returns so one ancient zone doesn't dominate forever. Proximity favours zones closer to price. A small bonus is given to zones already on screen so the displayed list stays steady instead of swapping every bar. Nearest mode, by contrast, simply ranks by distance to price.
Settings
Rank By — Strongest (most reliable, weighted by tests and proximity) or Nearest (closest to price). Default Strongest.
Show — how many supply and how many demand zones to show at once; each side is counted separately. Default 5.
ZONE SPACING AND FADE-OUT
What are spacing and fade-out?
Two features keep the chart readable. Minimum spacing hides a zone that sits too close to one already shown, so you don't get several near-identical boxes stacked together. Fade-out smoothly dims a zone as it drops off the visible list, instead of having it vanish abruptly.
Why does it matter?
A clean chart is easier to act on. Spacing prevents visual clutter at congested levels, and the fade-out makes it obvious when a zone is no longer among the top picks without the chart jumping around distractingly.
How is it detected and calculated?
When selecting which zones to show, the indicator skips any candidate sitting within the Min Zone Spacing distance (a percentage of price) of a zone already chosen. When a previously shown zone is no longer selected, it is moved to a fade list and dimmed over a fixed number of bars before being removed. Drawing is also budgeted internally so the gradient zone fills always stay within the platform's object limits.
Settings
Min Zone Spacing (%) — hides zones sitting too close to one already shown, to keep the chart clean. Set to 0 to show every zone. Default 0.1%.
Supply / Demand colours — the colours used for supply and demand zones, their gradient fills, and their markers.
ALERTS
What alerts are available?
Bullish Retest — price bounced from a demand zone.
Bearish Retest — price rejected from a supply zone.
Bullish Breakout — price broke above a supply zone.
Bearish Breakout — price broke below a demand zone.
When do they fire?
Each alert fires on a confirmed bar at the moment the matching event is recorded, so you are notified of bounces and breaks as they are confirmed rather than on an unfinished candle.
IMPORTANT NOTES
All retests, breakouts and flips are evaluated only on closed (confirmed) bars, so events are not counted on an in-progress candle.
A breakout requires price to close through a zone and then confirm on the next resolution. A single bar that closes through and immediately closes back in is recorded as a retest (failed breakout), not a breakout.
Held only judges retests that have a full Hold Window of bars behind them, so the most recent retest may not yet be reflected in the Held count until its outcome is known.
When a zone breaks it flips side and keeps its full history, so a single long-lived zone can show interactions from several supply/demand cycles.
The number of zones shown is limited per side by the Show setting; other valid zones continue to be tracked in the background and can appear later as conditions change.
UNIQUENESS
Most supply and demand indicators draw zones and stop there, leaving the trader to guess which levels still matter. Supply and Demand Zones treats each zone as a tracked object with a measurable record. Every retest, failed breakout and clean break is recorded over the zone's life, and the Held statistic turns that record into a single, honest reliability number shown right on the zone — a level that has held four of five tests is immediately distinguishable from one that keeps breaking. Failed breakouts are folded into retests rather than ignored, capturing the trap-and-reclaim behaviour that often marks the strongest levels, and broken zones flip side while keeping their entire history instead of resetting. The Strongest ranking is driven by that same measured record — reliability, number of tests, and proximity — with smoothing so a single lucky test can't masquerade as a perfect level, meaning the chart automatically surfaces the zones that have actually proven themselves. The result is a supply and demand tool that doesn't just show you where zones are, but how much each one has earned your trust.
DISCLAIMER
This indicator is an analytical and educational tool. It does not predict future price movement and does not provide financial advice. A zone's past hold rate describes what has already happened and does not guarantee future behaviour. Always use proper risk management and combine this tool with your own analysis. Indicator

AQR Momentum Factor [JOAT]AQR MOMENTUM FACTOR
A tribute to AQR Capital Management's seminal momentum-factor research — including Asness's classic "Value and Momentum Everywhere" framework. The script estimates cross-horizon momentum by ranking returns across five independent look-back horizons (default 1, 5, 20, 60, 120 bars — including the AQR-canonical 12-1 month equivalent), volatility-adjusting the result, and producing a composite momentum score in that fires Buy / Sell labels when the score crosses configurable thresholds.
Why cross-horizon ranking
A single momentum lookback is fragile. AQR's published research (Asness, Moskowitz, Pedersen, and others) shows that momentum is best estimated by agreement across horizons — when short-, medium-, and long-term momentum all point the same way, the signal is much more reliable than any single horizon alone. The script encodes that directly:
Five horizons — 1 / 5 / 20 / 60 / 120 bars by default (configurable independently).
At each horizon the return is percentile-ranked against its own trailing 252-bar (trading year) distribution.
The five percentile ranks are mapped from to (50% → 0; 100% → +1; 0% → −1).
The composite is the average of the five mapped ranks.
The output is bounded in and represents how unusual current momentum is relative to its own recent history, averaged across timeframes .
Volatility adjustment (optional but on by default)
The composite is divided by a volatility Z-score over a configurable window (default 60 bars), clamped at a Z cap (default 2.5) to avoid division-by-zero blow-ups. This dampens signals during high-volatility regimes — which is what AQR's "low-vol momentum" research finds is the genuinely tradeable component of the factor.
When vol-adjustment is off, the score is raw cross-horizon momentum. When it is on, the score is risk-adjusted momentum, which is the institutional read.
Signal engine
BUY — composite > buy threshold (default +0.70 → top ~15% across horizons).
SELL — composite < sell threshold (default −0.70).
Extreme High / Low alerts — composite > +0.90 / < −0.90. The script's strongest reads.
A configurable Min Bars Between Same-Side Signals (default 5) prevents clustering. A confirm-on-close toggle (default ON) ensures non-repaint signals.
Bar colouring — strict 2-hue discipline
The chart bars are coloured by the sign of the composite, with saturation proportional to magnitude. The "Bar Color Saturation Floor" input controls how aggressively the colour fades when momentum is weak — at 0 the bars are always full colour; at 1 they fade toward background when momentum is weak. The defaults (0.65) produce a clean institutional read where strong-momentum bars stand out and weak-momentum bars merge into the background.
A hidden composite-line plot (toggleable) opens a pane below the chart for users who want to see the score itself, or feed it to Data Window / webhook automation.
Visual system
Buy / Sell labels on threshold crosses (configurable size).
Bar colouring by signed momentum with saturation floor.
Hidden composite line (toggleable, pane).
Light regime background (off by default) — very subtle bgcolor sampled from bull/bear.
A locked Golden Blaze palette: gold bull / oxblood bear / off-white neutral on a dark-slate ground — the classic AQR institutional aesthetic. Strict 3-hue discipline + bg.
Dashboard
Monospaced table positionable to any of nine corners. Surfaces:
Composite score with signed value.
Per-horizon percentile ranks (h1 / h2 / h3 / h4 / h5).
Horizon agreement count (how many horizons agree with the composite sign).
Volatility Z value and adjustment factor in use.
Last signal direction with bars-ago.
Configuration: rank window, vol window, thresholds.
Alerts
Four alert conditions, each independently controllable:
BUY (composite crosses above buy threshold)
SELL (composite crosses below sell threshold)
Extreme Score (|composite| crosses extreme high or low)
Horizon Disagreement (off by default) — fires when horizons split (~half above 50%, half below). Useful as a "no edge" warning.
How to read it
Three reads, in order of conviction:
Extreme score with full horizon agreement — the highest-conviction read. All five horizons agree, the score is in the top 10% / bottom 10% of its own distribution, and vol-adjustment has not damped it. This is the institutional setup.
Buy / Sell with vol-adjustment active in a low-vol regime — the "low-vol momentum" setup AQR's research identifies as the strongest factor exposure. Pair with a directional execution tool.
Horizon disagreement alert — stand-aside signal. Some horizons say bull, some say bear; there is no momentum factor exposure available. Wait for agreement to return.
Suggested settings
Defaults (horizons 1/5/20/60/120, rank window 252, vol window 60, vol Z cap 2.5, ±0.70 thresholds, ±0.90 extreme) are tuned for daily charts on broad indices — the timeframes where momentum factor exposures are statistically most meaningful. For lower timeframes drop all horizons proportionally (1/5/15/30/60) and the rank window to 200. For weekly+ keep defaults; momentum on weekly is the canonical factor.
Originality / what's reused
The momentum factor is published academic finance — Jegadeesh & Titman 1993, Asness 1994, AQR's "Value and Momentum Everywhere" 2013. The 252-bar / one-year ranking window is the classical institutional convention. The implementation here — the five-horizon configurable engine, the ta.percentrank -based ranking pipeline, the linear remap, the volatility-Z adjustment with clamp, the saturation-floored bar-colouring with strict 2-hue discipline, the horizon-disagreement alert logic, and the AQR Golden Blaze palette — is JOAT-original. No third-party code reused. The script is a tribute to AQR's published methodology, not a direct replication of any proprietary AQR model.
Open source
Published open-source under the default Mozilla Public License 2.0. The horizon pipeline, the ranking engine, the vol-adjustment routine, the signal engine, and the dashboard are isolated modules. Forks welcome with credit.
Limitations
The 252-bar ranking window assumes a daily chart for the "trading year" interpretation; on lower timeframes the window represents a different real-world horizon. The momentum factor is well-documented historically but, like all factor exposures, it can underperform for extended periods — the dashboard's horizon-agreement count is the script's own early warning when the factor is breaking down. Vol-adjustment is on by default because it is statistically supported; turn it off only for research.
—
-made with passion by jackofalltrades
Indicator

Indicator

ICT Killzones & Silver BulletEN: Highlights the key ICT time windows on your chart — Killzones and Silver Bullet
sessions — so you instantly see when institutional activity is most likely.
A clean time-window tool for ICT / Smart Money traders. It shades the key intraday
windows directly on the chart, in New York time, regardless of your local timezone:
• Killzones — 7 fully customizable time windows (on/off, start and end by hour and
minute). Defaults follow the high-activity ICT macro windows around session opens.
• Silver Bullet — the three classic one-hour ICT windows where setups are hunted:
London (03:00–04:00 NY), NY AM (10:00–11:00 NY), NY PM (14:00–15:00 NY).
Every window is editable, has its own toggle, color, border style and optional label.
The indicator only draws a window while price is inside it, keeping the chart clean.
raders waste focus tracking the clock — when is London, when is the Silver Bullet,
is price inside a high-probability window. This tool marks every key window
automatically in NY time, so you never miss a session and never miscount the hours.
WHAT IT SHOWS
Shaded boxes appear only while price is inside a time window. Killzones use one color,
Silver Bullet windows another, each with an optional label.
KILLZONES (group "Killzones")
- "Show Killzones" — turn the whole module on/off.
- Color, border style (Solid/Dotted/Dashed/No border), border transparency, labels.
- 7 zones (KZ1–KZ7): each row = , NY time.
- Defaults follow ICT macro windows. Edit any zone to your own times.
SILVER BULLET (group "Silver Bullet")
- "Show Silver Bullet" — on/off, plus color, border transparency, labels.
- 3 classic one-hour windows (editable by hour, NY time):
London SB: 03:00–04:00
NY AM SB: 10:00–11:00
NY PM SB: 14:00–15:00
HOW TO USE
1. All times are New York — no manual timezone conversion needed.
2. Best on M15 and lower, where the windows are clearly visible.
3. Look for entries / liquidity grabs INSIDE these windows — that is when
institutional activity is most likely.
4. Disable the windows you don't trade to keep the chart clean.
WANT CLASSIC KILLZONES INSTEAD OF MACROS?
Set wider windows, e.g. London 02:00–05:00, NY AM 07:00–10:00, NY PM 13:30–16:00.
NOTE: This is an analytical timing tool, not financial advice. Always confirm with
price action and risk management. Indicator

Indicator

Indicator

Indicator

Indicator

Sweep Reclaim Retest [Horizontal Levels v2]The script is a PulseWire Pine indicator called Sweep Reclaim Retest .
It is designed to find liquidity sweep + reclaim + retest setups around important horizontal levels, especially:
PDH: Previous Day High
PDL: Previous Day Low
PMH: Premarket High
PML: Premarket Low
Swing High
Swing Low
The main improvement is that these levels are drawn using real Pine line objects, so PDH/PDL stay truly horizontal instead of connecting from one value to the next with angled plot lines.
How it works:
It calculates important levels:
Previous day high/low from the daily timeframe.
Premarket high/low from the premarket session.
Swing highs/lows using pivot detection.
It watches for sweeps:
A bullish sweep happens when price dips below a level, then closes back above it.
A bearish sweep happens when price pushes above a level, then closes back below it.
It waits for a retest:
After a sweep/reclaim, the script waits for price to come back to the level.
If price retests and confirms, it gives a signal.
It filters signals:
Optional HTF bias filter using EMA.
Optional candle body confirmation.
Optional break of prior candle high/low.
Optional mid-range filter to avoid trades near the middle of the previous day’s range.
It displays:
Horizontal level lines.
Sweep markers.
CALL / PUT signal markers.
A small info table showing ticker, bias, session status, pending setups, PDH/PDL, PMH/PML, and HTF EMA. Indicator

Investment Circle Pro ICTv20 — Momentum signals, exit markers, position calculator & stability fix
This update reworks how entries are generated, adds exit markers, a position-size calculator, and fixes a memory issue that could cause the indicator to stop updating over long sessions.
New
Momentum signal engine (primary): buy/sell arrows now print when momentum turns up in an up-trend or down in a down-trend, with a selectable trend filter (EMA50 / Supertrend / multi-timeframe / none) and an adjustable cooldown. This replaces the old, rarely-firing zone-only trigger.
Exit markers (X): every long/short signal now also gets a "finished" marker when momentum rolls back against it — so you see both the start and the end of a move.
Flip on opposite signal: an opposing signal closes the active trade so you're never left in a stale position.
Position calculator: enter trade size, SL% and TP% (as % of stake), an optional "Buy 2" top-up and your leverage; the panel returns loss/profit in money, market exposure, the price move needed to reach SL/TP, and R:R. Optional auto-mode pulls SL%/TP% from the active signal.
Buyside/Sellside liquidity (BSL/SSL): equal highs/lows are marked as liquidity pools, flagged when swept, and used as take-profit targets.
Session levels: Asia / London / NY session highs and lows drawn as clean horizontal levels (no boxes).
Configurable macro asset: point the macro panel at gold, silver, oil, copper, OMX30, Nasdaq 100 or S&P 500.
Improved
OB and inverted-FVG zones are now toggleable independently, with a size filter to reduce clutter.
New-listing safeguard: no signals until enough history exists (useful on fresh IPOs).
Added a session filter, panel position/size controls, and a separate signal/performance panel (win rate, profit factor, expectancy, net PnL%).
Fixed
Stability: the dashboard and panels were being rebuilt on every tick, which could exhaust memory over a long session and make the indicator stop updating until re-added. Panels are now created once and only refreshed — this should resolve the "disappears after a day" issue.
This tool is for technical analysis and education only. It is not financial advice and does not predict future results. Always do your own research and manage your own risk. Indicator

Institutional GravityInstitutional Gravity is a market structure and institutional price-mapping indicator designed to identify the areas where professional money is most likely to defend, accumulate, distribute, or react. Rather than focusing on single price levels, the indicator builds high-probability institutional zones by combining multiple forms of technical confluence.
Core Features
30-Day Rolling VWAP (institutional accumulation benchmark)
Calendar Year VWAP
±1 Standard Deviation Bands for both VWAPs
20-Day & 50-Day Simple Moving Averages
Automatic Confluence Detection
Institutional Support & Resistance Zones
Major Swing Structure Detection
ATR-Based Dynamic Zone Width
Automatic Zone Merging to eliminate overlapping levels
Price-Axis Highlights for important support and resistance zones
Designed for Daily Swing & Position Trading
Philosophy
Institutional traders rarely react to a single price. Instead, they transact within areas of value created by overlapping technical factors.
Institutional Gravity automatically identifies where multiple institutional reference points converge—including VWAPs, moving averages, volatility bands, and major swing structure—to highlight the zones with the highest probability of attracting buyers or sellers.
The result is a cleaner, more actionable map of price than relying on individual indicators alone.
Best Used For
Identifying high-probability pullback zones
Finding institutional support and resistance
Planning entries and exits
Managing swing trades
Understanding where price is statistically likely to react
Timeframes
Optimized primarily for the Daily timeframe, but can also be used on higher timeframes for broader market structure analysis.
Institutional Gravity is intended to help traders think in probabilities—not predictions—by focusing attention on the price areas where institutional participation is most likely to influence future market behavior. Indicator

Round NumbersRound Numbers highlights the key psychological price levels around the current market by drawing round, half, and quarter number levels around price.
The goal is simple: make round numbers easier to see, improve chart readability, and help you stay visually oriented without cluttering the chart with unrelated logic.
How it works
Automatically adapts level spacing across different markets using daily range and decimal-place anchoring.
Works with Forex, cryptocurrencies, indices, commodities, and stocks.
Optional symbol-specific override multipliers are available for instruments that require custom spacing.
Displays
Round levels
Half levels
Quarter levels
Use cases
Visualize where price is trading relative to nearby psychological levels.
Improve chart structure and orientation.
Keep important price levels visible across different markets.
Settings
Visible Levels - Number of levels displayed around the current price.
Round / Half / Quarter - Individual visibility and style settings.
Overrides - Optional symbol-specific spacing multipliers.
This indicator is designed as a visual reference layer. It does not generate trade signals and does not attempt to identify support or resistance using order flow, liquidity, or reversal logic.
Indicator

Topographic HVN/LVN Professional (Auto-MTF)Description
Overview
Traditional volume profiles often generate highly fragmented High Volume Nodes (HVNs) and Low Volume Nodes (LVNs) based purely on rigid local comparisons. This script completely revolutionizes node detection by introducing Topographic Prominence—an advanced cartographic algorithm used to measure the height of mountain peaks and the depth of valleys relative to their surrounding macro-structures.
By calculating the true geometric distribution of lower-timeframe data, this indicator charts institutional-grade support, resistance, and liquidity vacuums directly on your chart, fully automated.
Key Features
True Topographic Prominence Engine: Instead of just comparing a price level to its immediate neighbors, the script "walks" up and down the volume flanks to isolate major market crests and structural air pockets. It captures major volume shelves (including the POC) within broader distributions.
Fully Automated Multi-Timeframe (Auto-MTF): No more broken profiles or memory crashes when switching charts. The script dynamically adapts its internal granularity calculation in the background based on your selected macro timeframe (e.g., pulling 1-minute data for Daily profiles, 5-minute data for Weekly profiles, etc.).
Dynamic Laser-Precise Box Boundaries: The drawn zones do not use arbitrary fixed heights. The thickness of each HVN and LVN box expands organically until volume drops or recovers by your exact user-defined percentage threshold, precisely framing the high-interest or low-interest execution zones.
Adaptive Smoothing: Integrated moving average filters allow you to smoothly bridge micro-peaks into broad institutional macro-nodes or keep it hyper-detailed for granular scalping setups.
Inputs & Customization
Calculation Timeframe: Choose the macro anchor period (D for Daily, W for Weekly, M for Monthly).
Profile Resolution (Rows): Adjust the vertical precision of the volume distribution grid.
Profile Smoothing (Ticks): Smooth the histogram to filter out raw market noise.
HVN/LVN Prominence %: Define how aggressively a peak must stand out or how deep a valley must plunge to qualify as a structural level.
HVN/LVN Box Thickness: Control how tightly or broadly the execution zones wrap around the core structure.
How to Trade It
HVN Areas (Green Boxes): Major areas of price acceptance and consolidation. Look for retests to act as strong institutional support or resistance magnets.
LVN Areas (Red Boxes): Major liquidity vacuums or rejection zones. Price tends to slice through these areas very rapidly due to a lack of historical transaction history. Perfect for target placement or spotting sudden breakout velocity.
Feel free to use this text as the body of your script's release note or description field! Indicator

Indicator

Indicator

Liquidity Sweep Intelligence - ML Post-Sweep [Dots3Red]█ LIQUIDITY SWEEP INTELLIGENCE — KNN POST-SWEEP
Usually, a liquidity indicator shows where the price is likely to go to take liquidity. This one tells you what tends to happen after it gets there.
When price sweeps a swing high or low — triggering the stop orders sitting there — we face the immediate question: does it reverse (a stop hunt, fade the move) or does it continue (a genuine breakout)? The answer depends on context. This script tracks every historical sweep on your chart, records the contextual features at the moment it happened, and uses a KNN (K-Nearest Neighbors) model to find the most similar past sweeps and return their actual measured outcomes.
The probability shown is not derived from a formula. It is counted from real historical sweeps on your chart.
█ HOW IT WORKS
1. Pool Detection
Swing highs and swing lows are detected using two pivot lengths — a primary (default 10 bars each side) and a secondary (default 8 bars each side) — to capture both major and minor liquidity levels. Same-side pivots that form within the Equal-Level Tolerance % of each other are merged into a single stronger pool, marked with the ⊜ symbol. These are equal highs (EQH) or equal lows (EQL) — two peaks or two troughs at nearly the same price — which represent a higher concentration of stop orders than a single pivot.
Unswept pools are shown as lines on the chart: dashed for single pivots, solid for equal-level pools. Pools expire after the configured maximum age (default 50 bars) without generating a sweep record.
2. Sweep Detection
A sweep is registered when the close price exceeds a pool level by more than the Sweep Buffer (default 1.4 × ATR). This buffer filters out minor wicks that barely touch a level and requires a genuine close beyond it.
At the moment of the sweep, the script records:
• The direction (high swept or low swept)
• Whether the pool was an equal-level cluster (EQH/EQL)
• How old the pool was in bars
• The current ATR ratio (current volatility relative to the 50-bar baseline)
• Whether the sweep occurred inside an ICT killzone window
3. Outcome Measurement
After the Outcome Window (default 10 bars), the script measures what price actually did. For a swept high, it calculates how far price retraced downward and how far it continued upward, both expressed in ATR units. For a swept low, the directions are reversed. If the retracement exceeded the Reversal Threshold (default 3.5 × ATR), the sweep is classified as a reversal. Otherwise it is classified as a continuation. The result is stored in the KNN training data.
4. KNN Inference
The K-Nearest Neighbors model uses a 5-feature vector for each sweep:
• sweep_dir — was a high swept (1) or a low swept (0)?
• age_norm — how old was the pool when swept, normalized 0–1
• is_equal — was it an EQH/EQL cluster (1) or single pivot (0)?
• atr_ratio_norm — current ATR divided by 50-bar ATR baseline, capped at 3×
• in_kz — did the sweep occur inside a killzone window (1) or not (0)?
For each active sweep, the model computes the Euclidean distance to every recorded historical sweep in the training window, finds the K nearest matches (default 15), and returns three values averaged across those neighbors:
• Reversal probability — what percentage of matched sweeps reversed
• Average reversal distance — how far the reversal moved in ATR units
• Average continuation distance — how far the continuation moved in ATR units
The KNN runs every third bar per event for performance. Output is displayed only after the minimum training threshold (default 20 samples) has been reached.
5. Killzone Context
Four ICT killzone windows are tracked in New York time and used as a contextual feature in the KNN vector:
• Asia KZ — 20:00 to 00:00
• London Open KZ — 02:00 to 05:00
• NY Open KZ — 07:00 to 10:00
• London Close KZ — 10:00 to 12:00
Sweeps that occur inside a killzone are marked with ⚡ in the label. The active killzone is also shown in the dashboard.
█ READING THE LABEL
Each active sweep displays a label at the right edge of the chart:
▲ HIGH SWEPT ⊜ ⚡
Rev 68% | +1.4 ATR | N=47
▲ HIGH SWEPT — a swing high was swept (sell-side stops triggered)
⊜ — the pool was an equal-high cluster (stronger stop concentration)
⚡ — the sweep occurred inside a killzone window
Rev 68% — 68% of the 47 matched historical sweeps reversed
+1.4 ATR — the average reversal distance among those that reversed
N=47 — 47 historical sweeps matched this context
Label color follows sweep direction: orange-red for a swept high (bearish sweep), cyan for a swept low (bullish sweep).
While training data is still being collected, the label shows: Training… (8/20 needed)
█ LIQUIDITY VOID ZONE
When a sweep candle has a long wick, there is a gap between the wick extreme and where price actually closed. This zone — where price moved through too fast for normal order flow — is drawn as a semi-transparent dashed box. It represents an imbalance that price frequently returns to fill. The void is colored by sweep direction.
█ DASHBOARD
The top-right table shows:
• Session KZ — which killzone is currently active, if any
• ATR Ratio — current ATR relative to the 50-bar baseline (amber above 1.5×)
• KNN Training — progress bar showing recorded sweep outcomes vs maximum
• Overall Rev % — total reversal rate across all recorded sweeps on this chart
• Avg Rev Dist — average reversal move in ATR across all reversals
• Avg Cont Dist — average continuation move in ATR across all continuations
• Active Pools — number of unswept pools tracked, with EQH/EQL count
• Pending Sweeps — sweeps waiting for their outcome window to complete
• Resolved — count of confirmed reversals and continuations
• KNN Features — reminder of the five features used in the model
█ SETTINGS
Pool Detection
• Primary Pivot Length (10) — bars each side to confirm a major swing
• Secondary Pivot Length (8) — bars each side for minor swings; 0 disables
• Max Tracked Pools (60) — cap on active pools; oldest removed when exceeded
• Max Pool Age (50 bars) — pools older than this are expired without recording
• Equal-Level Tolerance % (3.0) — proximity threshold for EQH/EQL merging
Sweep Settings
• Sweep Buffer (1.4 × ATR) — minimum close beyond pool to register a sweep
• Outcome Window (10 bars) — measurement window after each sweep
• Reversal Threshold (3.5 × ATR) — minimum retracement to classify as reversal
• Show Liquidity Void Zones — toggle the wick imbalance boxes
• Max Historical Sweeps Shown — cap on how many past events are displayed
KNN Engine
• K Neighbors (15) — historical sweeps to average; higher = smoother, slower to adapt
• Max Training Samples (400) — rolling window; oldest samples dropped when exceeded
• Min Samples Before Display (20) — KNN output hidden until this threshold is reached
• ATR Baseline Period (50) — period for the baseline ATR used in the volatility feature
█ TIMEFRAME
Works on any intraday timeframe. Most useful at 5-minute through 1-hour where enough sweeps accumulate to build meaningful training data within a single session. On daily charts, the training window fills slowly but the signals tend to be higher quality.
The KNN model relearns continuously as new sweeps are recorded and old ones fall outside the rolling window. It adapts to the instrument and timeframe it is applied to.
█ NOTES
The reversal probability reflects historical behavior on this chart and timeframe. It is not a forward guarantee. A sweep with Rev 70% still continues 30% of the time. Use the N count as a confidence indicator — higher N means more matched examples and a more reliable estimate.
The model requires at least 20 sweep outcomes before displaying predictions. On timeframes with infrequent sweeps, this may take time to accumulate.
█ DISCLAIMER
This script is a visualization and analytical tool. It does not generate trade signals and does not constitute financial advice. Past sweep behavior does not guarantee future outcomes. Indicator

NEXUS Three professional modules. One unified indicator.🌐 WHAT IS NEXUS?
NEXUS combines three independent professional-grade
modules into a single, clean indicator — eliminating
the need to stack multiple scripts on your chart.
- MODULE 1 — Market Sessions Visualizer
- MODULE 2 — Volume–Price Divergence Detector
- MODULE 3 — Key Levels & Structural Reference Engine
━━━━━━━━━━━━━━━━━━━━━
MODULE 1 — MARKET SESSIONS
━━━━━━━━━━━━━━━━━━━━━
Visualize the four major Forex/Futures trading sessions
with precision and full customization.
★ Sessions covered:
· Tokyo (default: 00:00–09:00 UTC)
· London (default: 07:00–16:00 UTC)
· New York (default: 13:00–22:00 UTC)
· Sydney (default: 21:00–06:00 UTC)
★ Display modes:
· Boxes — classic high/low range boxes
· Zones — colored background highlights
· Timeline — compact bar-level session markers
· Candles — colored candle bodies per session
★ Additional tools:
· Session Open/Close line
· Session 0.5 midpoint level
· Merge overlapping sessions
· Live pip / % change labels
· Weekend exclusion toggle
· Fully customizable colors, borders & label sizes
· Lookback depth control (default: 150 days)
· All session times entered in UTC — no timezone
conflicts regardless of your chart setting
★ Alerts:
Session open · New session high · New session low
━━━━━━━━━━━━━━━━━━━━━
MODULE 2 — VOLUME–PRICE DIVERGENCE
━━━━━━━━━━━━━━━━━━━━━
Identifies moments when volume surges significantly
but price barely moves — a classic footprint of
institutional accumulation or distribution.
★ Two signal types:
· 🔴 DIV (Divergence) — high volume + small price body
→ Strong sign of hidden positioning
· 🟠 SHADOW — high volume + large wick / shadow candle
→ Rejection or absorption signal
★ How it works:
· Compares current volume against a 20-bar SMA
· Volume spike threshold: configurable (default 600%)
· Price change measured via 3 selectable methods:
— Body / Open
— Body / Range
— Range / Open
· Shadow detection with adjustable body-to-wick ratio
★ Visual aids:
· Color-coded volume histogram
(Gray → Yellow → Orange → Red)
· On-chart signal shapes with text labels
· Live info table (top-left):
current volume · volume % change · price % change
body/range ratio · current signal status
★ Alerts:
Volume spike · Shadow candle · Full divergence signal
━━━━━━━━━━━━━━━━━━━━━
MODULE 3 — KEY LEVELS & STRUCTURAL REFERENCE
━━━━━━━━━━━━━━━━━━━━━
A comprehensive reference engine that plots all
critical price levels a professional trader monitors.
★ Session High/Low levels:
· Asia Session (18:00–03:00 ET, configurable)
· London Session (03:00–08:00 ET, configurable)
· New York Session (08:30–17:00 ET, configurable)
→ Lines auto-update in real time
→ Auto-detect and label when a level is broken
★ Market structure levels (ET — NYSE aligned):
· Key time opens: 00:00 · 02:00 · 05:00 · 08:30
09:30 · 10:00 · 14:00 · 15:00 · 16:00 · 17:00
· 4H Open · Daily Open · Weekly Open · Monthly Open
★ Range midpoint levels:
· Previous Day Mid Range (50%)
· Market Open Mid Range (live, updates intraday)
· Weekly Mid Range
· Monthly Mid Range
★ Higher-timeframe levels:
· Previous Day High / Low
· Weekly High / Low
· Monthly High / Low
· All-Time High
★ Pivot calculations (previous day data):
· Standard Pivot Points: PP · R1 · R2 · S1 · S2
· Central Pivot Range (CPR): TC · PP · BC
with CPR width % context label (Trending / Mixed / Range)
★ Smart features:
· Auto-Simplify on HTF — automatically hides granular
levels on higher timeframes to reduce visual noise
· Smart label positioning that adapts to screen view
· Level confluence detection — merges labels when
two levels share the same price
· Vertical day separator lines at 17:00 ET (last 14 days)
· Days-of-week labels at session open
· Extend All Lines toggle
· Global color & text size override
· Full per-level style control (color · style · width)
· Timezone selector for all session calculations
━━━━━━━━━━━━━━━━━━━━━
⚙️ QUICK SETUP GUIDE
━━━━━━━━━━━━━━━━━━━━━
1. Add NEXUS to any intraday chart (1m to 4H recommended)
2. Sessions Module
→ All session times are in UTC by default
→ No need to change your chart timezone
→ Toggle sessions on/off individually
→ Choose your preferred display mode
3. Divergence Module
→ Start with default settings
→ Lower the Volume Threshold (%) on low-liquidity
instruments if signals are too rare
→ Enable "Show Debug Info" for manual calibration
4. Key Levels Module
→ Set your timezone (default: America/New_York)
→ Toggle each level group independently
→ Enable "Auto-Simplify on Higher Timeframes" to keep
the chart clean when zooming out
→ Use "Extend All Lines" for a forward-looking view
━━━━━━━━━━━━━━━━━━━━━
📌 RECOMMENDED TIMEFRAMES
━━━━━━━━━━━━━━━━━━━━━
All modules active → 1m · 3m · 5m · 15m · 30m
Sessions + Levels → 1H · 2H · 4H
Levels only → Daily
⚠️ Sessions module is intraday-only by design.
It will not plot on Daily or higher timeframes.
━━━━━━━━━━━━━━━━━━━━━
📊 COMPATIBLE INSTRUMENTS
━━━━━━━━━━━━━━━━━━━━━
Futures (ES, NQ, MES, MNQ, YM, CL, GC...)
Forex (all major, minor & exotic pairs)
Crypto (BTC, ETH and all altcoins with volume)
Equities (US stocks & ETFs with intraday data)
Indices (SPX, NDX, DXY...)
━━━━━━━━━━━━━━━━━━━━━
📋 RELEASE NOTES
━━━━━━━━━━━━━━━━━━━━━
v1.0 — Initial release
· Full integration of all three modules
· Smart label positioning engine
· Timeframe-aware auto-simplification
· Confluence level merging
· Complete alert system
━━━━━━━━━━━━━━━━━━━━━
⚠️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━
This indicator is for informational and educational
purposes only. It does not constitute financial advice.
Past signals do not guarantee future results.
Always manage risk appropriately. Indicator

Prior Level Reaction & Retest ProfilerShort description
An evidence-based profiler for first touches, reactions, breakouts, and confirmed retests at previous-day and previous-week highs and lows, with ATR-normalized outcomes and volatility-regime statistics.
Overview
Previous-day and previous-week highs and lows are widely used as support, resistance, breakout references, and liquidity levels. However, drawing these levels does not answer the practical question: how has this symbol historically behaved after first reaching them?
Prior Level Reaction & Retest Profiler converts each first interaction with PDH, PDL, PWH, and PWL into a measurable event. It records whether price moved away from the level, continued through it, produced a false-break reaction, remained unresolved, or formed a confirmed breakout retest. All distances are normalized with the previous completed daily ATR so observations remain comparable across changing volatility conditions.
This is a descriptive research and decision-support tool. It does not issue automatic buy or sell signals, and historical frequencies are not presented as predictions.
What the indicator measures
For every enabled level, the script selects one first-touch observation during that level's valid daily or weekly period. At the moment of contact, it freezes both the level and the previous completed daily ATR.
For a prior high:
Movement below the level is measured as reaction excursion.
Movement above the level is measured as breakout excursion.
For a prior low, those directions are reversed.
The event is then classified as:
Reaction: The configured reaction threshold is reached first.
Breakout: The configured breakout threshold is reached first.
False-break reaction: Price closes through the level but reaches the reaction threshold before the breakout threshold.
Ambiguous: Both thresholds are reached on the same evaluation bar, so their order cannot be determined from OHLC data.
Unresolved: Neither threshold is reached before the evaluation horizon ends or the source level expires.
Reaction and breakout percentages use directionally resolved observations as their denominator. The dashboard also displays the total sample, ambiguous observations, unresolved observations, and average maximum excursions in daily ATR units.
Why evaluation begins after the touch bar
Historical OHLC bars do not reveal whether the high or low occurred first. Counting the touch bar could therefore invent a sequence that is not present in the data. This script begins outcome evaluation on the following bar and explicitly preserves same-bar dual-threshold outcomes as ambiguous rather than guessing.
Breakout retest engine
When completed history favors breakout over reaction for a level, the optional retest engine follows a confirmed close through that level using a transparent state sequence:
Retest pending: A breakout close occurred and the engine is waiting for price to return.
Retest in progress: Price entered the ATR-normalized retest zone but has not yet confirmed.
Retest confirmed: Price touched the zone and produced a confirmed close back in the breakout direction. Users can optionally require a directional confirmation candle.
Target reached or invalidated: After confirmation, the script records whether the configured ATR target was traded before a confirmed close beyond the invalidation boundary.
Only confirmed chart bars change retest states. A confirmation by itself is not counted as a successful retest. Retest success is calculated only from completed post-confirmation target and invalidation outcomes.
Volatility-conditioned evidence
Retests are not assumed to behave identically in every volatility environment. When regime conditioning is enabled, the script stores the volatility regime present when the breakout setup begins and maintains separate target/invalidation histories for:
Low volatility: Previous daily ATR is at or below 0.80 of its 100-day average.
Normal volatility: The ratio is between 0.80 and 1.20.
High volatility: Previous daily ATR is at or above 1.20 of its 100-day average.
The live decision gate uses only the matching regime's completed retests. It does not borrow confidence from unrelated volatility conditions.
Evidence gate
The simple dashboard prevents attractive headline statistics from being mistaken for a tradable edge.
Observe only: The matching volatility regime has fewer completed retests than the configured minimum.
Stand aside: The sample is sufficient, but target-before-invalidation success is below the configured requirement.
Retest pending / in progress: The evidence gate passes, but confirmation is not complete.
Retest confirmed: The evidence gate passes and the required retest close is confirmed.
Target reached / invalidated: The live confirmed setup has completed.
For example, a level can have a high general breakout rate while its low-volatility retests have a poor success rate. In that situation, the dashboard shows Stand Aside rather than promoting the broader breakout statistic.
Display modes
Simple mode is the default. It shows only the current level segments and a plain-language decision card containing:
Setup
Active level
What to do now
Required confirmation
Invalidation condition
Supporting sample and regime evidence
Only the latest confirmed retest marker is displayed by default. Historical markers can be enabled for auditing.
Evidence mode shows the complete PDH, PDL, PWH, and PWL matrix with sample count, reaction rate, breakout rate, false-break rate, ambiguous and unresolved shares, and average excursions.
Main settings
Daily ATR length
Reaction and breakout thresholds in ATR units
Evaluation horizon in chart bars
Previous-day and previous-week level toggles
Retest-zone width and retest window
Optional directional confirmation candle
Minimum completed retest sample
Minimum acceptable retest success rate
Volatility-regime conditioning
Simple or Evidence display mode
Static and dynamic alerts
Changing chart timeframe changes the real duration represented by the bar-based evaluation and retest windows. Statistics should therefore be compared only when symbol, timeframe, and settings are consistent.
Alerts
Named alerts are available for:
First level touch
Reaction or breakout outcome
False-break reaction
Ambiguous outcome
Breakout close with retest pending
Retest confirmation
Retest failure or expiry
Confirmed-retest target reached
Confirmed-retest invalidation
Dynamic messages can be used by enabling the dynamic-alert setting and creating an alert with Any alert() function call.
Repainting and data behavior
Previous-day, previous-week, daily ATR, and ATR-average values are requested with a one-period offset. Only completed higher-timeframe values are used; no future data is accessed.
Retest state changes require confirmed chart bars. Once a historical event or retest outcome is finalized, its classification does not change. Active events can update as new bars close.
Limitations
Designed primarily for intraday charts.
OHLC data does not reveal intrabar high/low order; ambiguous cases are retained explicitly.
Gap openings can cross a level without trading every intervening price.
Available chart history and data-feed differences affect samples.
Regime-filtered samples can be considerably smaller than overall samples.
The reference target uses traded price, while post-confirmation invalidation requires a confirmed close.
Spread, slippage, commissions, liquidity, position sizing, and execution constraints are not modeled.
Historical behavior does not guarantee future results.
This indicator is not financial advice.
Indicator

Rising & Falling Wedge Detector [HexaTrades]Overview
Wedge Detector automatically identifies and draws the two most actionable wedge patterns: the Rising Wedge (bearish) and the Falling Wedge (bullish). It marks each as a converging cone, validates the geometry, waits for a bar-close breakout, then plots a measured-move target and a structure-based stop without repainting the pattern structure.
It is built around quality over quantity: a strict, perfect-shape gate ensures only genuinely converging, textbook wedges appear. Every part of the logic is transparent and tunable. Ideal for swing and intraday traders who trade chart patterns and want an objective, rules-based way to spot wedges and define risk.
What it detects
Rising Wedge( bearish)
Higher highs and higher lows, but the lows rise faster than the highs (the lines converge upward). Signals a likely breakdown confirmed on a close below the lower trendline.
Falling Wedge ( bullish)
Lower highs and lower lows, but the highs fall faster than the lows (the lines converge downward). Signals a likely breakout confirmed on a close above the upper trendline.
How the Indicator Works
- Pivots: confirmed swing highs/lows (locked pivotLen bars after they occur).
- Boundaries: upper line from the two most recent swing highs; lower line from the two most recent swing lows, projected as straight lines.
- Slope & convergence: rising = both up, lows rising faster; falling = both down, highs falling faster (set by Convergence strictness).
- Perfect-shape gate: no crossing inside, real narrowing, minimum contraction, apex ahead, sensible duration, minimum ATR height.
- Forming preview: dashed shaded cone while developing.
- Breakout: bar-close below lower line (rising → bearish) / above upper line (falling → bullish).
- Filters: optional EMA trend, volume, breakout-candle ATR size.
- Targets/stops: measured-move target + opposite-boundary stop, drawn as persistent right-extending lines.
Features
- Automatic detection of rising & falling wedges from confirmed pivots.
- Perfect-shape validation rejects crossing, barely-narrowing, diverging, past-apex, too-small or too-long shapes.
- Forming preview dashed shaded cone before breakout.
- Bar-close breakout confirmation, no intrabar fakes.
- Measured-move target + structure stop (opposite boundary).
- EMA trend filter, volume filter, breakout-candle ATR filter (all optional).
- Theme-aware dashboard + shaded wedge zone + 3 alerts.
Dashboard
Status: Forming while developing → Confirmed on breakout
Last wedge: Rising Wedge / Falling Wedge
Bias: Bearish / Bullish
Target: Projected take-profit level
Stop: Structure-based invalidation level
Filters: EMA / Volume / ATR shown as On / Off
Settings
Detection:
Pivot length: swing sensitivity. Lower = more (and smaller) wedges.
Min wedge height (ATR): rejects wedges smaller than this many ATR.
Convergence strictness: how strongly the lines must converge (higher = stricter).
Min width contraction: minimum narrowing from start to breakout.
Max wedge duration: rejects over-stretched patterns.
Show forming wedge: preview wedges before breakout.
Filters:
EMA trend filter: only confirm breakouts aligned with the EMA (falling wedge above EMA, rising wedge below).
Volume confirmation: requires above-average volume on the breakout candle.
Min breakout candle size: require a breakout candle of at least N×ATR.
Visuals
Toggle target/stop lines, colors for bullish/bearish / forming, and the dashboard.
Alerts:
Rising Wedge breakdown:bearish confirmation.
Falling Wedge breakout: bullish confirmation.
Any wedge confirmed - either of the above.
Create alerts with “Once per bar close” for non-repainting behaviour.
Trading Guide
- Identify: dashboard Status = Forming + clean dashed cone.
- Enter: on the bar-close breakout (▲/▼) in the wedge's direction.
- Avoid: when filters reject the breakout, or in choppy ranges.
- Stop: the drawn SL (opposite boundary). Target: the drawn TP (measured move).
- Risk: size so breakout→stop is an acceptable risk; R:R = (TP−entry) ÷ (entry−SL).
Bullish Example (Falling Wedge)
Down-trend forms a dashed falling cone → a candle closes above the upper line → ▲ prints, wedge turns solid green, Status = Confirmed → enter, SL = lower line, TP = breakout + wedge height.
Bearish Example (Rising Wedge)
Up-grind forms a dashed rising cone → a candle closes below the lower line → ▼ prints, wedge turns solid red → enter short, SL = upper line, TP = breakout − wedge height.
Best Markets & Timeframes
Markets: works on crypto, forex, stocks, indices, futures, commodities. Best on liquid instruments with clean swings (the volume filter is most meaningful on stocks/indices).
Timeframes: 5m/15m = more signals, more noise (use stricter filters); 1H/4H = the sweet spot; Daily/Weekly = highest quality, fewer & slower.
We would love to hear your suggestions. If you have ideas for new features, indicators, analytics, or improvements, please share your feedback. Your input helps guide future updates and improve the indicator for all traders.
Wedge pattern detector indicator is for educational and analytical purposes only. It is not financial advice. Trading involves risk. Always use proper risk management and combine this indicator with your own analysis before taking any trade.
Indicator
