TDU Pivots: session pivots that stay on the chart
TDU Pivots draws the reference prices that professional traders actually use — floor-trader pivots, mid-levels, and prior day high, low and close — anchored to your session, styled per level family, and locked to the session that produced them. No re-drawing every morning, no guessing whether the level came from a calendar day or a real trading session. Open the chart, and the map is already there.

What is TDU Pivots?
TDU Pivots is a premium level-mapping indicator for SabrTrader. It takes the high, low and close of a completed trading session and turns them into a structured grid of horizontal reference prices: a central pivot, three tiers of support, three tiers of resistance, optional mid-levels between each tier, and the three raw session extremes — Prior Day High, Prior Day Low and Prior Day Close — which are exposed as real plots you can reference, color and label independently.
That description sounds simple, and the arithmetic is simple. What is not simple — and what free pivot scripts almost always get wrong — is everything around the arithmetic: which session is "yesterday" on a 23-hour futures contract, what happens on a half day, whether a level should stop at the session boundary or run across the whole chart, how to keep twelve horizontal lines legible without turning your chart into a ladder, and how to make the whole thing render instantly when you scroll back three months of data. TDU Pivots is built around those problems. The math is the easy part; the session handling, the styling hierarchy and the placement control are the product.
It ships as part of the SabrTrader premium suite. If you are on Pro, Ultimate or Lifetime it is already unlocked in your indicator catalog — it is not a separate add-on, not a per-symbol licence, and not an upsell inside the platform. You add it from the indicator list, set your session, save a template, and it appears on every chart you open from that point forward.
TDU Pivots answers the only question that matters at the open: where are today’s decision prices, and which session created them?
Why pivots still work when so many indicators do not
Pivot levels are not a prediction system and they are not magic numbers. They work for a boring, structural reason: a very large number of participants compute the same prices from the same session data. Desk traders, automated execution algorithms, retail platforms, options market makers hedging gamma, and the risk systems that set intraday limits all reference some version of the prior session’s high, low, close and midpoint. When thousands of independent actors are watching the same round-ish number, order flow clusters there. Resting limit orders accumulate. Stops get parked just beyond. Breakout algorithms arm above and below. The level becomes a real feature of the order book, not a line on a picture.
This is why the prior day high and low are the two most respected intraday prices in every liquid market. They are unambiguous, they require zero calculation, and they represent the boundary of the last completed auction. When price approaches yesterday’s high, every participant knows it. Some are taking profit, some are initiating breakouts, some are defending short inventory. That concentration of intent produces the two behaviours you can actually trade: a clean rejection (the level holds, the auction fails, price rotates back toward value) or a clean acceptance (the level breaks, the market trades and holds above it, and the level flips from resistance to support).
Floor-trader pivots extend the same logic outward. The central pivot — the average of the session high, low and close — is a crude but effective estimate of fair value for the next session. R1 and S1 are the first symmetric projections around it. R2/S2 and R3/S3 mark progressively rarer excursions. On a statistical basis, most sessions in most markets spend the bulk of their time between S1 and R1, tag one of the second tiers on trend days, and only reach the third tier on genuine expansion days. That gives you an immediate framework for expectation: if price is pinned between S1 and R1 by 11:00, you are in a rotational session and you should be fading edges. If price accepted above R1 in the first hour, you are in a trend session and you should be buying pullbacks, not selling strength.
None of that requires you to believe pivots are predictive. It only requires you to accept that widely-shared reference prices attract order flow, and that knowing where the crowd is looking is a durable edge. TDU Pivots exists so that knowledge is on your chart before the bell instead of scribbled on a notepad.
The level taxonomy: main, central, support, resistance, directional
TDU Pivots groups every line it draws into a small number of families, and each family gets its own color, width and line style. This is deliberate. A chart with twelve identical thin lines is unreadable; a chart where you can tell at a glance whether a line is a support tier, a resistance tier or the day’s fair-value anchor is a decision tool. The families are:
- Main — the primary pivot line for the selected calculation family. Default dodger blue, 1px, solid. This is your fair-value anchor and the price you use to decide whether the session is bullish or bearish in the crudest, most useful sense.
- Central — the central pivot / central range levels. Default gold, 1px, dotted. On families that produce a central band rather than a single line, this is the band that defines balance.
- Resistance — every level projected above the anchor (R1, R2, R3 and their mids). Default crimson, 1px, solid.
- Support — every level projected below the anchor (S1, S2, S3 and their mids). Default forest green, 2px, dotted — intentionally the heaviest default so downside structure reads clearly on dark themes.
- Directional — levels whose meaning depends on which side of the anchor price is trading, i.e. breakout / reversal thresholds in the directional pivot families. Default peru brown, 1px, dotted.
- Prior day plots — Prior Day High, Prior Day Low and Prior Day Close, exposed as three independent plots with their own colors, widths and styles. Default white, 1px, solid.
The floor-trader family — the default PivotType setting, FloorTrader_Pivots — computes from the completed session’s high (H), low (L) and close (C) exactly the way the pits did it:
- PP = (H + L + C) / 3
- R1 = 2 × PP − L   S1 = 2 × PP − H
- R2 = PP + (H − L)   S2 = PP − (H − L)
- R3 = H + 2 × (PP − L)   S3 = L − 2 × (H − PP)
You do not need to memorise those, but you should understand one consequence of them: pivot spacing is a volatility read. R1–S1 width is a direct function of the prior session’s range. A day after a violently wide session produces a wide, loose grid where levels are far apart and each one carries more weight. A day after a compressed, inside session produces a tight grid where price can slice through three levels in a single impulse. Before you place a single trade, glance at the spacing. Tight grid means expect breakouts and do not over-trust individual tiers. Wide grid means expect rotation and give each level real respect.
The PivotType enum lets you switch calculation family without changing anything else about your setup — your session window, your styling and your placement rules all carry over. If your strategy is built around a different projection method, you select it once and the entire level grid recomputes.
Prior Day High, Low and Close: the three plots that matter most
TDU Pivots exposes three named plots: Prior Day Close, Prior Day High, and Prior Day Low. They are not decoration and they are not derived — they are the raw boundaries of the last completed auction, and in practice they generate more tradable reactions than any calculated pivot tier.
Prior Day High & Low
The edges of the last completed auction. These are the prices where breakout algorithms arm, where stops from yesterday’s losers sit, and where profit-taking from yesterday’s winners rests. A failed poke through the prior high is the single cleanest short trigger in intraday trading; a hold above it on retest is the cleanest continuation long.
Prior Day Close
The settlement reference. Everything above it is "up on the day" and everything below it is "down on the day" for the entire world of participants who mark performance to the close. It acts as a magnet in rotational sessions and as a hard line in the sand on gap days — gap fills terminate here.
Why they are separate plots
Because you want to style them differently from the computed tiers. Default white, solid, 1px keeps them visually distinct from the colored pivot families, so you can instantly tell an observed price (something the market actually traded) from a projected price (something arithmetic produced).
Gap logic without the spreadsheet
Open versus Prior Day Close gives you the gap. Prior Day High and Low tell you whether the gap opened inside or outside yesterday’s range — the single most important classification for the first 30 minutes of any session.
Here is the practical hierarchy most traders converge on after a few hundred sessions: prior day high and low > prior day close > central pivot > R1/S1 > R2/S2 > R3/S3. Observed prices beat computed prices. Nearby prices beat distant prices. When two levels from different families cluster within a few ticks — say R1 sitting almost exactly on the prior day high — you have a confluence zone, and confluence zones are where you want to be taking your highest-conviction trades. TDU Pivots makes those clusters visually obvious because the families are colored differently: a white line and a crimson line kissing each other is a much louder signal than two identical grey lines.
Mid-levels: the halfway prices where the market actually turns
Set ShowMidLevels to true and TDU Pivots adds the midpoints between each adjacent pair of levels — the halfway price between S1 and the central pivot, between the pivot and R1, between R1 and R2, and so on. These are commonly labelled M0 through M5, and traders who ignore them are usually the same traders who complain that "price never reaches my level."
Mid-levels matter because markets do not politely travel from one round pivot to the next. They stall. A very common intraday pattern is an impulse from the pivot toward R1 that runs out of buyers exactly halfway, holds there for twenty minutes, and then either resumes to R1 or fails back through the pivot. Without mid-levels that stall looks random. With mid-levels it is a defined decision point with a defined invalidation.
Three concrete ways to use them:
- Partial profit targets. If you are long from the pivot with a target at R1, the mid between them is where you scale out a third. It is the highest-probability location for the first meaningful pause, and taking something there turns a lot of scratch trades into small winners.
- Trend confirmation. In a genuine trend session, price slices through mid-levels without reacting. If price is stopping and rotating at every mid, you are not in a trend session — adjust your tactics from breakout continuation to range fading.
- Tighter stop placement. On a long taken at S1, a stop under S1 minus noise is often wider than you want. The mid below S1 gives you a structural, non-arbitrary intermediate reference for a tighter stop when your entry is precise.
Mid-levels are off by default for a reason: they double the number of lines on your chart. Turn them on when you are trading a wide-grid day where the tiers are far apart and you need intermediate structure. Turn them off on tight-grid days where they would just add noise. This is a per-chart toggle, so you can keep a mid-levels-on template for your primary execution chart and a clean version for your higher timeframe context chart.
Sessions, not calendar days: how SessionStart and SessionEnd change everything
This is the section that separates TDU Pivots from the free pivot indicator you already tried. The question "what was yesterday’s high?" has no single answer in modern markets, and getting it wrong shifts every level on your chart.
Consider ES futures. The contract trades nearly 23 hours. If you compute pivots from the full 24-hour session, your levels include the overnight Asian and European ranges — ranges created by thin liquidity and traders who are not participating in the US cash session. If you compute pivots from the regular cash session only (09:30–16:00 ET), you get levels that reflect where the actual size traded. Those two level sets can be dozens of points apart on a night when Europe sold off and the US recovered. One of them will produce clean reactions during your trading day. The other will produce lines that price ignores.
TDU Pivots gives you SessionStart and SessionEnd as explicit string times — defaulting to 9:30 AM and 4:00 PM, the US cash session — so you define exactly which auction produces your levels. This is the correct default for equity index futures, single stocks and ETFs. But it is fully editable, and here is how experienced traders set it per instrument:
- Equity index futures (ES, NQ, YM, RTY) — keep 9:30 AM to 4:00 PM. Cash-session pivots dominate because that is where institutional volume prints. Add the prior day plots and you have the whole map.
- Single stocks and ETFs — keep the default. Pre- and post-market prints will distort your high and low badly if you include them, especially around earnings.
- Energy and metals (CL, NG, GC) — many traders use the pit-equivalent window rather than the full electronic session, because that is when the physical hedging flow arrives. Set the window to match the exchange’s primary trading hours for that product.
- FX and 24-hour crypto — there is no natural bell, so you pick an anchor and stay consistent. Crypto traders most commonly use a 00:00–00:00 UTC day, which produces levels that a large share of the market shares. Others anchor to the CME futures session so that crypto levels line up with the regulated futures market. Both work; what does not work is switching anchors every week and wondering why your levels stopped reacting.
- Overnight / globex specialists — set the window to the overnight session itself so your pivots describe the auction you are actually trading rather than a cash session you slept through.
Pivots work because they are shared reference prices. A level nobody else computes is not a level — it is a personal opinion drawn horizontally. Pick the session your market’s participants actually use, write it into your template, and leave it alone. Consistency beats optimisation here.
PivotDisplay controls how much history gets levels. The default AllDays draws the level grid for every session visible on the chart, which is what you want for backtesting, journaling and reviewing how price behaved around pivots across weeks of data. Restrict it when you want a clean chart focused on the live session only.
LinesPlacement controls the horizontal extent of each line, and the default Session is the setting most people did not know they needed. With session placement, a level drawn from Monday’s data lives inside Tuesday’s session and stops at the boundary. The result is a chart where you can look at any day in history and immediately see which levels were in play that day — no ambiguity, no lines from three weeks ago cutting through today’s price action. Switch the placement mode when you want levels extended across the chart instead, which is useful when you are studying a single significant session’s levels as long-term reference prices.
ShowSessionBackground paints a translucent band behind the session window (default slate grey at 10% opacity), which makes the boundaries visible at a glance and instantly answers "is this bar inside or outside the session I care about?" On 24-hour instruments this single toggle transforms a wall of candles into a readable sequence of daily auctions.

