SabrTrader Premium Indicator

TDU Support & Resistance: zones the market already respects

Most traders draw support and resistance from memory and hope. TDU Support & Resistance does the opposite: it finds the pivots the market actually turned on, converts them into zones with a real high and low, counts how many times price has come back to each one, and keeps the list clean by separating active zones from broken ones. You get an objective map of where reactions happened — and a touch count that tells you which levels the market is still defending.

Automatic S/R zonesWick or body constructionTouch counts per levelActive vs broken separationOptional overbought / oversold layerLong & short signal plotsFutures, stocks, crypto, FXIncluded in Pro, Ultimate & Lifetime
SabrTrader TDU Support & Resistance on BTC/USDC with green support and red resistance zones and touch labels
TDU Support & Resistance on a BTC/USDC chart in SabrTrader. Green dashed bands are active support zones, red dashed bands are active resistance zones, each labelled with its price and the number of previous touches. Faded bands are zones price has already broken — kept on the chart because broken support so often becomes resistance. The same engine runs on futures, stocks, crypto and FX.

What is TDU Support & Resistance?

TDU Support & Resistance is an automatic level-mapping indicator for the SabrTrader premium indicator suite. It scans your chart for swing pivots using a symmetric strength test — a high that is the highest of the StrengthLeft bars before it and the StrengthRight bars after it becomes a resistance anchor; a low that is the lowest of the same window becomes a support anchor. Instead of stamping a single hairline price on the chart, it builds a zone from that pivot: a low boundary and a high boundary, so you can see the band the market reacted inside rather than a level it never touched exactly twice.

Each zone then carries metadata. It knows its own price, it knows how many times price has previously interacted with it, and it knows whether it is still intact or already violated. That state is exposed both visually — active zones drawn bold and dashed, broken zones faded — and numerically through the plot series Support Price Low, Support Price High, Resistance Price Low, Resistance Price High, Support Touches and Resistance Touches. There are also two dedicated event series, Signal Long and Signal Short, that you can watch, alert on, or feed into other logic.

Layered on top of the structural map is an optional oscillator engine. Turn on ShowOverBoughtSold and the indicator adds an overbought/oversold read — RSI by default via OBOSType — so you can distinguish between price arriving at resistance already stretched and exhausted versus arriving fresh with room to keep pushing. That single distinction separates a fade you should take from a fade that gets run over.

The core idea

A level is only worth trading if the market has proven it cares. TDU Support & Resistance measures that proof two ways: by pivot strength (how much price had to respect the swing to create it) and by touch count (how many times price has returned and been rejected). Everything else on the chart is decoration.

Why automatic S/R beats hand-drawn lines

Hand-drawn support and resistance has three failure modes, and every discretionary trader has lived all three. First, recency bias: you draw the levels you happen to remember, usually from the last two sessions, and you miss the shelf from three weeks ago that is about to stop the move dead. Second, confirmation bias: once you are long, you find support; once you are short, you find resistance. The lines migrate to fit the position. Third, drift: you nudge the line half a tick each time price overshoots, and after a week the level means nothing.

TDU Support & Resistance removes all three. The pivot rule is fixed and symmetric, so the same swing produces the same zone whether you are long, short or flat. The zone boundaries are derived from actual candle geometry, not from where your cursor landed. And because the indicator maintains a rolling list of the most recent SRLinesToShow levels, your chart stays legible instead of turning into a plaid blanket of forgotten lines.

There is a second, subtler advantage: consistency across instruments. If your S/R method is manual, your ES chart and your BTC chart get different treatment because your eye calibrates differently to each. An algorithmic pivot rule treats both identically. When you journal a losing trade, you can ask a useful question — "was the zone weak, or was my execution bad?" — because the zone definition was not up for negotiation.

How does the indicator find its levels?

Pivot strength: StrengthLeft and StrengthRight

The two most important numbers in the whole indicator are StrengthLeft (default 16) and StrengthRight (default 16). They define the window a swing must dominate to qualify as an anchor. With 16/16, a resistance pivot must be the highest high of a 33-bar neighbourhood. That is a genuinely significant turn, not a one-bar wiggle.

Raise the numbers and you get fewer, heavier zones — the swing highs and lows a swing trader would call obvious. Lower them and you get a denser grid of micro-levels, useful for scalping a range-bound session but noisy in a trend. The right answer depends on your holding time, not on the instrument. A useful rule: set strength so that a typical trade of yours spans roughly two to four zones. If your average winner runs through twelve zones, they are too small to be meaningful. If it never reaches the next zone, they are too large to give you a target.

StrengthRight also controls confirmation lag. A pivot cannot be confirmed until the required number of bars have printed to its right — that is arithmetic, not a limitation. With 16 bars of right strength, the newest zone appears sixteen bars after the actual high. That is exactly why the indicator is honest: it never claims to know a top in real time. The levels you trade are levels the market already validated, and the confirmation delay is the price of that validation. If you want faster zone recognition for lower timeframes, reduce StrengthRight while keeping StrengthLeft larger — an asymmetric setup that says "this swing must dominate a long history to the left, but I will accept it sooner."

