Self-maintaining horizontal support and resistance from confirmed swing pivots — only active levels remain visible. Broken rays disappear automatically, the closest unbroken high and low above and below price are highlighted, and the chart stays clean across multiple sessions without manual cleanup.
Section 01 — Overview
BWT Swing Levels draws horizontal rays from every confirmed swing high and swing low on the chart and removes those rays automatically the moment price breaks through them. The result is a continuously curated map of support and resistance — only the levels that still matter remain visible. Where most pivot-based S/R plots accumulate clutter over time as old levels stack up, BWT Swing Levels stays clean session after session because broken structure removes itself the instant it stops being relevant.
A swing high is defined as a pivot bar with a configurable number of lower-high bars on each side; a swing low is the mirror — a pivot bar with higher lows around it. The Strength parameter controls how many bars on each side are required to confirm the pivot. Higher strength values produce fewer, more meaningful levels suited to higher-timeframe context. Lower values produce more sensitive levels useful for intraday execution. Run multiple instances of the indicator at different strengths on the same chart to overlay structural levels from several timeframes simultaneously without ever loading a higher-timeframe data series.
The optional Offset (ticks) parameter requires price to close a configurable distance past the level before the ray is treated as broken — a vital filter that prevents thin-wick stop-runs from clearing your levels prematurely. The Closest High and Closest Low highlight colors apply a distinct color to whichever active swing high sits immediately above current price and whichever active swing low sits immediately below — eliminating the manual scan to find the tactically relevant level. Treat these highlighted levels as ICT-style liquidity: clusters of resting stop orders that the market is statistically likely to test before continuing.
Screenshot
Image provided by you
Section 02 — Concept Reference
A working glossary of every structural concept the indicator uses. Each idea reinforces the others — together they define how horizontal levels are built, when they remain valid, and how they are removed.
A pivot bar with N lower highs on each side, where N is the Strength parameter. Once formed, the swing high becomes a horizontal resistance ray extending to the right until price breaks above it. Swing highs mark the most recent point at which sellers overwhelmed buyers — and the levels above which resting stop orders typically cluster (Buy Side Liquidity).
The mirror image of a swing high — a pivot bar with N higher lows on each side. Once confirmed, the swing low becomes a horizontal support ray extending to the right. Swing lows mark the most recent point at which buyers overwhelmed sellers and identify the levels below which resting stop orders cluster (Sell Side Liquidity). They are the anchors of every meaningful uptrend structure.
The number of pivot bars required on each side of a candle for it to qualify as a swing point. Strength = 3 means three lower highs left and three lower highs right of the bar must form before the pivot is confirmed. Higher Strength values demand more market commitment to validate the level — producing fewer, more meaningful S/R rays. Match Strength to the timeframe of the chart and to how densely populated you want your level map.
A swing level that has not yet been broken. Active levels are still tradeable as S/R, are still defending a meaningful pivot in price, and still represent a likely zone of resting orders. The chart only displays active levels by default — one of the most powerful aspects of the indicator. You never look at a stale level and waste cognitive effort interpreting whether it still matters.
When price closes through an active level by the configured offset, the ray is automatically deleted from the chart. This is the indicator's signature behavior — the chart maintains itself. There is no need to right-click old levels, no manual cleanup, no accumulation of irrelevant horizontal noise. Where modern price-action tools layer ever-more lines on top of older lines, BWT Swing Levels does the opposite: it removes anything that's no longer load-bearing.
The number of ticks past the level price must close before the ray is treated as broken. Offset = 0 means the moment a single bar trades past the level, it is removed. Offset = 4 on ES means price must close 4 ticks (1 full point) beyond the level before removal. Use a small but non-zero offset to filter out wick-based stop hunts that would otherwise erase your levels prematurely. Tune per instrument volatility.
The nearest unbroken swing high above current price and the nearest unbroken swing low below current price are colored with a distinct highlight. These are the levels with the most immediate tactical significance — your next likely resistance test and your next likely support test. The highlight removes the cognitive overhead of scanning the chart to find which of the visible levels matter most right now. The closest level updates dynamically as price moves through structure.
Run multiple instances of BWT Swing Levels at different Strength values on the same chart for a stacked structural picture. Strength 3 captures intraday execution levels; Strength 8 captures session-significant levels; Strength 20 captures multi-day structural anchors. Color-code each instance distinctly. The result is a multi-timeframe map of structure on a single chart — without loading a second data series.
Every swing high is a pool of Buy Side Liquidity — the level at which short-position stop orders cluster. Every swing low is Sell Side Liquidity — the level long-position stops cluster below. ICT methodology teaches that markets repeatedly seek and sweep these liquidity pools to fund larger directional moves. A swing high broken cleanly is a BSL sweep; a swing high broken and immediately reclaimed back below is a liquidity sweep + reversal — one of the highest-quality reversal triggers in the toolkit.
Section 03 — Workflow
Every trade against a swing level — whether a continuation entry on a break or a fade at a held level — follows this sequence. Each step is a yes/no checkpoint. If any step fails, wait for the next setup.
Section 04 — Parameters
Strength is the most consequential parameter — every other setting is essentially a presentation choice. Tune Strength carefully for your timeframe before adjusting anything else.
| Parameter | Default | Description |
|---|---|---|
| Strength | — | Number of bars required on each side of a pivot to confirm a swing high or swing low. Higher = fewer, more significant levels. |
| Offset (ticks) | 0 | How far past the level price must close before the ray is removed as broken. Use a small non-zero value to ignore wick-poke breaks. |
| Keep Broken Lines | Off | When On, broken swing lines remain visible in a reduced style rather than being deleted. Off keeps the chart clean. |
| Swing High Color | — | Color used for active swing high horizontal rays. |
| Swing Low Color | — | Color used for active swing low horizontal rays. |
| Closest High Color | — | Highlight color applied to the nearest unbroken swing high above current price. |
| Closest Low Color | — | Highlight color applied to the nearest unbroken swing low below current price. |
Section 05 — Trade Setups
Six repeatable setups built around active swing levels. Each setup is a complete sequence — context, trigger, entry, stop, target — so you do not have to improvise the trade plan in the moment.
In a confirmed uptrend, price will retrace into the closest active swing low repeatedly through the day. The highlighted closest-low level is exactly the price the trend is most likely to defend. Wait for price to test the level, observe a rejection candle (lower wick, hammer, engulfing), and enter long. Mirror logic for downtrend pullbacks to the closest active swing high.
When price breaks an active swing high cleanly — strong body close past the level plus the configured Offset — the ray disappears. That removal is itself the signal that structure has resolved upward. Trade the break in the direction of the breakout, targeting the next active level above. The cleanest breaks happen during high-volume sessions and momentum windows; stalled breaks during low-volume periods often fail.
When price tests the same active swing level twice and fails to break it both times, the second rejection is one of the highest-probability reversal triggers available. Two failed attempts to clear a level signals exhausted attacking flow — the defenders have proven they own the level, and the path of least resistance flips to the opposite side. Particularly powerful when the swing level coincides with another structural reference (Core Level, Premium/Discount boundary, ICT Liquidity Pool).
Price breaks an active swing level — the ray disappears — then within a small number of bars price reverses back through the broken level. The break was a liquidity sweep, not a continuation. This is the cleanest pure-reversal setup in the swing-level toolkit and aligns directly with the ICT Turtle Soup pattern. Best executed when the swept level is the closest highlighted level (suggesting clustered stops were the actual target).
Run a low-Strength instance (e.g. Strength 3) and a high-Strength instance (e.g. Strength 15) on the same chart in different colors. When a low-Strength swing level coincides closely with a high-Strength swing level, that price is a multi-timeframe S/R confluence — far higher probability than either timeframe alone. This is the equivalent of HTF + LTF order block confluence in the ICT framework.
Connect successive active swing lows in an uptrend (or successive swing highs in a downtrend) with a manual trendline. As long as new active swing lows continue to print above the trendline, the trend is intact. The moment a swing low prints below the trendline — or a previously active swing low gets broken — the trend's structural support has failed. This is the swing-level analog to the ICT Market Structure Shift.
Section 06 — Best Practices
These practices distill the rules that consistently separate profitable level-based traders from those who treat every horizontal line as equally significant. Each practice is a filter — apply them and your trade selection tightens dramatically.
A Strength of 3 on a 1-minute chart paints dozens of intraday levels — fine for execution. The same Strength on a daily chart produces far more swings than the higher timeframe deserves. Higher timeframe = higher Strength. As a rule of thumb: 1m chart use 3–5; 5m use 5–8; 15m use 8–12; 60m use 12–20; daily use 20+.
The highlighted Closest High and Closest Low are almost always the most relevant levels for the next 30–60 minutes of trade. Plan trades around them before considering distant levels. If the closest level holds, you have a continuation context; if it breaks, you have a momentum-extension context. Either way, the closest level is the decision point — not the levels behind it.
When a ray disappears, the indicator has confirmed (to your offset specification) that the level no longer holds. Do not draw the level back in manually. The system is a feedback loop — the absence of a level is itself information. Old broken levels do not deserve mental energy unless your full strategy explicitly trades retests, in which case Keep Broken Lines is the correct setting.
Offset = 0 will erase levels on every wick poke — including stop hunts that would otherwise have proven the level held. Use roughly 1/4 to 1/2 of average bar range as Offset: 4 ticks (1 point) on ES; 5–10 ticks on NQ; 4–8 ticks on CL. Volatile instruments need more Offset; tight-range instruments need less. The right Offset balances "ignore noise" against "react to genuine breaks."
Where a swing level coincides with a liquidity pool plotted by BWT ICT Liquidity Levels, you have a structural level + a stop cluster at the same price — exactly the kind of confluence institutions target. These are the highest-quality fade-and-reverse setups in the entire price-action toolkit. Trade these stacks aggressively and pass on swing levels that have no liquidity confluence.
Every swing high is Buy Side Liquidity (where short stops rest); every swing low is Sell Side Liquidity (where long stops rest). When price approaches a swing level, ask: is the market more likely to reject this level, or is the market more likely to sweep through it to take the stops? The answer determines whether to fade or chase. In trending markets, expect sweeps in the trend direction; in ranges, expect rejections.
Run two or three instances of BWT Swing Levels at different Strengths, each in distinct colors. The lower-Strength levels are your execution levels; the higher-Strength levels are your structural anchors. When they align, take aggressive entries; when they conflict, reduce size or pass. This delivers HTF context on a single chart with no second data series and no slowdown.
If you can count more than ten active levels visible on screen, your Strength is too low for the chart's timeframe. Levels lose meaning when too many compete for attention. Aim for three to seven active levels in the visible area — that range delivers enough structural context without analysis paralysis. If the chart is cluttered, raise the Strength.
Section 07 — Common Mistakes
These are the recurring failure modes that cost traders money on swing-level setups. Avoiding them is, by itself, a meaningful edge — most level-based losses come from these mistakes long before they come from genuinely bad setups.
Setting Strength = 3 on a 60-minute chart produces a wall of meaningless levels that obscures the few that matter. Match Strength to the chart's timeframe: more bars per swing on slower charts. The right Strength shows you 3–7 active levels, not 30.
A swing high broken upward is a continuation signal; the same level reclaimed back below is a sweep-and-reverse signal. They lead to opposite trades. Always check what price did after the break — not just whether the ray disappeared.
A lone active swing level in the middle of nowhere is a hint, not a setup. The highest-probability trades have the swing level stacking with a Core Level, Premium/Discount boundary, ICT liquidity pool, or HTF swing level. Single-context levels deserve smaller size or skipping.
Once the ray disappears the level is, by your indicator's definition, no longer holding. Trying to mentally "remember" old levels and trade them anyway defeats the entire point of self-cleaning structure. If you genuinely want broken-level retests, enable Keep Broken Lines explicitly.
Running Offset = 0 on NQ or CL will delete levels on routine wick stop-runs that should not have invalidated structure. Match Offset to the instrument: more volatility = more Offset. Without Offset tuning, the indicator over-reacts to noise.
The highlighted closest high and closest low are the levels with the highest tactical relevance for the next move. Traders who color all levels the same — or who don't notice which level is closest — burn cognitive cycles on distant levels while the price-near level drives the actual setup.
A swing level broken cleanly with strong body close past Offset is a continuation signal. Trying to fade these on the assumption "levels always hold" is one of the fastest ways to bleed account on momentum days. Levels are tradeable in both directions — break direction matters.
The Strength + Offset combination that works on ES will be wrong on CL and wrong on the 6E. Each instrument has different volatility, different bar ranges, and different swing characteristics. Tune per-instrument templates and save them — never copy one template across symbols without adjustment.
BWT Precision Indicators require a valid BWT license for NinjaTrader 8. This page is provided for informational and educational purposes only and is not trading advice. Trading futures and other leveraged products involves substantial risk of loss and is not appropriate for all investors. Past performance is not indicative of future results.