How do I read TDU Pivots on the chart?
Read it in four passes, in this order. It takes about fifteen seconds once it becomes habit.
Pass 1: Where is price relative to the central pivot?
Above the pivot, your default bias is long and you are looking to buy pullbacks into support tiers. Below it, your default bias is short and you are looking to sell rallies into resistance tiers. This is deliberately crude, and it is the single most valuable filter on the chart because it stops you from fighting the session’s dominant flow. The pivot is not a signal; it is a permission slip.
Pass 2: How wide is the grid?
Measure the distance from S1 to R1 against the instrument’s typical daily range. Wide grid, expect rotation and respect each tier. Narrow grid, expect expansion and treat tiers as speed bumps rather than walls. This tells you whether to be a fader or a breakout trader today, before you have any other information.
Pass 3: Where did the session open?
Open inside the prior day’s range means yesterday’s value is still relevant and rotation is likely. Open outside the prior day’s high or low means a gap, and gaps have their own logic: the prior day extreme becomes the immediate battle line, and the Prior Day Close becomes the gap-fill target. Open above the prior high and hold means acceptance at higher prices; open above and fail back inside means a failed auction and a likely rotation all the way to the other side.
Pass 4: Where is the nearest confluence?
Scan for places where two or more levels from different families cluster — a resistance tier sitting on the prior day high, a support tier sitting on the prior day close, a mid-level overlapping the central pivot. Those clusters are your trade locations. Everything else is transit.
Then, during the session, you are watching for exactly two behaviours at each level. Rejection: price reaches the level, prints a wick, and closes back away from it — the level held, and you can trade back toward the previous level with a stop beyond the wick. Acceptance: price trades through the level and then builds above or below it — consecutive closes on the far side, pullbacks that hold the level as new support/resistance. Acceptance flips the level’s polarity, and the retest of a freshly flipped level is one of the highest-quality entries in intraday trading.
Turn on ShowPrice when you are learning. Having the numeric value printed next to each line trains you to think in prices rather than shapes, and it makes it trivial to type exact limit and stop orders instead of dragging them approximately.
How do I set up TDU Pivots in SabrTrader?
Start to finish, this is a two-minute job, and you only do it once because SabrTrader saves it into your chart template.
- Install or update SabrTrader. If you do not have it yet, grab the Windows installer from the free download. Premium indicators appear in the catalog once you are signed in on a Pro, Ultimate or Lifetime plan.
- Open the chart you actually trade. Pivots are context, so put them on your execution timeframe — typically a 1 to 15 minute chart, or a volume/range bar chart if that is your preference. They work on any bar type.
- Add the indicator. Open the indicator list, find TDU Pivots, and add it. Default settings immediately draw floor-trader pivots for a 9:30 AM–4:00 PM session across all visible days, with the three prior-day plots in white.
- Fix the session first. Before touching a single color, set SessionStart and SessionEnd for the instrument. This is the setting that determines whether your levels are meaningful. Everything else is cosmetics.
- Decide on placement. Leave LinesPlacement on Session for daily trading. Switch it if you need chart-wide extension for a specific study.
- Tune the visual density. Turn on ShowPrice if you want values labelled. Turn on ShowMidLevels if you trade wide-range instruments. Turn on ShowSessionBackground if you trade a 24-hour market and need boundaries visible. Use ShowAll as a single master switch to show or suppress the whole level set without losing your configuration.
- Style the families for your theme. Adjust support, resistance, central, main and directional colors, widths and line styles so the hierarchy reads instantly on your background. The defaults are tuned for dark charts; if you trade on white, raise the alpha and darken the greens and yellows.
- Set the label typography. TextFontFamily and TextFontSize (default 10) control the level labels. On a 4K monitor bump the size to 12–13; on a dense multi-chart layout drop it to 8–9.
- Manage the price axis. ShowPriceMarkers is the master toggle for this indicator’s price-axis labels. With a full pivot grid plus prior-day plots, the axis can get crowded — turn markers off here and keep the axis for your live price and orders.
- Save the template. Save it as a named chart template so every new chart opens with your pivot map already correct. Build one template per market family: index futures, energy, stocks, crypto.
Get TDU Pivots with your SabrTrader plan
Included in Pro, Ultimate and Lifetime — along with the rest of the premium suite. No add-on purchase, no per-indicator licence.
See pricing Download SabrTrader freeComplete settings reference
Every parameter, what it does, and how to think about it. Defaults are the values TDU Pivots ships with.
Calculation and session
| Setting | Default | What it does |
| ShowAll | True | Master visibility switch for the level set. Turn it off to hide everything without losing your configuration — useful when you want a clean chart for a screenshot or a discretionary read. |
| PivotType | FloorTrader_Pivots | Selects the calculation family used to project levels from the completed session’s high, low and close. Floor-trader pivots are the default and the most widely shared. Switching family recomputes the whole grid while keeping your session, placement and styling. |
| PivotDisplay | AllDays | Controls how many sessions receive levels. AllDays draws the grid for every session in view — ideal for review and backtesting. Restrict it for a minimal live chart. |
| SessionStart | 9:30 AM | Start of the session used for the calculation. The single most important setting in the indicator. Set it to the auction your market’s participants actually reference. |
| SessionEnd | 4:00 PM | End of the calculation session. Together with SessionStart this defines what "prior day" means on your chart. |
| LinesPlacement | Session | Horizontal extent of each level. Session keeps every level inside the session that owns it, so historical charts stay readable. Change it when you want levels extended across the chart. |
Display and labels
| Setting | Default | What it does |
| ShowPrice | False | Prints the numeric value beside each level. Turn on while learning or when you place exact limit and stop orders from the level values. |
| ShowMidLevels | False | Adds the midpoints between adjacent levels (M0–M5). Essential on wide-range days, noisy on compressed days. |
| ShowSessionBackground | False | Paints a translucent band over the session window so boundaries are obvious. Highly recommended on 24-hour futures, FX and crypto. |
| TextFontFamily | (chart default) | Font used for level labels. Leave empty to inherit the chart’s font. |
| TextFontSize | 10 | Label size in points. Raise on high-DPI displays, lower on dense multi-chart layouts. |
| ShowPriceMarkers | True | Master toggle for this indicator’s price-axis labels. Off hides every marker for this indicator regardless of per-plot settings — the fastest way to declutter a crowded axis. |
| Displacement | 0 | Shifts this indicator’s plots horizontally by N bars (positive = right / future, negative = left / past). Visual only — computed values are unchanged. |
Level family styling
| Family | Default color | Width | Style | Use |
| Main | Dodger blue (30,144,255) @ 60% alpha | 1 | Solid | The primary pivot anchor. Keep it distinct — this is your bias line. |
| Central | Gold (255,215,0) @ 60% alpha | 1 | Dotted | Central pivot / central range. The balance reference for the session. |
| Resistance | Crimson (220,20,60) @ 60% alpha | 1 | Solid | All upside tiers. Solid so upside structure reads as a hard ceiling. |
| Support | Forest green (34,139,34) @ 60% alpha | 2 | Dotted | All downside tiers. Heaviest default width so support is visible on dark themes. |
| Directional | Peru (205,133,63) @ 60% alpha | 1 | Dotted | Direction-dependent breakout / reversal thresholds in directional pivot families. |
Prior-day plots, zones and background
| Setting | Default | Notes |
| PriorDayHighColor / Width / Style | White @ 60% alpha, 1, Solid | The prior session’s high. Keep it white and solid so observed prices are visually separated from computed pivots. |
| PriorDayLowColor / Width / Style | White @ 60% alpha, 1, Solid | The prior session’s low. Pairs with the high to define the reference range you classify the open against. |
| PriorDayCloseColor / Width / Style | White @ 60% alpha, 1, Solid | The prior session’s close. The settlement magnet and gap-fill target. |
| ZoneColor | Dim grey (105,105,105) | Fill color for level zones. Use a neutral tone so it never competes with candles. |
| ZoneOpacity | 15 | Zone transparency. 10–20 is the sweet spot: visible enough to frame the area, faint enough to read price through it. |
| SessionBackgroundColor | Slate grey (112,128,144) | Fill for the session window band when ShowSessionBackground is on. |
| SessionBackgroundOpacity | 10 | Keep this low. The band should be felt more than seen — above 20 it starts fighting your candles. |
Every default in TDU Pivots uses roughly 60% alpha. That is intentional: levels are context, price is the subject. If your pivots are shouting louder than your candles, you will start trading the lines instead of the market. Reduce width and alpha until the grid recedes into the background and only becomes prominent when price is near it.
How to trade it: five named playbooks
These are complete, specific setups with entries, stops and invalidation conditions. Adapt sizing and stop distances to your instrument’s volatility; the structure is what transfers.
Playbook 1 — Open Drive from the Pivot
Context: Session opens at or very near the central pivot and drives directionally in the first 15–30 minutes without meaningful pullback. The grid is narrow (prior session was compressed), signalling expansion.
Entry: Wait for the first pullback that holds above the pivot (for longs). Enter on the reclaim of the pullback high, or on a limit at the pivot itself if you want a better price and accept a lower fill rate.
Stop: Below the pivot minus a volatility buffer — typically the low of the pullback swing. If the pivot cannot hold on a retest, the premise is gone.
Targets: M-level between pivot and R1 for the first scale, R1 for the second, prior day high or R2 for the runner.
Invalidation: Price closes back below the pivot and accepts there for more than two or three bars. Open drives that fail through the pivot usually revert to the opposite side of the range — do not average down.
Playbook 2 — Prior Day High Failure (the classic fade)
Context: Price grinds up to the prior day high late in the morning, prints a marginal new high by a few ticks, and immediately fails back inside the prior range. Best when the grid is wide and R1 or R2 sits nearby, creating confluence.
Entry: Short on the close back below the prior day high, or on the retest of the underside of that level after the failure.
Stop: Above the failure wick’s high. This is a tight, well-defined stop — the reason this setup has such attractive risk/reward.
Targets: Central pivot first, then the prior day close, then S1 if momentum builds.
Invalidation: A second push that closes and holds above the prior day high. One marginal break is a failure; two acceptances is a trend. Exit and consider flipping via Playbook 3.
Playbook 3 — Acceptance Flip Retest
Context: Price breaks a significant level — prior day high, R1, or the central pivot — and then builds above it: consecutive closes above, shallow pullbacks, no immediate rejection. The level has flipped polarity from resistance to support.
Entry: Buy the first pullback that touches the flipped level and holds. Best executed with a limit order sitting a tick or two above the level so you get filled on the wick.
Stop: Below the flipped level by a volatility buffer. If price re-enters the old range and stays, the flip failed.
Targets: The next tier up — the mid, then R1 or R2. On trend days let a runner go with a trailing stop under each newly flipped level.
Invalidation: A close back below the flipped level followed by acceptance. This is the highest-quality pivot setup that exists, and its invalidation is unusually clean, which is exactly why it is worth waiting for.
Playbook 4 — Pivot Range Rotation
Context: Wide grid after a big-range session. By mid-morning price is oscillating between S1 and R1 with no acceptance outside. Mid-levels turned on. This is the most common session type in index futures.
Entry: Sell into R1 and buy into S1 with limit orders, requiring a rejection signature — a wick, a failed push, decelerating momentum — before adding size. Scale in across a few ticks rather than committing at one price.
Stop: Beyond the tier plus a buffer, or beyond the next mid-level if you want more room. Size down so the wider stop keeps risk constant.
Targets: The central pivot as primary target, with a partial at the intervening mid-level. Do not hold rotation trades for the far edge — take the middle.
Invalidation: Acceptance outside the tier. The moment R1 or S1 is accepted, the session has changed character from rotation to trend. Stop fading immediately and switch to Playbook 3.
Playbook 5 — Gap Fill to Prior Day Close
Context: Session opens outside the prior day’s range. The gap is not immediately continued — the first 15 minutes show rejection back toward the prior range rather than expansion away from it.
Entry: On the reclaim of the prior day extreme in the direction of the fill. A gap up that fails back below the prior day high is a short toward the prior day close.
Stop: Beyond the session extreme created in the first 15 minutes. If the market makes a new session high after your entry, the gap is being defended and the fill premise is dead.
Targets: Prior Day Close is the primary target — that is where the statistical gap fill completes. Take the majority off there. If it slices through, the central pivot and the opposite tier become extension targets.
Invalidation: Acceptance outside the prior day range in the gap direction. Gap-and-go days will run you over if you keep fading them; require the failure signature first.
Every one of these playbooks has a defined invalidation, and every invalidation is a structural event, not a dollar amount. That is the real benefit of trading from a level map: your stop is placed where the idea is wrong, not where your discomfort begins.
How do I combine TDU Pivots with the rest of the suite?
Pivots tell you where to look. They do not tell you what is happening when price gets there. That is what the rest of the SabrTrader premium suite is for, and the combination is considerably stronger than any single tool.
Pivots + Footprint
Price arrives at R1. Is it being absorbed or is it breaking? The Footprint chart shows you the bid/ask execution at that exact price — heavy sell absorption into a stalling tape says fade it; aggressive buying lifting offers through it says get out of the way. Pivots choose the price, footprint times the trigger.
Pivots + Volume Profile
The most powerful confluence in intraday trading is a pivot level sitting on a volume profile node. R1 on top of a high-volume node is a wall — two independent methods agreeing. R1 sitting in a low-volume gap is a level price will slice through. Check the profile before you decide how much to trust a tier.
Pivots + Market Structure
Market Structure tells you whether the swing sequence is making higher highs or lower lows. Fading R1 in an uptrending structure is a low-quality trade; fading R1 after structure has already broken down is a high-quality one. Structure filters direction, pivots supply location.
Pivots + TDU Price Action
TDU Price Action gives you the candle-level confirmation signature at the level — the rejection, the engulf, the failed continuation. Use it as your entry trigger once a pivot has been reached, so you stop entering on hope and start entering on evidence.
A practical multi-chart layout: main execution chart with TDU Pivots plus footprint, a second chart with volume profile and market structure for context, and a third higher-timeframe chart with pivots only and chart-wide line placement to see the bigger reference prices. All three save as templates and all three open in seconds. Browse the full toolkit on the premium indicators page.
Works on every market
TDU Pivots is instrument-agnostic. It needs a session definition and OHLC data, and nothing else. What changes across markets is how you configure it.
- Index futures — ES, NQ, YM, RTY, and their micros. Cash session 9:30–16:00, mid-levels on for wide-range regimes, session background on because these trade nearly round the clock. The prior day high and low are extremely well respected here.
- Energy and metals — CL, NG, GC, SI. Use the primary trading hours for the product. These markets trend hard, so Playbook 3 (acceptance flip) is your bread and butter and Playbook 4 (rotation fade) needs more caution.
- Treasuries and rates — ZB, ZN, ZF. Tick-precise instruments where the numeric labels from ShowPrice pay for themselves. Grids are usually tight; respect the expansion-day read.
- Single stocks and ETFs — keep the default session so pre-market prints do not distort the high and low. On earnings gaps, Playbook 5 and the Prior Day Close are the whole trade.
- Crypto — BTC, ETH and every alt pair, spot or perpetual. There is no bell, so choose a consistent anchor (UTC day is the most widely shared) and stick with it. The hero screenshot on this page is a BTC/USDC chart, and the level behaviour is indistinguishable from futures: rejections at the prior session extremes, acceptance flips, rotation between tiers. Crypto’s 24-hour nature makes ShowSessionBackground close to mandatory.
- FX — anchor to a session that matters for the pair, typically the London or New York window rather than a raw calendar day.
Bar type does not matter either. Time bars, tick bars, volume bars, range bars — the session calculation runs off the underlying data, so your levels are identical regardless of how you choose to aggregate price. That means the pivot grid on your 512-tick chart matches the grid on your 5-minute context chart exactly, which is precisely what you want when you are reading two timeframes side by side.
How it compares
Every platform has a pivot indicator. Here is what changes when the session handling, styling and placement are actually engineered.
| Capability | TDU Pivots in SabrTrader | Typical free pivot script | Manual horizontal lines |
| Session definition | Explicit SessionStart / SessionEnd, editable per chart and saved in templates | Calendar day or fixed exchange session, usually not editable | Whatever you eyeballed this morning |
| Prior day High / Low / Close | Three first-class plots with independent color, width and style | Sometimes present, rarely styleable | Manual, and wrong the moment you forget |
| Mid-levels | Single toggle, computed for every tier | Occasionally, often only for R1/S1 | Not realistic to maintain |
| Line placement | Session-locked or chart-wide, your choice | Usually extended forever, cluttering history | Whatever you drew |
| Level family styling | Separate color / width / style for main, central, support, resistance, directional | One color for everything, maybe two | All the same unless you style each line by hand |
| Historical review | AllDays draws the grid for every visible session, so you can journal and backtest reactions | Current day only, or history that is unreadable | Impossible beyond a few days |
| Session background | Translucent band with color and opacity control | Rare | No |
| Price-axis control | Master ShowPriceMarkers toggle for the whole indicator | All-or-nothing per plot, or no control | Axis clutter guaranteed |
| Performance on deep history | Native Windows rendering, scrolls months of data smoothly | Often laggy with many drawing objects | Slow to maintain, not to draw |
| Cost | Included in Pro, Ultimate and Lifetime — not an add-on | Free but limited | Free but error-prone |
The honest summary: the arithmetic in a free pivot script is usually correct. What it lacks is control — over which session feeds the calculation, over how much history is drawn, over how the levels are visually ranked, and over where each line starts and stops. Those four things are the difference between a chart you glance at and a chart you trade from.
Common mistakes and how to avoid them
Why do my levels look wrong?
Ninety percent of the time it is the session window. If your pivots do not match what other traders in your market are quoting, check SessionStart and SessionEnd against the session your market actually references, and confirm your chart is on the timezone you think it is. A one-hour offset around a daylight-saving change will silently shift every level.
Trading the line instead of the reaction
A level is a location, not a signal. Entering a limit order at R1 with no evidence of rejection is a coin flip with a stop attached. Wait for the market to show you that the level is being defended — a wick, a failed continuation, absorption on the footprint — and then act. The level tells you where to be attentive; the tape tells you when to be involved.
Too many lines
Full grid plus mid-levels plus prior-day plots plus a session band plus your own drawings equals a chart you cannot read. Use ShowAll to strip back, turn off mid-levels on tight-grid days, and drop ShowPriceMarkers so the axis stays clean. A pivot chart should look sparse until price approaches something.
Ignoring grid width
Traders who fade tiers on expansion days and chase breakouts on compression days are fighting the structure of the day. Read the S1–R1 width before you form a plan and let it choose your tactics for you.
Switching session anchors
Especially in crypto. If you use a UTC day this week and a CME session next week, your levels stop being shared reference prices and start being noise. Pick one, template it, forget about it.
Put the map on your chart before the next open
TDU Pivots, Volume Profile, Footprint, Market Structure and the full TDU family are all included in Pro, Ultimate and Lifetime.
Explore premium indicators See platform featuresFrequently asked questions
What is TDU Pivots and what does it actually draw?
It draws a structured grid of session reference prices: a main pivot anchor, a central pivot level, three tiers of support and resistance, optional mid-levels between each tier, and three dedicated plots for the prior session’s High, Low and Close. Every family has independent color, width and line style, and every level is anchored to the session that produced it. The calculation family is selected with the PivotType parameter, defaulting to classic floor-trader pivots.
How do I add TDU Pivots to a chart in SabrTrader?
Open the chart you trade, open the indicator list, search for TDU Pivots and add it. It draws immediately with defaults — floor-trader pivots on a 9:30 AM–4:00 PM session, all visible days, prior-day plots in white. Then set your session times, adjust visual density, and save a chart template so every future chart inherits the configuration.
How do I change the session used for the calculation?
Edit SessionStart and SessionEnd. They accept plain time strings and default to 9:30 AM and 4:00 PM, the US cash session. For a 24-hour crypto market set a full-day window anchored to a time other participants use (UTC midnight is the most common). For energy or metals use the product’s primary trading hours. For overnight trading, define the overnight window itself. Save one template per market family so you never have to re-enter it.
How do I show the price value next to each level?
Set ShowPrice to true. Level labels then display the numeric value, which makes it trivial to enter exact limit and stop prices rather than dragging orders approximately. Control label appearance with TextFontFamily and TextFontSize (default 10).
How do I turn on mid-levels, and when should I use them?
Set ShowMidLevels to true. Use them when the pivot grid is wide — after a large-range session — because that is when price needs intermediate structure and when your targets are far enough apart to justify scaling out at the halfway prices. Turn them off on compressed days where they only add clutter.
Why do my pivot levels stop at the edge of each day?
Because LinesPlacement is set to Session, which is the default and usually what you want. It keeps each level inside the session that owns it, so historical charts stay readable and you can always tell which grid was live on any given day. If you prefer levels extended horizontally across the chart, change the placement mode.
Why are the prior day high, low and close separate from the pivots?
Because they are fundamentally different information. Pivot tiers are projected prices produced by arithmetic. The prior high, low and close are observed prices the market actually traded. Observed prices attract more order flow, so they deserve their own styling — white and solid by default — to keep them visually distinct. They are exposed as three real plots with independent color, width and style settings.
How do I trade the prior day high?
Two ways, and they are opposites, so you must let the market choose. If price pokes marginally above and immediately closes back inside the prior range, that is a failed auction: short the reclaim with a stop above the wick and target the central pivot and prior day close. If price trades above and then builds there — consecutive closes above, shallow pullbacks — that is acceptance: buy the retest of the level from above with a stop back inside the range and target the next resistance tier. Rejection and acceptance are the only two things a level can do.
What is the difference between rejection and acceptance at a level?
Rejection is a touch and an immediate move away — a wick, a failed close beyond, price returning to the prior side within a bar or two. Acceptance is time and closes on the far side: the market trades through and then does business there, treating the old level as new support or resistance. Rejection gives you a fade trade with a tight stop. Acceptance gives you a continuation trade on the retest. Confusing the two is the most expensive error in level trading.
Why do the levels move every day?
Because they are recomputed from each completed session. A new high, low and close means a new grid. That is the point — pivots are a fresh map of the most recent auction, not a permanent structure. What stays constant is your method: same session definition, same families, same playbooks, new prices.
How do I see pivots for past sessions to review my trades?
Keep PivotDisplay on AllDays and leave LinesPlacement on Session. Every visible session then shows the grid that was actually live on that day, cleanly bounded, so you can scroll back weeks and journal exactly how price behaved at each tier. This is the fastest way to build genuine confidence in which levels your instrument respects.
Why is my chart too cluttered with pivot lines?
Reduce in this order: turn off ShowMidLevels, turn off ShowPriceMarkers to clear the price axis, lower line widths and alpha values so the grid recedes, and turn off ShowSessionBackground if you do not need session boundaries on that particular chart. If you need a completely clean chart momentarily, flip ShowAll to false — your configuration is preserved.
How do I make the session boundaries visible on a 24-hour market?
Set ShowSessionBackground to true. A translucent band (slate grey at 10% opacity by default) is painted over the session window, so you can instantly see which bars belong to which auction. Adjust SessionBackgroundColor and SessionBackgroundOpacity to taste, but keep the opacity low so it never competes with your candles.
How do I combine pivots with volume profile and footprint?
Use pivots to choose the price, volume profile to grade the price, and footprint to time the entry. A resistance tier that lines up with a high-volume node in the volume profile is a level worth trading; the same tier sitting in a low-volume gap will likely be sliced. Once price arrives, the footprint shows you whether aggressive orders are being absorbed or whether the level is being taken out. Add Market Structure so you are not fading a level against a clearly trending swing sequence.
Does TDU Pivots work on stocks and crypto, or only futures?
All of them. It needs a session definition and price data. The hero example on this page is BTC/USDC, and it behaves the same way on ES, NQ, CL, gold, individual equities, ETFs and FX pairs. The only thing that changes is the session window you configure and how much you trust individual tiers given each market’s volatility character.
What does the Displacement setting do?
It shifts this indicator’s plots horizontally by N bars — positive to the right / future, negative to the left / past. It is purely visual; the computed values are unchanged. Most traders leave it at 0. It is occasionally useful when you want the level labels offset away from a busy area of price so they stay readable.
Is TDU Pivots an extra purchase?
No. It is included in the Pro, Ultimate and Lifetime plans along with the rest of the premium suite — volume profile, footprint, market structure and the full TDU family. There is no separate add-on fee and no per-symbol licensing. See pricing for the plan comparison, or download the platform first and explore the free tools before you decide.
How do I get started today?
Download SabrTrader for Windows, open a chart on the instrument you trade, add TDU Pivots, set your session window, and save a template. Then spend one session doing nothing but watching how price behaves at the prior day high, the prior day low, the prior day close and the central pivot. By the end of that session you will know which levels your market respects — and that knowledge is what the rest of the playbooks are built on.
Start with the map, not the guess
Install SabrTrader free, add TDU Pivots, and trade from levels that are anchored to the session your market actually uses.
Download SabrTrader free Compare plans