ZoneType: wick zones versus body zones

ZoneType defaults to Wick, meaning the zone is built from the extreme of the candle including its shadow. Wick zones capture the full liquidity sweep: they cover the price where stops were actually taken out. They are wider, they get touched more often, and they are the correct choice when you are trading rejections and want your stop outside the whole hunting ground.

Switch ZoneType to a body-based construction and the zone tightens to where candles actually closed. Body zones are the acceptance boundary rather than the sweep boundary. They give you a much tighter entry and a much tighter stop — but they will be pierced by wicks constantly, so you must pair them with a break rule that ignores wicks. Many traders run wick zones on the higher timeframe for context and body zones on the execution chart for precision. Both readings live in the same plot family: Support Price Low and Support Price High give you the exact band edges regardless of which construction you chose.

Touch counts: the number nobody else shows you

Turn on ShowPreviousTouchesCount (default on) and every zone label carries a count. This is where the indicator stops being a drawing tool and starts being an analytical one. Touch count answers the question that decides most reversal trades: is this level being defended or being worn down?

  • 1 touch — a virgin level. Untested zones have the highest single-shot reaction rate because the resting orders that created the pivot have not yet been consumed. First retests are the cleanest fades in the book, and also the ones with the least confirmation.
  • 2–3 touches — the sweet spot for most traders. The level has proven it produces reactions, but it has not yet absorbed so much volume that a break is inevitable. This is where the reaction playbook below lives.
  • 4–6 touches — a level under pressure. Repeated tests grind through the passive liquidity that made the level work. Each subsequent test produces a shallower bounce. Watch for the break, not the fade.
  • 7+ touches — treat it as a breakout trigger, not a wall. Heavily touched levels are where continuation traders wait, because the market has advertised its intention loudly enough that everyone has an order there.

Because touches are also exposed as the numeric plots Support Touches and Resistance Touches, you can filter mechanically: fade only zones with a count between two and four; take breakout entries only when the count is five or higher. That is a real, testable, non-discretionary edge rule that you simply cannot build with a hand-drawn line.

Active versus broken: why both stay on the chart

ShowActiveLines (default on) draws the levels that are still intact using ActiveSupportColor and ActiveResistanceColor — forest green and crimson at the defaults, both dashed, both two pixels wide, with translucent zone fills so candles remain readable. ShowBroken and ShowBrokenLines (both on by default) keep violated zones on the chart at lower opacity via BrokenSupportColor, BrokenResistanceColor and their zone-fill counterparts.

Keeping broken levels visible is not clutter. It is the single most practical feature in the indicator, because broken support becomes resistance and broken resistance becomes support with remarkable reliability. When price breaks a support zone, the traders who bought there are trapped; their break-even orders sit inside the old zone. When price rallies back into it, that supply appears. A faded green band above price is one of the highest-quality short entries you will find, and it only exists on your chart because the indicator refuses to delete history.

ZoneBreakType decides what counts as broken. The default, CandleWickBreaksZone, is the strict reading: any penetration of the zone by any part of a candle invalidates it. That gives you clean, unambiguous state and fewer false "still active" labels, at the cost of retiring zones that were only swept. If you prefer levels that survive liquidity sweeps and only die on acceptance, choose a body- or close-based break rule instead; then a wick through the zone leaves it active and you keep trading the same band. Neither is objectively right — but you must pick one deliberately and match it to your stop placement. Wick-break rule plus wick-wide stops is coherent. Body-break rule plus tick-tight stops is coherent. Mixing them is how accounts bleed.

SabrTrader TDU Support & Resistance on BTC/USDC with green support and red resistance zones and touch labels
Reading the same BTC/USDC chart as a trade map. Work top to bottom: the nearest active resistance band is your first upside target and your fade zone; the nearest active support band is your invalidation reference; the touch count on each label tells you whether to expect a bounce or a break; and the faded bands mark old levels that flipped polarity and now act from the other side. Price travelling through empty space between two zones is where you hold, not where you enter.

How do I read TDU Support & Resistance on the chart?

Reading the indicator is a four-step routine that takes about ten seconds once it is habit.

Step 1: locate the nearest zone in each direction

Find the closest active resistance above and the closest active support below. With ShowPrice on you get the exact price on the label, so there is no squinting at the axis. These two zones define your current playing field. Any long taken with resistance three ticks overhead is a bad long no matter how bullish the story; any short taken directly on top of support with heavy touch history is a donation.

Step 2: read the touch counts

Now qualify those two zones. Low count means expect reaction. High count means expect penetration. This is the step that flips your bias from "where is price" to "what will price probably do here", and it is the step that hand-drawn levels cannot give you.

Step 3: measure the space

Distance matters more than direction. Measure from your prospective entry to the far zone: that is your realistic target and therefore the numerator of your reward-to-risk ratio. Measure from your entry to the near zone edge plus a buffer: that is your stop, the denominator. If the ratio is below 1.5, there is no trade — not because the setup is wrong, but because the geometry is wrong. The indicator makes this arithmetic visual: you are literally counting the gap between coloured bands.

Step 4: check polarity flips

Scan the faded bands. Is price approaching a broken resistance zone from above? That is prior demand turned support, and it is a far better long location than an untested random level. Broken zones are the memory of the chart, and they are exactly where institutional order flow tends to reappear because that is where the last battle was fought.

Reading rule

Zones are decision points; the space between them is where trades are held. If you find yourself entering in the middle of open air because the candle looked strong, you are using momentum, not structure — and you have no defined invalidation. Wait for price to come to a zone. Zones do the work; patience monetises it.

The optional overbought / oversold layer

By default ShowOverBoughtSold is off, because most traders should learn to read the structural map first. Turn it on and you add a second dimension: condition. The engine is chosen with OBOSType (RSI by default), tuned with OverBoughtSoldPeriod (10) and smoothed with OverBoughtSoldSmooth (3). A separate LowHighLookBack (50) window frames the high/low reference used by the range-based calculation, and the two thresholds ProbabilityOverbought and ProbabilityOversold (15 each) control how extreme a reading has to be before the indicator flags it.

Why bother? Because structure without condition is ambiguous. Price arriving at resistance after a slow, grinding forty-bar climb is a very different animal to price arriving at the same resistance on the third bar of an impulse. In the first case the move is stretched, the oscillator is pinned, latecomers are already long, and a fade has good odds. In the second, momentum is fresh and fading is standing in front of a bus. The overbought/oversold layer draws that distinction in magenta (OverboughtColor) and dodger blue (OverSoldColor) at two pixels wide, so it is impossible to miss and impossible to confuse with your zone colours.

The highest-quality confluence in the entire indicator is an oversold reading printing inside an active support zone with a low touch count, or its mirror. Structure says "this is where buyers defended"; condition says "sellers are exhausted right here"; touch count says "the level has not been chewed up yet". Three independent votes for the same trade. Those are the setups you size up on.

The two event plots, Signal Long and Signal Short, give you a machine-readable version of that confluence so you can drive alerts instead of staring at charts. Use them as a summons, not an order: the signal tells you to look, your zone reading and your risk arithmetic decide whether to click.

Previous-touch markers

ShowPreviousTouches is off by default and is best thought of as a study tool. Enable it and the indicator marks the individual historical touch events on the chart — circles of PreviousTouchesRadius (12) drawn in PreviousTouchesFillColor with a connecting line in PreviousTouchesLineColor, filtered by PreviousTouchesStrength (4) so only meaningful contacts qualify. Where the touch count tells you how many, the markers tell you when and what happened. Were the touches clustered inside two sessions, or spread across a month? Did each rejection get shallower? Did the level hold on high volume or on drift? Turn the markers on when you are studying an instrument or building a level playbook, then turn them off for live trading to keep the chart clean.

Trading playbooks

Zones are only worth what you do with them. Here are five named setups built directly on the indicator's own outputs, each with an entry, a stop and a clear invalidation. Every one of them can be traded on futures, stocks or crypto without modification.

Playbook 1 — The Second Touch Fade

Context: an active zone with a touch count of 1 or 2, in a market that is ranging or in a shallow pullback rather than a vertical trend.

Trigger: price enters the zone and prints a rejection candle — a wick into the band with a close back outside it. If the overbought/oversold layer is on, require the corresponding extreme reading, or a Signal Short at resistance / Signal Long at support.

Entry: on the close of the rejection candle, or on a limit at the zone mid for a better fill and slightly worse hit rate.

Stop: beyond the far edge of the zone plus a buffer of roughly one third of the zone height. Do not use the near edge — you will be stopped by the sweep the zone exists to describe.

Target: the next opposing zone. Take partial profit at the midpoint of the space; trail the remainder.

Invalidation: a candle that satisfies your ZoneBreakType rule against you. When the zone flips to broken, the thesis is gone — exit, do not average.

Playbook 2 — The Polarity Flip Retest

Context: a zone has just moved to broken state, so it is drawn in faded colour, and price is returning to it from the other side.

Trigger: the first return into the broken zone. Broken resistance retested from above becomes support; broken support retested from below becomes resistance. First retests are the highest-probability version; by the third retest the flip is losing force.

Entry: limit order at the zone edge nearest price, in the direction of the break.

Stop: through the entire zone plus buffer. If price cuts back through the whole band, the break was a fake and you want out immediately.

Target: the next active zone in the direction of the break, which is normally a clean run because the intervening space has just been cleared of levels.

Why it works: trapped participants from the original level defend their break-even, then capitulate. That capitulation is your fuel. This setup is the reason ShowBroken should stay enabled.

Playbook 3 — The Worn-Level Breakout

Context: a zone with a touch count of 5 or more. The label itself is your filter.

Trigger: price approaches for another test with narrowing pullbacks between attempts. You are now a breakout trader, not a fader. Wait for the zone to satisfy your break rule.

Entry: on the break confirmation, or on the first shallow retest of the freshly broken band — which is Playbook 2 chained onto Playbook 3, and the highest-quality sequence in the whole indicator.

Stop: back inside the zone, past its far edge.

Target: the next active zone beyond. Heavily touched levels tend to release fast when they finally go, because both the fade crowd's stops and the breakout crowd's entries fire simultaneously.

Invalidation: an immediate close back inside the zone. That is a failed break, and failed breaks reverse hard — be willing to flip.

Playbook 4 — The Confluence Reversal

Context: ShowOverBoughtSold enabled. An active support zone with a touch count of 1–3 coincides with an oversold reading, or an active resistance zone coincides with overbought.

Trigger: the oscillator extreme prints while price is inside the band, ideally accompanied by Signal Long or Signal Short.

Entry: aggressive traders take the zone touch; conservative traders wait for the oscillator to leave the extreme zone while price holds the band, sacrificing a few ticks for a much lower failure rate.

Stop: outside the zone plus buffer.

Target: the opposing zone, with a partial at the halfway point.

Sizing note: this is the setup that earns full size. Two independent confirmations plus a touch-count filter is as good as discretionary edge gets. When only one of the three conditions is present, trade half.

Playbook 5 — The Zone-to-Zone Swing

Context: higher-timeframe chart — four-hour or daily — with StrengthLeft and StrengthRight raised to 24–30 so only major swings qualify.

Trigger: price reacts at a major zone with a low touch count. Drop to your execution timeframe to time the entry, but keep the higher-timeframe zone as the thesis.

Entry: execution-timeframe rejection inside the higher-timeframe band.

Stop: beyond the higher-timeframe zone, sized so the position survives normal noise. This means smaller size and a wider stop — that is the trade-off for a multi-day hold.

Target: the next major zone, often several percent away. Scale out in thirds: one third at the midpoint, one third at the zone edge, one third trailed below successive new support zones as they confirm.

Management: as the swing progresses, new zones confirm behind price. Trail your stop to the far side of the most recent confirmed zone in your favour. You are now letting the indicator manage the trade for you.

Do trade the edges

Enter at the boundary of a zone, not in the middle of it and never in open space. Zone edges give you the tightest defensible stop and the clearest invalidation, which is the entire point of using levels.

Don't fade worn levels

A touch count above five is a warning, not an invitation. The passive liquidity that made the level work has been consumed. Flip to the breakout playbook and stop trying to catch the same knife.

Do respect the break rule

Whatever you set ZoneBreakType to, obey it. The moment a zone flips to broken, your thesis is void. Traders who argue with the break rule are the ones who turn a one-unit loss into a five-unit loss.

Don't drown the chart

SRLinesToShow exists to protect you. Ten zones is plenty; twenty is a mess you cannot act on. If you need more levels, you need a different timeframe, not more lines.

Do use the touch numbers

Support Touches and Resistance Touches are real numeric plots. Build hard rules on them: fade 1–4, break 5+. Objective filters beat vibes over a hundred trades.

Don't ignore the faded bands

Broken zones are the highest-value real estate on the chart. Polarity flips are where trapped traders capitulate. Deleting old levels throws away the memory that makes structure predictive.

Get TDU Support & Resistance with SabrTrader

TDU Support & Resistance is included in the Pro, Ultimate and Lifetime plans — it is not a separate add-on, not an upsell and not a rented script. Install SabrTrader, sign in, and the whole premium suite is on your charts.

Download SabrTrader for Windows See plans & pricing

Complete settings reference

Every parameter, what it does, and how to think about changing it. Defaults are shown as shipped — they are sensible for most instruments and timeframes, and you should trade them for a few sessions before tuning anything.

Zone construction

Parameter Default What it does
ZoneType Wick Builds zones from candle extremes including shadows (Wick) or from body boundaries. Wick = the full sweep, wider band, safer stops. Body = acceptance only, tighter entries, more wick penetrations.
StrengthLeft 16 Bars to the left a pivot must dominate. Higher values demand more historical significance and produce fewer, heavier zones.
StrengthRight 16 Bars to the right required for confirmation. Directly controls how long after the actual high or low a zone appears. Lower for faster recognition on intraday charts.
SRLinesToShow 10 How many levels to keep on the chart. Raise for a denser map on higher timeframes; lower to 5–6 for a minimalist execution chart.

Labels and display

Parameter Default What it does
ShowPrice True Prints the zone's price on its label so you can place orders without reading the axis.
ShowPreviousTouchesCount True Prints the touch count on the label. Leave this on — it is the indicator's most actionable output.
ShowActiveLines True Draws intact zones. Turn off only if you want a broken-levels-only chart for polarity-flip study.
TextFontFamily (chart default) Font used for zone labels. Leave empty to inherit your SabrTrader chart theme.
TextFontSize 10 Label size. Raise to 12–13 on high-DPI or large monitors, drop to 8–9 on dense multi-chart layouts.

Active zone styling

Parameter Default What it does
ActiveSupportColor Forest green, 60% opacity Line colour for intact support levels.
ActiveSupportWidth 2 Line thickness for active support.
ActiveSupportStyle Dashed Line style. Dashed keeps levels visually distinct from solid price-action drawings.
ActiveResistanceColor Crimson, 60% opacity Line colour for intact resistance levels.
ActiveResistanceWidth 2 Line thickness for active resistance.
ActiveResistanceStyle Dashed Line style for active resistance.
ActiveSupportZoneColor Green, 50% opacity Fill colour of the support band between its low and high boundaries.
ActiveResistanceZoneColor Light coral, 50% opacity Fill colour of the resistance band.

Broken zones

Parameter Default What it does
ShowBroken True Master switch for retaining violated zones. Keep on — polarity flips depend on it.
ShowBrokenLines True Draws the boundary lines of broken zones as well as their fills.
ZoneBreakType CandleWickBreaksZone Defines violation. The default retires a zone the moment any wick pierces it — strict and unambiguous. Body- or close-based options let zones survive liquidity sweeps and only die on acceptance.
BrokenSupportColor Green, 50% opacity Line colour for violated support (now potential resistance).
BrokenSupportWidth 2 Line thickness for broken support.
BrokenSupportStyle Dashed Line style for broken support.
BrokenResistanceColor Crimson, 50% opacity Line colour for violated resistance (now potential support).
BrokenResistanceWidth 2 Line thickness for broken resistance.
BrokenResistanceStyle Dashed Line style for broken resistance.
BrokenSupportZoneColor Green, 25% opacity Fill for broken support bands — deliberately faint so intact zones dominate visually.
BrokenResistanceZoneColor Light coral, 25% opacity Fill for broken resistance bands.

Overbought / oversold layer

Parameter Default What it does
ShowOverBoughtSold False Enables the condition layer on top of the structural map. Turn on once you are comfortable reading zones alone.
OBOSType RSI Selects the oscillator engine used to judge stretch.
OverBoughtSoldPeriod 10 Lookback for the oscillator. Shorter reacts faster and flags more extremes; longer is smoother and more selective.
OverBoughtSoldSmooth 3 Smoothing applied to the oscillator to suppress single-bar spikes.
LowHighLookBack 50 Window used for the high/low reference in the range-based calculation. Roughly one session on intraday charts.
ProbabilityOverbought 15 Threshold that must be met before an overbought condition is flagged. Raise it to demand a more extreme reading and cut signal count.
ProbabilityOversold 15 Same, on the oversold side.
OverboughtColor Magenta Colour of overbought markings — deliberately far from the red/green zone palette.
OverboughtWidth 2 Thickness of overbought markings.
OverSoldColor Dodger blue Colour of oversold markings.
OverSoldWidth 2 Thickness of oversold markings.

Previous-touch markers

Parameter Default What it does
ShowPreviousTouches False Marks individual historical touch events on the chart. A study tool — enable for analysis, disable for live trading.
PreviousTouchesStrength 4 Minimum significance a contact needs to be marked, so trivial grazes are ignored.
PreviousTouchesRadius 12 Marker size in pixels.
PreviousTouchesColor White Marker outline colour.
PreviousTouchesFillColor Yellow, 70% opacity Marker fill colour.
PreviousTouchesLineColor White, 30% opacity Colour of the connector linking successive touches on the same level.

Plot outputs you can build on

Plot Use it for
Support Price Low / Support Price High Exact lower and upper boundary of the active support band — use for limit orders and stop placement arithmetic.
Resistance Price Low / Resistance Price High Exact boundaries of the active resistance band — use for targets and short entries.
Support Touches Numeric touch count on support. Filter fades versus breakouts mechanically.
Resistance Touches Numeric touch count on resistance. Same, from the other side.
Signal Long Long event series produced by the indicator's confluence logic. Ideal for alerts.
Signal Short Short event series. Treat both signals as a summons to inspect, not an instruction to click.

How do I set it up? A five-minute configuration

  1. Install and add the indicator. Download SabrTrader, open the instrument you trade, and add TDU Support & Resistance from the premium indicator list. It runs on price directly — no sub-panel, no extra data feed.
  2. Trade the defaults for two sessions. Wick zones, 16/16 strength, ten levels, touch counts on, broken zones visible, overbought/oversold off. Do not touch anything. You are calibrating your eye to the zone widths, not optimising.
  3. Tune strength to your holding time. Count how many zones your typical trade travels through. Two to four is right. Too many zones means raise strength; never reaching one means lower it.
  4. Choose your break rule deliberately. Decide whether a wick through the band kills your thesis. Set ZoneBreakType accordingly, then match your stop placement to that decision and never deviate mid-trade.
  5. Set the level count for your screen. Ten is the default. On a one-minute execution chart, six is cleaner. On a daily swing chart, fifteen gives you a fuller map.
  6. Add the condition layer. Once zone reading is automatic, turn on ShowOverBoughtSold. Leave period 10 and smoothing 3 initially; raise the probability thresholds if you are getting more flags than you can act on.
  7. Build one alert. Wire Signal Long and Signal Short into alerts so you can step away from the screen and still be summoned when structure and condition align.
  8. Save the template. Save your configuration as a SabrTrader chart template and apply it across your watchlist so every instrument gets the same treatment.

Suggested starting points by style

Style Timeframe Strength L/R Zone type Lines OB/OS
Scalping futures 1–5 min 10 / 8 Wick 6 On, period 8
Intraday futures 5–15 min 16 / 16 Wick 10 On, defaults
Stock day trading 5–15 min 16 / 12 Wick 10 Optional
Crypto intraday 15–60 min 18 / 18 Wick 10 On, defaults
Swing trading 4h – daily 24 / 24 Wick 12–15 On, period 14
Position / investing Daily – weekly 30 / 30 Body 10 Off

Works on every market you trade

Support and resistance is a behavioural phenomenon, not a product feature of any one exchange. Wherever there are participants with memory, orders resting at prior extremes and traders defending break-even, the same zones form. That is why TDU Support & Resistance needs no per-market variant.

Futures

Index, energy, metal and rate futures respect prior swing extremes with unusual precision because so much automated liquidity is anchored to them. On ES, NQ and CL the overnight high and low almost always become confirmed zones, and the first regular-session test of them is one of the most repeatable setups in the market. Pair the zone map with the Footprint chart to see whether a test is being absorbed or executed through.

Stocks and ETFs

Equities carry longer memory because of the sheer diversity of holders. Prior earnings-gap edges, quarterly highs and round-number shelves all show up as zones with high touch counts. Because equities gap, the broken-zone display matters even more: a gap through a level leaves an unfilled polarity flip that price frequently returns to weeks later.

Crypto

Crypto is the purest environment for automatic S/R because it trades continuously — no session breaks to fragment pivot detection, and no closing auction to distort extremes. The BTC/USDC example above is representative: zones form cleanly, touch counts accumulate quickly, and polarity flips are brutally reliable. Because volatility regimes shift hard, revisit your strength settings when realised volatility doubles or halves.

FX

Currency pairs cluster around round numbers and option strikes, and those clusters show up as zones with the highest touch counts on your chart. In FX especially, use the touch count as a break filter: a level with eight touches in a major pair is a breakout trigger, not a fade.

One engine, every instrument

The same pivot logic, the same touch counting and the same break rules run on every symbol SabrTrader can chart. That consistency is what makes cross-market journaling possible: when you compare a BTC trade to an ES trade, the level definition is identical, so the only variable is you.

How it compares

Free auto-S/R scripts exist everywhere. Here is what actually differs.

Capability Typical free script TDU Support & Resistance
Level type Single hairline price True zones with explicit low and high boundaries, exposed as plots
Zone construction Fixed, usually highs/lows only Selectable wick or body construction to match your stop philosophy
Touch history Not tracked Per-level touch count on the label and as a numeric plot for rules
Broken levels Deleted or left identical to active ones Retained, restyled and faded so polarity flips are visible at a glance
Break definition Hard-coded Configurable via ZoneBreakType — wick-strict by default, body/close options available
Condition context None Optional overbought/oversold layer with selectable engine, period, smoothing and thresholds
Signals Arrows with no logic exposed Signal Long / Signal Short plots you can alert on and combine with your own filters
Chart hygiene Unbounded line count SRLinesToShow keeps the map to the levels that matter
Suite integration Standalone Designed to sit alongside Volume Profile, Footprint, Market Structure and TDU Price Action
Commercial model Unsupported, unmaintained Included in Pro, Ultimate and Lifetime — supported and updated, never a separate add-on

How do I combine it with the rest of the suite?

TDU Support & Resistance answers where. The other premium indicators answer why, who and what next. Stacking them is how you turn a level into a trade with conviction.

With Volume Profile

The Volume Profile shows where contracts actually traded. When a TDU support zone sits on a high-volume node, you have price memory plus transacted acceptance — the strongest kind of shelf. When a zone sits in a low-volume gap instead, expect price to travel through it fast. Same colour band, completely different expectation, and only the profile tells you which is which.

With the Footprint chart

Zones tell you where to look; the Footprint tells you what is happening inside them right now. Are sellers hitting bids into support and getting absorbed, or is the bid stepping away? Absorption inside a low-touch support zone is the single best long trigger available, because you can see the defence in the tape rather than inferring it from a candle shape.

With Market Structure

The Market Structure indicator establishes trend regime through higher highs and lower lows. Use it as a directional filter: in a confirmed uptrend, take support-zone longs and treat resistance zones as scale-out targets rather than short entries. Fading zones against a strong structural trend is the most common way traders lose money with S/R tools.

With TDU Price Action

TDU Price Action classifies the candles themselves — the rejection, engulfing and exhaustion patterns you would otherwise spot by eye. Require a qualified price-action signal inside a zone before entering, and your hit rate rises sharply while your trade count falls. That is usually a very good trade.

A three-layer routine

  1. Regime: Market Structure tells you which direction is permitted today.
  2. Location: TDU Support & Resistance tells you where to act and where your invalidation lives, with a touch count telling you whether to fade or break.
  3. Trigger: Footprint or TDU Price Action tells you the exact bar to click.

Nothing in that routine is discretionary except sizing. That is the point.

Risk, invalidation and the discipline the indicator enforces

The most underrated feature of a zone-based approach is that it gives every trade a pre-defined death condition. Before you enter, you already know which candle ends the thesis: the one that satisfies your ZoneBreakType rule against you. That means position size can be computed properly — risk per unit is the distance from entry to beyond the zone, and size is your risk budget divided by that distance.

Three rules make this work in practice. First, never widen a stop because the zone "should" hold. If the market broke the band, your read was wrong and the indicator just told you so, faded the colour, and moved on. You should too. Second, never enter without a target zone. If there is no opposing band within a sensible distance, there is no reward-to-risk case, and the trade is speculation dressed as structure. Third, respect the touch count. Fading a seven-touch level because it "held last time" is the most expensive form of nostalgia in trading.

The counts also give you a healthy way to review. When you journal, record the zone's touch count, whether the level was active or broken, and whether the condition layer agreed. After fifty trades you will have a table that tells you exactly which combinations you make money on. Most traders discover they are excellent at first retests of broken zones and terrible at fading worn levels — and simply deleting the second category transforms their equity curve. That analysis is only possible because the indicator records objective level metadata instead of leaving it to your memory.

Map the levels that matter, on every chart you trade

Stop redrawing the same lines every morning. TDU Support & Resistance builds the map for you, counts the touches, tracks the breaks and flags the flips — on futures, stocks, crypto and FX. Included in Pro, Ultimate and Lifetime.

Download SabrTrader free Browse the premium suite

Frequently asked questions

How do I add TDU Support & Resistance to a chart in SabrTrader?

Download and install SabrTrader for Windows, sign in with a plan that includes the premium suite, open any instrument, and add TDU Support & Resistance from the indicator list. It draws directly on the price panel — no sub-chart, no additional data subscription, no external script hosting. Configure it once, save it as a chart template, and apply that template across your entire watchlist so every symbol is analysed with the same rules.

How to choose between wick zones and body zones?

Ask what your stop needs to survive. Wick zones (the default) include candle shadows, so they cover the whole liquidity sweep — wider bands, more touches, and stops that sit outside the area where hunting actually happens. Body zones tighten to where candles closed, giving you a precise acceptance boundary and much smaller risk per unit, but they will be pierced by wicks constantly. Use wick zones if you trade rejections and want to be robust to sweeps; use body zones if you trade closes and pair them with a body- or close-based ZoneBreakType so the two rules agree.

Why do zones appear a few bars after the actual high or low?

Because a pivot cannot be confirmed until enough bars have printed to its right. With StrengthRight at 16, the indicator must see sixteen bars that fail to exceed the extreme before it can declare it a valid swing. That delay is the validation. An indicator that painted levels instantly would be guessing, and it would repaint as soon as the next bar exceeded the extreme. If you need faster recognition on lower timeframes, reduce StrengthRight to 8–12 while keeping StrengthLeft higher — you accept the pivot sooner but still demand it dominate a long left-hand history.

What is the touch count actually telling me?

It tells you how many times price has previously come back to that zone and been rejected. Low counts (1–3) mean the passive liquidity that created the level is largely intact, so a reaction is likely and fades have good odds. High counts (5+) mean that liquidity has been repeatedly consumed, bounces are getting shallower, and a break is increasingly probable. In practice you should trade the two ends of the range differently: fade low counts, trade breakouts on high counts. The count is available both on the label and as the Support Touches and Resistance Touches plots, so you can turn it into a hard filter rather than a feeling.

How do I trade a broken zone?

Wait for the retest. When a support zone breaks it stays on your chart in faded green, and price returning to it from below meets the trapped buyers who are now desperate to exit at break-even. That supply makes the old support act as resistance. Enter at the near edge of the faded band in the direction of the break, stop through the entire band plus a buffer, target the next active zone beyond. First retests are strongest; by the third the flip is losing force. This is why ShowBroken and ShowBrokenLines default to on — the memory is the edge.

Why did my zone disappear when price only wicked through it?

Because ZoneBreakType defaults to CandleWickBreaksZone, the strictest possible reading: any penetration by any part of a candle retires the level to broken state. That gives you unambiguous state tracking, but it does retire zones that were only swept. If you would rather levels survive liquidity sweeps and only die when the market accepts beyond them, switch to a body- or close-based break rule. Then make sure your stops sit beyond the whole band, because you are now explicitly tolerating wicks against you.

What settings should I use for day trading futures?

Start with the shipped defaults on a 5- or 15-minute chart: wick zones, 16/16 strength, ten levels, touch counts visible, broken zones retained. That produces roughly the levels an experienced discretionary trader would draw. If you scalp on one- and two-minute charts, drop strength to about 10 left and 8 right and reduce SRLinesToShow to six so the chart stays actionable. Turn on the overbought/oversold layer with a slightly shorter period once you are comfortable, because intraday futures fades benefit enormously from knowing whether the approach was stretched or fresh.

How to avoid a cluttered chart with too many levels?

Three levers. First, SRLinesToShow — cap it at six to ten for execution charts. Second, raise StrengthLeft and StrengthRight so only genuinely significant swings qualify; this is the highest-leverage change because it improves quality as well as legibility. Third, keep ShowPreviousTouches off during live trading and only enable it when you are studying an instrument. If the chart still feels busy, you are probably on the wrong timeframe for your holding period rather than the wrong settings.

Why does a level with many touches break more often than it holds?

Because every test consumes resting orders. The traders who defended the level at the first touch have partially filled or been stopped out; each subsequent test faces thinner passive liquidity while attracting more attention from breakout traders who have now seen the level advertised repeatedly. Simultaneously, the fade crowd's stops accumulate just beyond it. When it finally goes, both those stops and fresh breakout entries fire at once, which is why worn levels release violently. Read a high touch count as a countdown, not a fortress.

What is the overbought/oversold layer for, and should I turn it on?

It answers whether price arrives at a zone stretched or fresh. Structure alone cannot distinguish a forty-bar grind into resistance from a three-bar impulse into the same band, yet those two situations have opposite outcomes. With ShowOverBoughtSold enabled, an oscillator — RSI by default via OBOSType, tuned by OverBoughtSoldPeriod and OverBoughtSoldSmooth, thresholded by ProbabilityOverbought and ProbabilityOversold — marks the stretched cases in magenta and blue. Learn to read zones first, then add it. Once you do, the combination of a low-touch zone plus an oscillator extreme becomes your highest-conviction, full-size setup.

How do I use the Signal Long and Signal Short plots?

Treat them as attention management rather than trade instructions. Wire them into SabrTrader alerts so you are notified when the indicator's confluence conditions align, then apply your own checks before clicking: is the touch count in your acceptable range, is the trade with or against the regime shown by Market Structure, and does the distance to the opposing zone give you at least 1.5 to 1? Traders who click every signal blindly get average results; traders who use signals to be summoned to a chart and then filter properly get selective, high-quality entries.

Does this work on stocks and crypto as well as futures?

Yes, without modification, because the mechanism it measures is behavioural. Equities produce long-memory levels around earnings gaps and quarterly extremes, and because they gap you often get unfilled polarity flips that pay off weeks later. Crypto is arguably the cleanest environment because it trades continuously, so pivot detection is never fragmented by session breaks — the BTC/USDC chart above is a fair representation of typical behaviour. FX clusters around round numbers, which show up as the highest touch counts on your chart and should mostly be traded as breakout triggers. The only adjustment worth making across asset classes is strength, and that follows your holding period rather than the instrument.

What is the difference between this and Volume Profile?

They measure different things and are strongest together. TDU Support & Resistance is built from price memory — the swings the market turned on and how often it has returned. Volume Profile is built from transacted volume — where contracts actually changed hands. A zone sitting on a high-volume node is a shelf with both memory and acceptance behind it, and it deserves size. A zone floating in a low-volume gap will often be sliced straight through. Use the zones to decide where to act and the profile to decide how much to trust the location.

Why should I keep broken levels on the chart instead of deleting them?

Because the market does not forget. Every broken zone marks a place where one side was proven wrong and is now holding losing exposure, and where the winning side has an anchor for adding. Those participants create real order flow when price returns, which is precisely what makes polarity flips one of the most reliable setups available. Deleting a level the moment it breaks throws away the information at the exact moment it becomes tradeable from the other side. The faded styling — 25% opacity fills by default — exists so this history costs you almost nothing visually while remaining instantly readable.

Is TDU Support & Resistance a separate purchase?

No. It is part of the SabrTrader premium indicator suite and is included in the Pro, Ultimate and Lifetime plans at no extra cost — no add-on fee, no per-indicator licence, no separate script subscription. The same plan also includes Volume Profile, Footprint, Market Structure, TDU Price Action and the rest of the suite, all maintained and updated together. Download the platform, start with the free tier to see the charts, and upgrade when you want the full toolkit. See pricing and the full feature list for details.

How long does it take to get good with it?

Reading the chart takes an afternoon: nearest zone up, nearest zone down, touch counts, space between. Trading it well takes about fifty logged trades, because that is roughly how long it takes to discover which combinations of touch count, zone state and condition you personally execute well. The fast route is to journal three fields on every trade — touch count, active or broken, and whether the condition layer agreed — then cut the worst-performing combination entirely. Most traders find that single deletion is worth more than any parameter change.

Start with the zones, then add the rest

Install SabrTrader, put TDU Support & Resistance on your main chart, and trade the defaults for a week. Then layer in Footprint, Volume Profile and Market Structure and watch how much of your discretionary guesswork disappears.

Download for Windows Explore platform features