Three-Session Volume ProfileOverview
Three-Session Volume Profile divides intraday trading into three independently configurable sessions: Asia, London, and New York. Instead of combining the entire trading day into one profile, the indicator resets its calculations at the beginning of each session and displays a separate Volume Profile, Point of Control, Value Area, VWAP, and optional deviation bands for each period.
This structure is intended for traders who analyze how price and volume distribution change as market participation moves between global trading sessions. Each session is treated as its own auction, making it possible to compare where volume was accepted during one session with how price behaves during the next.
The default schedules use the America/New_York time zone:
Asia: 18:00–03:00
London: 03:00–09:30
New York: 09:30–16:00
All schedules and the time zone are configurable. The America/New_York setting automatically accounts for daylight-saving changes.
Why the components are combined
The Volume Profile, session VWAP, and deviation bands are not calculated as unrelated indicators. They all use the same independently resetting session windows.
The Volume Profile describes how the session’s volume was distributed across price. VWAP provides the session’s volume-weighted mean price, while the deviation bands describe dispersion around that mean. Together, they provide two complementary views of the same session:
Volume Profile identifies price areas with relatively high or low participation.
POC identifies the profile row containing the most allocated volume.
VAH and VAL define the boundaries of the selected value area.
VWAP represents the session’s volume-weighted average price.
Deviation bands provide context for how far price is trading from the session’s weighted mean.
The purpose of this combination is to provide a consistent session-based framework rather than merge unrelated studies.
Volume Profile calculation
For each active session, the indicator tracks the session high, low, and volume. The complete session range is divided into a configurable number of equally sized price rows.
Because standard chart data does not provide the exact price of every transaction, each chart bar’s volume is allocated across the profile rows intersected by that bar’s high-low range. The allocation is proportional to the amount of the bar’s range overlapping each row. A bar with no measurable range has its volume assigned to the row containing its representative price.
The profile is recalculated when the session’s price range expands. This keeps the rows distributed across the complete developing session range.
The Rows setting controls profile resolution and supports values from 12 to 200. More rows provide finer price segmentation but also increase calculation requirements. The profile is based on chart bars rather than tick-by-tick or lower-timeframe transaction data, so changing the chart timeframe can change the resulting distribution.
POC and Value Area calculation
The Point of Control , or POC, is the midpoint of the profile row containing the greatest allocated volume.
The Value Area begins at the POC row. The calculation then compares the next available row above and below the current Value Area and adds the side containing more volume. This process continues until the selected percentage of total session volume has been included.
The resulting levels are:
VAH: Upper boundary of the Value Area
VAL: Lower boundary of the Value Area
POC: Midpoint of the highest-volume profile row
The default Value Area contains 70% of session volume, but this percentage can be adjusted.
Developing and completed levels
While a session is active, the developing VAH , VAL , and POC can be displayed. These levels update as new price and volume information enters the session.
When the session ends, the final profile and levels are stored as completed session values. The number of completed profiles retained for each session can be controlled from the settings.
Developing values are expected to move. A new session high or low changes the profile range and can cause all rows to be redistributed. Completed levels remain fixed unless the chart data, timeframe, symbol, session schedule, or indicator settings are changed.
Session VWAP and deviation bands
The optional VWAP calculation resets independently at the beginning of each session. It uses HLC3 as the representative bar price and weights it by volume.
The session VWAP is calculated as:
Volume-weighted price sum ÷ Session volume sum
The standard deviation calculation is also volume-weighted. The selected multiplier is applied above and below VWAP to produce the upper and lower bands.
These bands are descriptive measurements of session dispersion. They are not automatic overbought or oversold signals.
Profile placement
Each profile can be positioned on either side of its own session:
Left: Anchors the profile to the session opening edge and extends it to the right.
Right: Anchors the profile to the session closing or current edge and extends it to the left.
This setting refers to the boundaries of each session, not the far-left or far-right edge of the visible chart.
The Maximum width setting controls the profile’s horizontal display width in chart bars. It changes only the visual width and does not affect the underlying volume calculations.
How to use the indicator
1. Configure the time zone
Select the time zone used to interpret all three schedules. America/New_York is suitable when session times should follow Eastern Time and adjust automatically for daylight saving.
Use a fixed UTC offset only when daylight-saving adjustment is not desired.
2. Configure the sessions
Set the opening and closing time for Asia, London, and New York. Overnight schedules, such as 18:00–03:00, are supported.
The sessions may overlap if desired. When they overlap, each session continues to calculate independently.
3. Select profile resolution
Increase the number of rows for more detailed price segmentation. Lower values produce broader profile levels and require fewer calculations.
Profile precision also depends on the chart timeframe. Lower chart timeframes generally provide more granular source bars, while higher timeframes provide a broader approximation.
4. Select the Value Area percentage
The standard default is 70%. Increasing the percentage produces a wider Value Area, while reducing it produces a narrower area around the POC.
5. Choose completed or developing levels
Developing levels can be used to observe how the current session’s distribution changes. Completed levels provide fixed references from prior sessions.
Traders may examine whether price:
Accepts or rejects a previous session’s Value Area
Rotates around a prior POC
Moves from one session’s value region toward another
Holds above or below a prior VAH or VAL
Trades near or away from the active session VWAP
These are contextual observations rather than predefined entry or exit signals.
6. Enable VWAP and deviation bands if needed
VWAP can provide a session-weighted reference price alongside the distribution-based profile. Deviation bands can be enabled to visualize dispersion around that reference.
Interpretation
A wide section of the profile represents a row receiving relatively more allocated volume. A narrow section represents relatively less allocated volume.
POC and Value Area levels identify areas of historical participation, but they do not guarantee future support or resistance. Their interpretation depends on market structure, volatility, liquidity, instrument type, and the trader’s broader methodology.
On centralized futures markets, the script uses the exchange-reported volume available on the chart. On markets where only tick volume is available, the profile reflects that data instead of centralized transaction volume.
Recalculation and limitations
The indicator does not request future data or use lookahead calculations. Completed sessions are based only on bars belonging to those sessions.
Developing profiles and levels update during the active bar as its high, low, and volume change. This is normal real-time recalculation and should not be interpreted as a fixed signal.
The profile is an approximation created from chart-bar ranges and volume. It is not a tick-level bid/ask profile, footprint chart, or reconstruction of individual transactions. Results can differ from volume-profile tools that use lower-timeframe or transaction-level data.
This indicator is an analytical tool and does not provide trade entries, exits, profit projections, or guarantees of future performance. Indikator

TPO Market Profile, Value Area, POC & Initial Balance [LunqFX]A volume profile answers how MUCH traded at each price. A Market Profile answers a different question: how LONG price stayed there. This indicator draws the second one — a TPO profile, built letter by letter from the session's own half-hour brackets, with the Point of Control, the Value Area and the Initial Balance that come with it.
That distinction is the whole reason Market Profile exists as a separate discipline. Price can sit on a level for four hours on thin volume, and a volume profile will draw a narrow bar there while the auction was in fact spending most of its day at that price. Time at price and volume at price are two different maps of the same session, and they routinely disagree about where value actually is.
TPO stands for Time Price Opportunity, and the profile is the shape those opportunities build. It is the same structure floor traders assembled by hand before screens existed, which is why the Point of Control, the Value Area and the Initial Balance are named the way they are rather than the way a modern indicator would name them.
Included: TPO letters per session, the Point of Control, a value area at a percentage you choose, the Initial Balance of the first hour, levels extended to the right, a dashboard reading where price sits against that structure, and alerts on acceptance outside value and on the initial balance breaking.
❶ THE PROFILE AND WHAT IT COUNTS
The session is split into brackets of thirty minutes by default. Bracket one is A, bracket two is B, and so on. A bracket is credited to a price row when it traded anywhere inside that row, and each row is then drawn to the length of the count it collected.
The counting rule matters more than it sounds: a bracket counts ONCE for a row however many bars of that bracket touched it. That single rule is what makes the result a measure of time rather than of activity, and it is the entire difference from the volume profile beside it on your chart.
Brackets are cut from elapsed session time rather than from bar count, so the same profile appears whether you run the chart on 5 minutes or on 15.
A bracket can never be finer than a bar, and the script enforces that rather than letting you ask for something the chart cannot deliver. Request thirty-minute brackets on a one-hour chart and every bar would jump the counter by two, leaving half the brackets empty and the letter view printing A, C, E with the gaps missing. The bracket size is floored at the chart's own timeframe, and the dashboard shows the size actually in use.
The classic letter view — A, B, C printed at every price the bracket reached — is in the settings, and it is worth knowing why it is not the default. A true TPO grid needs one text object per row per bracket: forty rows across twenty-six brackets is more than a thousand objects for one session, against a platform cap of five hundred for the whole script. Packing each row's letters into a single text object instead runs into a second wall, because Pine centres a label's text on its anchor and gives no way to left-align it, so the profile spreads both ways from the anchor and lands on top of price. Rows drawn to their own length say the same thing and can be read at a glance. Both views are one setting apart, and there is a shift control for moving either clear of the candles.
❷ POINT OF CONTROL — THE POC
The price row that collected the most brackets — the price the session spent the most time at. It is drawn as a solid line and its row of letters is coloured gold.
A volume profile has a POC too, and the two are frequently at different prices on the same day. That gap is worth looking at: a volume POC well away from the time POC means the heavy trading and the long acceptance happened in different places, which is usually where the day's argument was.
The POC is where the auction found agreement. Traders use it as the session's magnet: price that leaves it tends to come back to it, and a session whose POC is far from its close often has unfinished business there.
❸ VALUE AREA
The band containing the chosen share of the session's total time, seventy percent by convention. It is built the classic way: start at the Point of Control, then step outward one row at a time, always taking whichever neighbouring row holds more time, until the target is enclosed.
Rows inside the value area are drawn bright; rows outside are dimmed. What you are looking at is the difference between where the market agreed on price and where it merely passed through.
❹ INITIAL BALANCE
The high and low set during the first two brackets — the first hour of the session on default settings. Drawn as two dotted lines.
The Initial Balance is the day's opening statement. A session that spends the rest of the day inside it is balanced and rotational, and its edges are the fade. A session that leaves it early has found a direction, and the break level becomes the reference for the rest of the day. The dashboard says which of the two is happening.
❺ THE DASHBOARD
A header that reads IN VALUE, ABOVE VALUE or BELOW VALUE according to where price sits against the developing profile, the number of brackets built so far, the Point of Control, both value area edges, the Initial Balance range, and whether that balance is still holding.
HOW TO USE IT
1 — Read the header first. In value means the session is balanced and the edges are the trade. Above or below value means price is away from agreement and either seeking a new one or coming back.
2 — Use the Point of Control as the session's magnet. It is the single most-referenced price of the day and the most common target for a return move.
3 — Watch the Initial Balance in the first two hours. Holding inside it points to a rotational day; leaving it early points to a directional one, and that judgement changes which of the levels above are worth trading.
4 — Compare today's value area with yesterday's. Higher value against lower value is the cleanest read of whether the auction is migrating, and it is visible at a glance once several sessions are on the chart.
5 — Read it beside a volume profile, not instead of one. Where the two disagree — heavy volume at a price the market barely spent time at, or the reverse — is where the most information is.
HOW IT WORKS
Sessions come from the symbol's own trading day, so nothing has to be configured per market. Elapsed session time in minutes divided by the bracket size gives each bar its bracket number, which keeps letters tied to the clock rather than to bar count.
When a session closes, its range is divided into the chosen number of rows. For every row the script walks the session's bars and marks which brackets overlapped that row, then counts the distinct brackets and builds the letter string. The row with the highest count becomes the Point of Control. The value area grows outward from it, one row at a time toward whichever neighbour holds more, until the chosen share of total brackets is enclosed. The Initial Balance is the extreme high and low among bars belonging to brackets one and two.
A completed session is drawn once and never touched again. The developing session is rebuilt once per closed bar.
Best used on intraday charts from 5 to 30 minutes, on instruments with a defined session — index futures and CFDs, gold, forex majors, large-cap crypto.
LIMITATIONS — read before relying on any of it
▸ This is a bar-based approximation of a floor-based technique. Classic TPO is built from every price the market printed during a bracket; here a bracket is credited to a row when any bar of that bracket overlapped the row. On low timeframes the two are nearly identical; on higher ones a single wide bar credits its bracket to more rows than the market may truly have spent time in, and the profile widens accordingly. Use 5 to 30 minute charts and the difference stays small.
▸ It needs an intraday chart. A profile is built from many bars inside one session, so on a daily chart or higher a single bar IS the session and there is nothing to divide. The script draws nothing there and the dashboard says so rather than printing a meaningless block. Use 5 to 30 minutes.
▸ Sessions are the symbol's own trading day. On a market that trades around the clock that is the calendar day in exchange time, which is a convention rather than a real auction boundary. Crypto profiles are therefore useful for structure but not for session theory in the futures sense.
▸ Only the most recent sessions are built. Older sessions are skipped entirely rather than drawn and discarded, because building every session of a long history is enough to time the script out. Scroll back far enough and the profiles stop.
▸ The first session on a freshly loaded chart can be partial. The script starts counting a session from the first bar it is given, and if the chart begins in the middle of a trading day that profile covers only the part it could see. It is normally out of range of the sessions actually drawn, but on a very short chart it is the one to distrust.
▸ The row count changes the shape. More rows give a finer profile with a more precise Point of Control; fewer rows smooth it. Two readings are only comparable at the same row count.
▸ The letter view is a compromise, and the default block view exists because of it. Pine caps a script at five hundred drawing objects and centres a label's text on its anchor with no way to left-align it, so neither a true letter grid nor a clean left-anchored letter column is possible. If you switch the letters on, expect them centred on the anchor rather than laid out as a terminal would lay them out.
▸ There is a hard platform limit on drawings. With the default forty rows and five sessions the script stays well inside it, but raising both together will start dropping the oldest rows.
▸ The Initial Balance is the first two brackets, which is one hour on default settings. Traders who define it differently should change the bracket size rather than expect the level to move.
▸ None of this predicts anything. A profile describes an auction that has already happened.
WHY IT IS ORIGINAL
Time at price and volume at price are different measurements, and this publication implements the first. The counting rule — one credit per bracket per row regardless of how many bars touched it — is what separates the two, and it is stated openly here rather than left inside the code.
The parts belong together because they are one object read at four resolutions. The letters are the raw shape. The Point of Control is its densest point. The value area is the band that shape encloses. The Initial Balance is the first hour of it, kept separate because the day's character is decided there. Remove the letters and the levels float above nothing; remove the levels and the shape has to be read by eye.
SETTINGS
▸ Profile — bracket size in minutes, price rows per session, value area percentage, how many sessions to keep. The bracket size is floored at the chart's timeframe, and the profile width is capped at the session's own bar count, so neither setting can be pushed into a state the chart cannot render honestly. ▸ Levels — Point of Control, value area edges, initial balance, and how far levels extend to the right. ▸ Visuals — blocks or letters, profile width and transparency, letter size, how far to shift the profile sideways, neon candles, dashboard and its position.
ALERTS — accepted above value, accepted below value, initial balance broken up, initial balance broken down. All fire on closed bars.
NON-REPAINTING — a completed session's profile is drawn once from closed bars and is never recalculated. Only the developing session updates, and it rebuilds once per closed bar rather than tick by tick.
This indicator is an educational market-analysis tool, not financial advice. It describes the structure of sessions that have already completed and does not predict future prices. Always confirm with your own analysis and manage your risk. Indikator

Smooths Session Volume ProfileOverview
Smooths Session Volume Profile (SSVP) is built around a single volume-splitting engine that feeds three different views of the same underlying data: a per-bar footprint table, a compact mobile dashboard, and a session-scaled Volume Profile with Point of Control, Value Area, and Imbalance detection. Every number shown anywhere in the script traces back to one buy/sell volume calculation performed once per bar.
Why these are one script, not a mashup
The footprint table and the Volume Profile are not two indicators placed side by side — they are two resolutions of the identical volume model. The table shows that model at full per-bar detail over a short recent window; the profile aggregates the exact same bar-level buy/sell split over whichever session(s) the user selects. The session tools (highlight boxes, session-based profile scaling, Naked POC) extend that one model with time-of-day awareness rather than adding a separate feature. Removing the table would not simplify the script's purpose, it would just remove one lens on the same data the profile already uses.
Concepts used
Selectable volume engine: Geometric splits each bar's volume by where it closed inside its own high-low range. Intrabar reads real up/down volume from a lower timeframe via TradingView's own ta library. Footprint reads TradingView's native per-tick request.footprint() data (Premium/Ultimate plans only). Every other calculation in the script consumes whichever engine is active, unchanged.
Per-bar truncated-normal volume split: rather than splitting a bar's volume evenly across the ticks it traded, the script models the buy side and the sell side as separate truncated normal distributions inside the bar's own high-low range, centered toward where the bar actually closed. This produces a continuous, weighted density instead of a flat histogram bar.
Volume Profile as a summed density: the same per-bar truncated-normal components are summed across every included bar into one continuous curve, which is then sampled to locate the Point of Control (the price of maximum combined density), the Value Area (the narrowest band containing a chosen percentage of the modeled volume), and diagonal volume imbalances between adjacent price levels.
Session-aware scaling: Asia, London, and New York are each tracked independently — the script knows whether a session is currently forming or was last completed, and the profile can be built from the live union of whichever sessions are toggled on, instead of a fixed bar count.
Naked POC: the instant a session's occurrence closes, that session's own standalone Point of Control is computed independently of the combined profile and kept on the chart as an untested level until price actually trades back through it.
Self-checking math: the Overlap reading (OVL) measures what share of buy and sell volume occurred at the same prices, from 0 (fully separated, directional) to 1 (fully overlapping, balanced/rotational). The Residual reading (RES) independently re-integrates the density model and compares it back to the real volume it's supposed to represent, in parts-per-million, so the script can flag its own modeling error rather than silently drawing a profile that doesn't add up.
How to use it
Add it to any chart and timeframe. Use the Volume Profile's POC as a magnet level and its Value Area edges as boundaries between accepted and rejected price. Diagonal imbalances mark price levels where one side of the market overwhelmed the other. Toggle individual sessions in and out of "Include in Profile" to isolate one session's structure or build a composite of several. Switch to the footprint table or the mobile dashboard for the identical volume data at per-bar resolution instead of session-aggregated.
Originality
The per-bar truncated-normal volume model — shared by the footprint table and the Volume Profile alike — is the mechanism this script is built around, not an assembly of standard metrics. Session-aware profile scaling, Naked POC seeded independently per session, and the self-checking Residual metric are not reused from another publication; the detection, modeling, and rendering logic here were written for this script.
Inputs
Volume Profile — Profile Period/Session Scaling mode, Style (Line/Columns/Histogram), Width/Resolution, Gap From Chart, bell colors and fill
Session Profile Scaling — per-session time windows, time zone, Include in Profile and Show Highlight toggles, highlight colors
Metrics — Point of Control, Value Area, Imbalance thresholds, Naked POC, Balance Tilt, Residual Tolerance
Data Engine — volume engine selection and its parameters
Table Display — footprint table and mobile dashboard appearance
This indicator has no buy/sell signals, alerts framed as trade calls, or strategy logic — it is a volume-analysis tool. It does include TradingView alertcondition() entries for session starts and Overlap-state changes, which fire on data conditions, not trade recommendations. Indikator

MarketMaulers Volume ProfileMarketMaulers Volume Profile is a volume profile that tells you how accurate it is.
Price tells you where the market went. Volume tells you where it mattered. A profile splits the window into horizontal rows and measures how much traded inside each one, so you can see where the auction did business and where it merely passed through. That part every profile tool does. This one adds the number none of them report.
THE ACCURACY PROBLEM NOBODY MENTIONS
A profile needs to know where INSIDE each bar the volume traded. On a 5m chart a single bar might cover twenty points, and dumping all of its volume at one price would be a lie.
So the tool requests intrabar data and distributes each bar's volume across the prices it actually visited. But TradingView limits how far back intrabar data reaches and how much a script may request. Past that limit the request comes back EMPTY. No error, no warning. Every volume profile then falls back to bar level volume, meaning the whole bar's volume at one price.
Most tools do this silently. The profile still draws, it just quietly becomes a sketch.
This one reports it. Two rows: how many bars used real intrabar distribution, and how many used the crude fallback. A profile that is mostly fallback is a rough sketch. One that is mostly intrabar is a measurement. Now you know which one you are looking at.
WHAT IT DRAWS
• VPOC. The row that traded the most volume, the fairest price the auction found
• Value Area. The band holding 70% of the window's volume by default, with VAH and VAL as its edges
• HVN and LVN. The shelves where price lingered and the air pockets it ran through
• Naked VPOC. A prior session's point of control that price has never traded back to
THREE WINDOWS
• Session. One trading auction, resetting daily. The default, and the one that matches how a day actually trades.
• Fixed lookback. A set number of bars. Stable and repeatable.
• Visible range. Whatever is on your screen, moving as you pan. Useful for exploring, and it moves by design.
IT TELLS YOU WHEN A SETTING DID NOT TAKE
Two settings can quietly mean something other than what you set.
Session mode needs your chart timeframe to fit inside a session. Set it on a 4H chart and a session spans days.
Ticks per row is a REQUEST. A wide window at a fine row height would need more rows than a script is allowed to draw, so the tool coarsens them. Ask for 20 ticks per row on a wide window and you might get 101.
A setting that quietly means something else is worse than one that is plainly wrong, because nothing tells you to look. So the panel defaults to Auto: hidden until something has actually diverged, then it appears with the offending row flagged. Quiet in normal use, loud exactly when it matters.
ALERTS
Three toggles, all off by default, produce five alert conditions: VPOC touch, VAH touch, VAL touch, Value Area edge touch, and naked VPOC touch.
Each one compares price against the PREVIOUS bar's level, so a level that moves onto price cannot fire by itself. Only price reaching the level fires it. The code for that is three lines and you can go read them.
These are LOCATION alerts, not signals. They tell you price has arrived somewhere structurally interesting. They make no claim about what happens next.
WHY IT DOES NOT REPAINT
A profile is a snapshot of the window it measured, rebuilt on the last bar. Nothing historical is rewritten and nothing is read from the future. There is no request.security anywhere in the script, so there is no lookahead question to answer. The one data request is request.security_lower_tf, which reads bars already inside the current one.
Visible range mode moves with your viewport because that is what you asked it to do, which is the mode working as designed rather than the tool repainting.
READ THE CODE
This one is published open source, so nothing above is a claim you have to take on trust. The header comment is written for exactly that: it states every convention the tool chose where no published source settles the question, and it says why.
• The value area expands ONE ROW AT A TIME from the VPOC, taking the heavier neighbour, and it INCLUDES the row that crosses the threshold. CQG, Sierra Chart and TradingView all add one row at a time. The Dalton books print a two row pair method instead. The original CBOT Liquidity Data Bank tables land between 70.3 and 73.7%, never under 70, which is why the crossing row is included.
• VAH sits at the TOP edge of the highest value area row and VAL at the BOTTOM edge of the lowest, so the band genuinely contains its rows. No vendor documents whether their line is the row's edge or its middle. This one does.
• The VPOC prints at its row's MIDPOINT, and ties go to the row nearest the profile's middle, with equidistant going to the lower row.
• A naked VPOC dies when a later bar's RANGE touches it, not on a close through, and the session that formed it never counts against itself.
• The 70% is a share of TOTAL VOLUME. Not of range, not of bars.
Disagree with any of those and the file is right there. That is the point of publishing it this way.
MADE TO FIT YOUR CHART
Window · Volume Engine · Profile · Value Area · Nodes and Naked VPOC · Style · Diagnostics · Alerts. Every element toggles independently, and every colour, size and position is exposed, the panel included. The defaults suit a dark chart.
HOW TRADERS ACTUALLY USE IT
Read the VPOC as the session's fair price and the value area edges as the boundary between acceptance and rejection. Price leaving the value area and holding outside is an auction trying to find business elsewhere. Price rejecting the edge and returning to the VPOC is the auction saying it already found it.
The LVNs are where the useful trades hide. An air pocket is a price range the market refused to do business in, so price tends to cross it quickly rather than grind. A naked VPOC on the other side of one is a magnet with nothing in the way.
Check the two accuracy rows first. A profile built mostly from the fallback still shows you the shape, but the exact VPOC row is a rounder number than it looks. Fix it with a shallower window or a lower chart timeframe, never by hiding the number.
WHAT IT WILL NOT CLAIM
You will not find a hit rate here for how often price returns to a VPOC, or how quickly an LVN gets crossed. Nobody has measured those on your instrument, your timeframe, and a sample worth the name.
It also will not tell you the value area is one standard deviation. That story is a hedged analogy, not a computation. This algorithm builds a modal, highest density region anchored on the POC. Mean plus or minus one sigma is a different object anchored on the mean. They agree only on symmetric profiles, which is to say not on the trend days profiling exists to identify.
Terms belonging to time based Market Profile, meaning single prints, tails, excess, poor highs and lows and day types, are not used here. They reference 30 minute sub periods a volume profile does not have. An LVN is the honest analogue of a single print.
This tool shows you the structure. What you do with it is yours.
Works on any market and any timeframe, though intrabar accuracy is best on liquid futures and on recent history.
Display only. This measures where volume traded, it does not fire buy/sell signals and it does not forecast. Educational tool, not financial advice.
Published OPEN SOURCE. The intrabar distribution engine, the row budget coarsening, the value area expansion, the naked VPOC carry forward and the divergence checks are all readable in the script, and the header comment documents the reasoning behind every one of them. Read it, check it, and change it if you disagree. Indikator

Market Profile TPO [vault]TPO is a market profile tool that shows where the market actually spent its time, not just where price printed a candle. It builds a time price opportunity profile for every day, week or month and marks the levels that keep mattering after the period closes.
How it works
The script splits each period's range into a configurable number of rows and counts how many bars traded inside every row. That count is the TPO score. The widest row is the Point of Control, the fairest price of the period and the level price keeps rotating back to. Around it the script expands the Value Area using the standard two row algorithm until it holds a chosen percentage of total TPO count, giving you the accepted range and its two edges.
Everything is calculated in a single pass over the period's bars instead of scanning every row separately, so the developing profile updates in real time without dragging the chart down, even on 100 rows and low timeframes.
Green area below, red above, no. This is not a signal tool. Value area high and low are the edges of accepted price, and trades that open outside value and reject back inside tend to rotate to the opposite edge. The POC is a magnet. Untouched POCs from previous periods are stronger magnets.
What it draws
- Full TPO profile per period, D, W or M, with adjustable row size and profile width
- Point of Control line, ties resolved toward the middle of the range so the POC never sticks to an extreme
- Value Area high and low with optional shaded background
- Initial Balance, the range of the first balance window of the session, with optional extension across the whole period
- Single prints, the thin one row areas left by one sided moves, top and bottom tails excluded by design
- Naked POC, previous POCs price never traded back into, extended right until they get hit and then removed automatically
Reading it
Value area edges are where acceptance starts and ends. Initial Balance tells you the shape of the day early: price holding inside IB all session is a rotation day, a break of IB high or low with follow through is the classic trend day tell. Single prints mark unfinished auction, the market moved too fast to trade there and usually comes back. A naked POC sitting above or below current price is an obvious target for the next rotation.
Additional settings
- Profile period: D for day trading, W or M for swing context
- Row size: higher for precision, lower for speed on long periods
- Value Area %: 70 is standard, some traders use 68 or 80
- IB session and timezone: defaults to 0930 to 1030 New York, the RTH open hour for US index futures. Set it to your own instrument's open
- Profiles kept on chart: old profiles are deleted as a whole group, so the script never hits TradingView drawing limits and never leaves half a profile behind
- Min rows per single print: filters out one row noise, 2 or 3 keeps only meaningful gaps
- Show developing profile: toggle the live, still forming profile
- Level labels with prices for POC, VAH and VAL
- Full color, width and line style control for every element
- Built-in alerts for prior POC, VAH and VAL crosses and for IB high and low breaks
- Works on any instrument, requires a chart timeframe lower than the profile period
Indikator

Prev Day/Week/Month/ON VP LevelsBased on Prev Day/Week VP Levels MADE BY ADAM by adam4530. Credit to the original author for the core session-reset and volume-profile calculation approach this script builds on. This script is only tested on Tradingview Premium subscription.
This indicator automatically plots the previous day's, week's, month's, and overnight session's volume profile levels — Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL) — as clean horizontal levels, replicating the look of manually drawn key levels.
What's new vs. the original
Previous Month profile, calculated on its own configurable timeframe (default 5m), kept separate from the Day/Week/ON timeframe so a full month of bars doesn't hit intrabar data limits.
Previous Overnight (ON) profile — a configurable time-of-day session (default 18:00–09:30 New York) rather than a calendar-day session. It rolls over automatically the moment the session ends, replacing the prior ON levels.
Independent styling per period — Day, Week, Month, and ON each get their own line color, width, and style, instead of one shared style for everything.
Extend-to-latest-bar option — lines can stop at the current bar instead of running off the chart indefinitely, for a cleaner look (this is now the default).
How it works
Sessions are defined by a custom reset hour in a chosen timezone rather than midnight exchange time (default 18:00 New York). Weeks run from the Sunday-evening session open through the Friday close; months follow the same reset-hour boundary. The Overnight session instead uses a fixed time-of-day window (default 18:00–09:30) that wraps across midnight, finalizing into "previous ON" levels the moment RTH begins.
All profiles are calculated on a separate, configurable calculation timeframe — 1-minute by default for Day/Week/ON, 5-minute by default for Month — through request.security, independent of the chart timeframe. This means the levels are identical on every chart resolution and remain visible even on a 1-minute chart. Each period's profile distributes bar volume across price rows (default 1000), locates the POC as the highest-volume row, and expands the value area around it until it contains the configured share of total volume (default 70%).
Once a period completes, its levels are drawn and stay fixed until the next rollover — the exact levels a trader would mark by hand at the start of each session.
Features
Previous Day, Week, Month, and Overnight POC/VAH/VAL, each independently toggleable
Custom session reset hour and timezone (DST-safe)
Configurable ON session start/end time
Separate calculation timeframe for Day/Week/ON vs. Month, row count, and value area %
Independent line color, width, and style per period
Choice of extending levels infinitely right or only to the latest bar
Plain text labels with adjustable offset and size
No repainting — only completed periods are plotted
Intended use
Built for intraday traders who anchor execution around prior-session value: value area rotations, POC retests, acceptance/rejection outside prior value, and confluence with order flow, overnight range, or options-derived levels. Indikator

CandelaCharts - Value Area Reversals📝 Overview
The CandelaCharts - Value Area Reversals indicator is a powerful tool designed to identify high-probability institutional reversals around key volume nodes. By generating a rolling session Volume Profile and tracking the Value Area High (VAH) and Value Area Low (VAL), this script highlights moments where price aggressively rejects the boundaries of fair value with anomalous volume.
This tool introduces Dynamic CISD (Change In State of Delivery) tracking, automatically anchoring to the true swing point of a reversal and projecting institutional support/resistance levels until formally confirmed by price action.
📦 Features
Session Volume Profiles : Highly customizable rolling profiles. Choose between classic stepped Histograms or a beautifully smoothed Curved aesthetic that accurately maps volume distribution.
Value Area Reversals : Automatically detects when price dips outside of the established Value Area (VA) and aggressively reclaims it. Signals are filtered by volume—only firing when the reversal candle exceeds the volume of the last N similar-type candles.
Dynamic CISD Tracking : When a reversal signal fires, the script actively tracks price to find the absolute lowest/highest swing point of the manipulation leg. It then maps the body of that swing as a Change in State of Delivery (CISD) level, drawing a projection line until price formally breaks and confirms the shift in delivery.
Volume Spike Candles : Optionally colors individual candles on the chart that exhibit significant volume spikes relative to their recent peers, providing immediate visual context for momentum shifts.
⚙️ Settings
Volume Profile : Configure the timeframe used to define a session (e.g., Daily), the number of horizontal bins, the Value Area percentage (default 70%), and the aesthetic style (Curved vs Histogram).
Change In State Of Delivery : Toggle the CISD tracking system, customize the line style and colors for bullish and bearish CISD projections.
Signals : Enable or disable the VA Reclaim signals, and adjust the lookback window used to qualify a volume spike.
Style : Full color control over up/down volume nodes, VAH/VAL/POC levels, and signal markers.
⚡️ Showcase
Volume Profile - Curved Style
Volume Profile - Histogram Style
CISD
🚨 Alerts
The indicator includes native, ready-to-use alert conditions for:
Bullish / Bearish VA Reclaims : Fires the moment a volume-backed reversal back into the Value Area is detected.
Bullish / Bearish CISD Confirmation : Fires the exact moment price action structurally confirms the swing by breaking the dynamic CISD level.
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
Indikator

3D Market Profile [BOSWaves]3D Market Profile - TPO Time Price Distribution with Polyline 3D Extrusion, Value Area Construction, and Initial Balance Mapping
Overview
3D Market Profile is a Time Price Opportunity profile system that constructs a TPO distribution from recent chart history and renders it as a three-dimensional extruded structure using polyline geometry, where row width reflects the number of TPO period prints at each price level, density-based gradient coloring communicates participation concentration, and perspective faces on the top and side edges of each row provide spatial depth that standard two-dimensional profiles cannot convey.
Instead of displaying a flat histogram alongside price, this system aggregates chart bars into complete TPO periods at the configured timeframe, assigns sequential alphabet letters to each period, and accumulates per-row letter counts across the full profile window. The resulting distribution drives a full market profile analytical framework including Point of Control identification, Value Area expansion from the POC outward, and Initial Balance range derivation from the opening TPO periods. All structural levels are rendered as extending reference lines and labeled price readouts that project beyond the profile face.
This creates a market profile visualization that combines the structural depth of conventional TPO analysis with a three-dimensional rendering system that makes profile shape and density immediately readable across varying chart zoom levels. The extruded top and side faces follow the profile contour row by row, the rear glass plane frames the distribution within a perspective bounding box, and the complete wireframe connects front and rear geometry with depth-offset corner lines that reinforce the spatial orientation of the profile structure.
Price is therefore evaluated against a fully formed TPO distribution anchored to recent chart history, with POC, Value Area, and Initial Balance levels providing the standard market profile reference framework in a spatially rich visual presentation.
Conceptual Framework
3D Market Profile is founded on the principle that TPO market profile analysis becomes significantly more visually accessible when the distribution is rendered with three-dimensional spatial depth, allowing traders to read profile shape, density concentration, and structural levels at a glance without the visual ambiguity that flat two-dimensional histogram representations produce at different zoom levels and screen resolutions.
Traditional market profile implementations render uniform flat row boxes where the only visual differentiation between high and low density rows is bar width, which becomes difficult to assess comparatively when profiles contain many rows or are viewed on smaller screens. This framework adds spatial depth through extruded top and side faces that follow the profile contour, creating a volumetric bar chart where density is communicated through both width and three-dimensional geometry simultaneously, and gradient coloring that progresses from the configured low-density to high-density colors adds a third visual dimension that reinforces the density reading.
Three core principles guide the design:
TPO distribution should be constructed from complete timeframe periods rather than individual bars, ensuring each period contributes exactly one letter print to each price row it trades through regardless of how many chart bars compose that period.
The three-dimensional extrusion should follow the profile contour row by row rather than applying a uniform rectangular extrusion, preserving the profile's structural shape in the depth geometry and maintaining the analytical significance of the distribution's outline.
Standard market profile reference levels including POC, Value Area High, Value Area Low, and Initial Balance should be derived from the TPO distribution using conventional methodology and rendered as structural references that extend beyond the profile face for ongoing price interaction monitoring.
This shifts market profile visualization from flat histogram reading into a spatially rich three-dimensional distribution analysis where density, shape, and structural levels are simultaneously communicated through geometry, color, and depth.
Theoretical Foundation
The indicator combines chart bar aggregation into complete TPO periods at the configured timeframe, sequential alphabetical letter assignment per period, per-row letter count accumulation across the full profile window, density-normalized gradient coloring with power transformation, POC identification through maximum count with proximity tiebreaking, outward value area expansion from POC with alternating upper and lower priority, Initial Balance derivation from the opening period count, and polyline-based 3D geometry construction using depth-offset coordinates for top faces, side end caps, and rear glass plane.
Period aggregation groups chart bars by their TPO clock value, merging consecutive bars sharing the same period timestamp into a single period high-low range. Each completed period receives the next sequential alphabet letter from A through Z then a through z, repeating modularly for profiles with more periods than the alphabet. Row assignment maps each period's full high-low range to the corresponding row bins, contributing one print to every row from the period low bin to the period high bin inclusive. The POC selection resolves ties between equal-count rows by choosing the one closest to the mid-range price. Value area expansion adds rows alternately from the high and low sides of the POC based on which adjacent row has the greater count, continuing until the accumulated count reaches the target percentage of total prints.
Four internal systems operate in tandem:
Period Aggregation Engine : Groups chart bars by TPO clock timestamp into complete periods, accumulating per-period high-low ranges and assigning sequential letter identifiers that are used for both letter rendering and Initial Balance period counting.
TPO Distribution Builder : Accumulates per-row letter strings and print counts from the period high-low ranges, producing the row width and text data that drives all subsequent profile rendering and level calculations.
3D Geometry Engine : Constructs polyline polygon arrays for the extruded top faces following each row's width contour, side end cap faces at the outer edge of each row, and the rear glass plane bounding box, using configurable depth bar and depth row offsets to establish perspective coordinates.
Level and Label System : Derives POC, VAH, VAL, and IB level prices from the distribution, renders dual glow and core lines extending across the profile and beyond with configurable tail length, and places price readout labels at the right edge of the level lines.
This design ensures the 3D geometry follows the actual distribution contour while all standard market profile reference levels are derived from the same underlying TPO count data that drives the visual rendering.
How It Works
3D Market Profile evaluates price through a sequence of aggregation and profile-building processes:
Profile Range Calculation : The highest high and lowest low across the configured bar count establish the full profile range, which is divided into the configured number of rows to produce the uniform row height used for all price-to-row mapping.
TPO Period Aggregation : Chart bars are grouped by their TPO timeframe clock value. Consecutive bars sharing the same period timestamp are merged into a single period with the accumulated high and low. Each completed period boundary triggers storage of the completed period data.
Letter Assignment and Row Filling : Each period is assigned the next sequential alphabet letter. For each period, the low and high row bins are calculated and the period letter is appended to the row text string for every row from low to high inclusive, with the row print count incremented accordingly.
Initial Balance Derivation : The first N periods as configured by the IB Periods setting contribute their highs and lows to the Initial Balance range, producing the IBH and IBL reference levels that mark the range established during the opening portion of the profile window.
POC Identification : The row with the maximum print count is identified as the POC. When multiple rows share the maximum count the row closest to the profile mid-range price is selected, providing a consistent tie-breaking rule that favors centrally located levels.
Value Area Construction : Starting from the POC row, adjacent rows are added one at a time by selecting the higher-count neighbor on each iteration until the accumulated count reaches the VA percentage target of total prints.
Profile Geometry Calculation : The profile start position is determined by the placement setting, with Right of Price positioning the profile in forward chart space at the configured right offset and On Range anchoring it to the beginning of the analyzed window. Row widths are calculated as print count multiplied by cell width.
3D Top Face Construction : For each occupied row, a quadrilateral polyline polygon is constructed connecting the row's front top-left, front top-right, depth-offset rear top-right, and depth-offset rear top-left coordinates, producing the extruded top surface that follows the profile contour.
3D Side Cap Construction : For each occupied row, a quadrilateral polyline polygon connects the front right edge top, front right edge bottom, depth-offset rear right bottom, and depth-offset rear right top, producing the side end cap that closes the extruded row geometry.
Front Profile Rendering : Box objects are created for each occupied row with density-gradient fill coloring, POC and single print override coloring, and border styling that distinguishes the POC row, single print rows, Value Area rows, and standard rows.
TPO Letter Rendering : Individual label objects are placed at the center x and mid-price y position of each letter's cell within the profile, with color distinguishing POC, single print, and standard rows.
Level and Label Rendering : POC lines are rendered as dual glow and core polylines. VAH and VAL render as dotted lines. IBH and IBL render as dashed lines. All extend from the configured tail length left of the profile to the right edge of the depth geometry. Price labels are placed at the right extent of each line.
Together, these elements form a complete three-dimensional market profile rendering where the TPO distribution drives both the analytical reference framework and the spatial geometry of the extruded visualization.
Interpretation
3D Market Profile should be interpreted as a conventional TPO market profile with three-dimensional spatial depth encoding applied to the distribution geometry:
Profile Width : The horizontal extent of each row reflects its total TPO print count relative to the maximum, with wider rows indicating more time spent at that price level and narrower rows indicating less acceptance.
Density Gradient Coloring : Row fill progresses from the configured low-density color at minimum print count to the high-density color at maximum print count, with a power-transformed gradient that spreads color differentiation across the density range.
Point of Control Row (POC) : The widest row rendered in the POC color identifies the price level with the greatest time-at-price concentration across the profile window, representing the most accepted price during the analyzed period.
Value Area : Rows between VAH and VAL rendered with full opacity represent the price range containing the configured percentage of total TPO prints, identifying the zone of concentrated acceptance around the POC.
Non-Value Area Rows : Rows outside the Value Area are rendered with additional transparency and darkened coloring, visually receding from the Value Area rows to communicate their reduced relative acceptance.
Single Print Rows : Rows with exactly one TPO period print are highlighted in the high-density color with a distinct border, marking price levels visited by only one period that price may return to complete the auction.
TPO Letters : Sequential alphabet letters within each row identify which periods traded through that price level, with the letter sequence providing a chronological audit trail of price movement across the profile window.
3D Top Faces : Extruded top surfaces following the profile contour row by row provide depth cues that make the profile shape readable as a three-dimensional structure, with the contour step pattern revealing the distribution's outline in spatial form.
3D Side Caps : End cap faces at the outer edge of each row close the extruded geometry and reinforce the row width differences through the depth dimension, with darker coloring distinguishing the side geometry from the front profile.
3D Frame : The rear glass plane and wireframe perspective box orient the profile within three-dimensional chart space, connecting front and rear geometry with corner depth lines that establish the spatial extent of the distribution structure.
POC Level : Dual glow and core lines extending from the profile mark the POC price for ongoing reference, with the glow providing visual prominence that makes the POC immediately identifiable against background price action.
VAH and VAL Lines : Dotted lines at the Value Area boundaries mark the upper and lower edges of the high-acceptance zone for ongoing price interaction monitoring.
IBH and IBL Lines : Dashed lines at the Initial Balance high and low mark the range established during the opening TPO periods, providing the conventional IB reference framework for range extension and balance monitoring.
Profile shape, POC location, Value Area extent, single print density, and IB range collectively provide more structural context than any element in isolation.
Signal Logic & Visual Cues
3D Market Profile does not generate discrete entry or exit signals but provides continuous structural reference through the standard market profile analytical framework:
POC Magnetic Reference : The POC level identifies the price where the greatest time-based acceptance occurred within the window, frequently acting as a mean reversion magnet when price extends to the Value Area boundaries.
Value Area Boundary Interaction : Price moving outside the Value Area enters statistically less accepted price territory, providing context for potential reversion trades back toward the Value Area or range extension trades when acceptance establishes beyond the boundary.
Initial Balance range interactions provide the conventional IB framework where price accepting above IBH or below IBL signals potential range extension, while price remaining within the IB range suggests balanced auction conditions.
Strategy Integration
3D Market Profile fits within conventional market profile and auction theory-based analytical approaches:
POC Reversion Framework : Use the POC line as a dynamic mean reversion reference when price has extended to or beyond the Value Area boundaries, with the POC representing the price where the distribution's greatest acceptance occurred and where reversion activity frequently concentrates.
Value Area Boundary Trading : Monitor price behavior at VAH and VAL for acceptance or rejection signals. Price accepting above VAH or below VAL by closing multiple bars beyond the boundary suggests genuine range extension. Price rejecting at the boundaries and returning inside the Value Area suggests reversion continuation.
Initial Balance Range Extension : Use IBH and IBL as directional range extension references. Price establishing acceptance above IBH with sustained closes indicates potential bullish range extension. Price accepting below IBL indicates potential bearish extension.
Single Print Targeting : Treat single print rows as potential return targets for incomplete auction areas, monitoring for price to revisit and fill these levels with additional TPO participation in subsequent sessions.
Profile Placement Selection : Use Right of Price placement to keep the profile in forward chart space as a live reference for current and upcoming price interaction. Use On Range placement to anchor the profile to the historical window for post-session analysis and retrospective structural assessment.
Timeframe and Length Calibration : Match the TPO timeframe to the trading session type being analyzed. Thirty-minute TPOs with standard length produce a conventional daily profile. Shorter timeframes produce intraday micro-profiles. Longer timeframes produce multi-day macro profiles that reveal larger structural distribution patterns.
Technical Implementation Details
Period Aggregation : TPO clock-based grouping of chart bars into complete periods with high-low range accumulation and sequential letter assignment
Distribution Builder : Per-row letter string accumulation and print count tracking across the full period set
POC Selection : Maximum count identification with mid-range proximity tiebreaking for consistent level placement
Value Area Engine : Outward expansion from POC with alternating upper and lower priority based on adjacent row count comparison
3D Geometry : Polyline quadrilateral construction for top faces and side caps using depth bar and depth row offset coordinates
Front Profile : Box objects with density gradient fill, POC override, single print override, and Value Area transparency differentiation
Level System : Dual glow and core POC lines, dotted VA lines, dashed IB lines, and price readout labels at configurable tail length
Performance Profile : Full object cleanup and rebuild on last bar with label count cap enforcement and configurable profile length maximum
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Intraday micro-profile analysis with shorter length and faster TPO timeframe for session-level distribution tracking within a single trading day
15 - 60 min : Session profile construction with standard thirty-minute TPO timeframe and balanced row count for conventional daily market profile analysis
4H - Daily : Multi-session macro-profile analysis with longer length and higher TPO timeframe for structural distribution patterns spanning multiple sessions
Suggested Baseline Configuration:
Length : 180
Rows : 24
Value Area % : 70
Placement : Right of Price
TPO Timeframe : 30
Show TPO Letters : Enabled
Initial Balance Periods : 2
3D Depth (Bars) : 6
3D Height (Rows) : 0.42
Show 3D Frame : Enabled
Show POC / VA : Enabled
Show Initial Balance : Enabled
Show Level Labels : Enabled
These suggested parameters should be used as a baseline; their effectiveness depends on the instrument's session structure, typical daily range, and preferred profile granularity, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Too few or too many rows : Adjust Rows to increase or decrease vertical price resolution, calibrating row height to the instrument's typical daily range so rows represent meaningful price increments rather than noise-level or excessively large bands.
Letters too cramped or too sparse : Adjust TPO Cell Width to control the horizontal space allocated to each letter, increasing for wider, more readable letter display or decreasing to fit more prints within the same profile width.
Profile too narrow or too wide : The profile width scales automatically with the maximum row print count multiplied by cell width. Adjust Length to include more or fewer bars in the profile window, and adjust Cell Width to scale the resulting profile width.
3D extrusion too deep or shallow : Adjust 3D Depth (Bars) to control horizontal perspective extent and 3D Height (Rows) to control vertical depth, calibrating the spatial effect to the chart's aspect ratio and current zoom level.
Profile overlapping price action : Use Right of Price placement with a larger Right Offset value to push the profile further from current price, or switch to On Range placement to anchor it to the beginning of the analyzed window instead.
Initial Balance range too narrow or wide : Adjust Initial Balance Periods to include more or fewer opening TPO periods in the IB calculation. Two periods represents the conventional first trading hour using thirty-minute TPOs; increase for a wider opening range definition.
TPO timeframe mismatch : Match the TPO Timeframe to the session type being analyzed. Using a thirty-minute timeframe on a daily chart produces very few periods and minimal distribution differentiation; use a timeframe appropriate to the chart timeframe and session length.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Session-structured markets where a defined trading window produces a clear distribution with identifiable POC and Value Area that serve as reliable structural references across subsequent sessions
Instruments with consistent daily range where row height calibrates to meaningful price increments and the distribution produces a recognizable bell-curve or skewed profile shape
Market profile-based trading approaches where POC, Value Area, and Initial Balance provide the primary structural reference framework for directional bias and level interaction analysis
Three-dimensional visualization workflows where the extruded profile geometry provides immediate spatial readability that improves structural assessment speed relative to flat two-dimensional profiles
Reduced Effectiveness:
Markets with highly variable daily ranges where a fixed row count produces inconsistent row heights across different sessions, reducing the comparability of distribution shapes between profile windows
Instruments without clear session structure where the TPO period aggregation produces few complete periods within the profile length, resulting in sparse distributions with limited analytical differentiation
Very short profile lengths where insufficient bars produce too few TPO periods to create a statistically meaningful distribution with identifiable POC and Value Area levels
Extremely compressed consolidation environments where price trades within a narrow range and all rows receive similar print counts, producing a flat distribution without the structural differentiation that makes POC and Value Area meaningful
Markets with frequent large gaps where the profile range is dominated by gap space rather than traded price, producing distributions with many empty rows that reduce the analytical value of the concentration levels
Integration Guidelines
Confluence : Combine with BOSWaves structural tools, order flow analysis, or momentum indicators to validate POC and Value Area interactions with broader analytical context before acting on market profile reference levels
POC Migration Tracking : Monitor whether successive profile POC levels are migrating higher, lower, or remaining stable as a secondary directional bias indicator. Consistently rising POC levels across multiple sessions suggest sustained upward value migration.
Value Area Overlap Assessment : Compare Value Area ranges across successive profiles to assess whether price is finding acceptance in overlapping value zones, indicating market balance, or developing non-overlapping value areas, indicating directional value migration.
Single Print Completion Monitoring : Track single print rows as potential return targets in subsequent sessions. The market profile principle that incomplete auctions tend to be revisited makes single prints valuable anticipatory reference levels for future price behavior.
IB Range Context : Use the Initial Balance range as a daily bias anchor. Strong directional moves that establish acceptance well outside the IB range early in the session carry greater continuation probability than marginal IB extensions that quickly revert inside.
Disclaimer
3D Market Profile is a professional-grade TPO market profile visualization and auction theory analysis tool. It uses timeframe-based period aggregation with standard market profile methodology but does not predict future price movements. Results depend on market conditions, instrument session structure, parameter selection, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates order flow context, structural analysis, and comprehensive risk management. Indikator

Market Profile VPOC Breakout - Imbalance SignalsA breakout setup does not fail because the setup is bad. It fails because it was taken in the wrong market phase. Roughly 70 % of the time price is INSIDE the higher-timeframe balance — inside fair value — and there a breakout has almost no edge. In the remaining ~30 %, when the market is OUT OF BALANCE, the identical trigger becomes one of the highest-probability trades there is. That combination shows up about ONCE PER DAY.
Market Profile VPOC Breakout automates that location-first workflow end to end: weekly and daily volume/TPO profiles, the value areas, the VPOC sequence, the transferred prior-day value-area edge, single prints, the P / b micro-profile proof, the entry trigger, the risk model and ready-to-use webhook JSON — all on one chart, with an explanation attached to every single object.
═══════════════════════════════
THE 7 CONFIRMATIONS
═══════════════════════════════
The panel walks you through them live, top to bottom, and nothing below step 1 matters while the market is in balance.
① WEEKLY LOCATION — the previous week's value area is the equilibrium. Price inside it = the 70 % phase → stand down. Price above VAH or below VAL = imbalance → hunt. The shaded zone on the chart is that balance; the background wash tells you at a glance which phase you are in (mint = imbalance up, red = imbalance down, gold = balance).
② EQUILIBRIUM TEST + REJECTION — the week opened outside the balance, price came back to TEST the weekly value area and was aggressively traded away from it again. That rejection is the proof that the market no longer wants to be in equilibrium.
③ TREND OF EQUILIBRIUM — the sequence of daily VPOCs. Rising VPOCs mean fair value itself is migrating up: the distribution of the participants' equilibrium is trending, which is exactly what a fast trade WITH the trend needs. Flat or overlapping VPOCs = balance = no trade. Drawn as a staircase over the session VPOCs.
④ PRIOR-DAY VALUE AREA BREAK — the previous session's value-area edge is transferred onto the execution timeframe as a thick green line. Price has to ACCELERATE through it, not drift.
⑤ SINGLE PRINTS — the indicator reads the running session's TPO grid and counts price rows that only ONE bar ever touched. Those rows are marked as a cyan SINGLE PRINT zone: the market moved so fast that no business was done there = aggressive buyers or sellers, not passive rotation.
⑥ P / b MICRO SHAPE — the micro profile of impulse + the small balance that forms on it is measured. POC in the upper part = P (aggressive buyers shifting equilibrium up) → long. POC in the lower part = b (sellers shifting it down) → short. A symmetric D is skipped. This is the P/b/D profile-shape logic used by two-time World Cup Championship of Futures Trading winner Patrick Nill.
⑦ TRIGGER — two variants, both switchable:
• BREAK-IN — price dips back into the P/b balance and is instantly bought / sold again (the aggressive, earlier entry, trend-continuing).
• BREAKOUT — a CLOSE beyond the balance edge with a higher (long) or lower (short) close. Never a wick.
═══════════════════════════════
RISK MODEL
═══════════════════════════════
Stop behind the structural invalidation (micro-balance edge, impulse origin or the reference level) plus an ATR buffer. TP1 in R multiples moves the stop to break-even, TP2 lets the runner work. And the rule that keeps this model alive: a TIME STOP. If the move does not run within N bars, get out — a failing breakout reverses just as fast as it was supposed to run. Risk and reward are drawn as blocks so the geometry is readable at a glance. One signal per session by default, because the model only exists about once a day.
═══════════════════════════════
WHAT IS ON THE CHART
═══════════════════════════════
• Session volume/TPO profiles with value area, VPOC and shape letter (P / b / D)
• Naked VPOC rays that keep running right as magnets
• Weekly profile + the prior-week balance zone projected into the current week
• The thick green transferred value-area edge with its own explanation
• Daily VPOC staircase and the imbalance gauge in the panel
• Single-print zones, micro-balance boxes with the big P / b letter
• BUY / SELL pills, the full numbered reason stack printed next to the signal, entry / SL / TP1 / TP2 rails, risk and reward blocks, TP / SL / BE / TIME exit tags
• A permanent BEGINNER CARD on the chart plus a HOW TO READ manual — every pill, zone, rail, letter and panel row also has its own hover explanation, so nothing on this chart is unexplained
• Two colour modes: Design (navy, mint / cyan / gold) or Original TPO (the classic grey market-profile look with red VPOC rays and a white profile curve)
═══════════════════════════════
AUTOMATION
═══════════════════════════════
Create ONE alert with the condition "Any alert() function call" and paste your webhook URL. Every BUY, SELL, TP1_HIT, TP2_HIT, SL_HIT, BE_EXIT, TIME_STOP and ARMED event posts ready-to-use JSON containing id, symbol, action, setup, shape, qty, price, entry, sl, tp1, tp2, pdvah, pdval, timeframe and time — connect it to any bridge or bot without touching the code. Separate alertconditions for BUY, SELL and "any signal" are also available.
═══════════════════════════════
HOW TO USE IT
═══════════════════════════════
Built for an intraday execution timeframe: 1m to 15m, exactly like the original workflow (locate on the weekly and daily profiles, execute on a 1-minute chart). Index futures and index CFDs are the natural home (NQ, ES, DAX, Nikkei), but the profile engine derives its bin size from the average daily range, so gold, FX and crypto work out of the box. For index futures switch on "cash session only" and set the exchange session so the overnight trade does not smear the profiles.
Every input is documented with a tooltip that explains what it does and why it exists. Start with the defaults, then loosen step 2 or step 3 if you want more signals — and be aware that every filter you switch off moves you back towards the 70 % phase where this trigger simply does not pay.
═══════════════════════════════
NOTES
═══════════════════════════════
The entry logic is mechanical and reproducible. Stop distances, targets and the time stop are parameters, not gospel: size them to the instrument you trade. Profiles are built from the bars of the chart you are on, so a finer timeframe gives a finer profile. Hit rates quoted in the educational material behind this model refer to the full workflow including discretionary session context — treat the signals as a structured, disciplined framework, not a guarantee, and always validate on your own data before risking capital.
Open source. Feedback and improvement ideas are welcome.
WHY THESE PARTS BELONG TOGETHER
The point of control and the breakout trigger are combined because a breakout setup does not fail
because the setup is bad, it fails because it was taken in the wrong market phase. The VPOC locates
that phase: a break away from a freshly built point of control is a different trade from a break
back into an old one. The imbalance measurement is the third piece - it tells you whether the move
away from the VPOC was one-sided enough to be worth following.
Indikator

Volume Profile P b D Shapes - Day PlaybookVOLUME PROFILE P b D SHAPES reads the market's body language: every trading day the volume profile prints a LETTER — P, b or D — and that letter tells you who is in control and exactly how to trade the next session. This indicator automates the complete PbD method: it builds every day's volume profile, classifies the shape, draws the levels, prints the playbook on your chart and fires webhook-ready JSON signals.
■ THE THREE LETTERS
P-SHAPE (bullish continuation) — fast impulse UP, then balance ON TOP. The thin tail below is single prints: nobody did business there. Buyers feel like winners, dips are for buying.
b-SHAPE (bearish continuation) — fast impulse DOWN, then balance AT THE BOTTOM. The thin tail above marks the drop. Sellers are in control, rallies are for selling.
D-SHAPE (balance day) — a symmetric bell curve with a fat POC in the middle. Buyers AND sellers are happy, fair price has been found. The next day usually stays range-bound: fade the edges.
■ THE AUTOMATED PLAYBOOK (7 SETUPS)
P behind you:
- PLAN A — CONTINUATION: price dips into yesterday's value area, the dip HOLDS (no low break), a reclaim candle closes back at/above the POC -> BUY. Targets: previous high, then a measured balance move.
- PLAN B — FAILURE = FULL TRAVERSE: 2+ candle CLOSES below the VAL (a wick is NOT enough) plus a volume spike = acceptance below balance. The shape has failed and price tends to walk the WHOLE way back to the impulse origin -> SELL.
b behind you: the exact mirror — sell failed rallies into value (Plan A), or buy the failure traverse when 2+ closes above VAH with volume appear (Plan B).
D behind you + today opens INSIDE the D:
- Range rules. Short the Value Area High rejection, long the Value Area Low rejection, target the POC first and the opposite edge second. The FIRST touch gives the best response — the fade counter limits how often each edge may be traded.
■ WHAT YOU SEE ON THE CHART
- A volume histogram for every completed day, colored by its letter (mint P / red b / gold D), POC row highlighted
- A big P / b / D letter above each day — hover it for the full lesson behind the shape
- Yesterday's VAH / VAL / POC projected into today as live rails with explanatory tooltips
- A bias note at every day open: which letter is behind you, where today opened, and both plans
- Two-line BUY/SELL pills that explain WHY the signal fired (hover for the complete reasoning + Entry/SL/TP1/TP2)
- Entry / SL / TP1 / TP2 lines, TP1 -> break-even management, TP2 runner
■ AUTOMATION / WEBHOOK
Create one alert with condition "Any alert() function call" and paste your webhook URL. Every BUY/SELL/TP1/TP2/SL/BE event sends ready-to-use JSON: id, symbol, action, setup, shape, entry, sl, tp1, tp2, timeframe, time. There is also an optional end-of-day SHAPE alert so your bot can pick tomorrow's playbook automatically.
■ HOW TO USE
1) Apply to an intraday chart (5m - 1h; crypto, indices, FX, stocks). 2) Let at least one full day close so the first letter prints. 3) Read the panel: previous-day letter -> today's bias -> checklist. 4) Take the pills or automate them via webhook. The first day on the chart only collects data — letters start from day two.
Educational note: shapes give a BIAS, not a guarantee — that is exactly why every setup ships with both Plan A and Plan B. Not financial advice.
WHY THESE PARTS BELONG TOGETHER
The volume profile and the shape classification are inseparable here. The profile alone tells you
where volume accumulated; the classification into P, b and D shapes is what turns that distribution
into a statement about who is trapped and where the day is likely to go. A P shape and a b shape can
contain identical volume and mean the opposite thing - which is only visible once the profile is
read as a letter rather than as a histogram.
Indikator

Liquidity HeatmapLiquidity Heatmap – POC and Value Area.
A rolling volume-density profile rendered directly onto the price chart. Over a configurable lookback window the indicator distributes each historical bar's volume across every price bin its high-low range covered, then draws the resulting distribution as color-graded horizontal lines at each bin's midpoint. Point of Control and Value Area (70 % of total volume) are computed automatically, and a compact right-side histogram mirrors the profile in the future-offset zone. Built for intraday and swing traders who want a live, minimal read of where the market actually did business — the real liquidity anchors, not manual pivots.
How it works:
The indicator recalculates every N bars (default 5). On each recalc it finds the highest and lowest price of the lookback window, splits that range into a configurable number of bins (default 40), and iterates through every bar in the window. For each bar its volume — or a unit weight if volume weighting is disabled — is added to every bin whose price range the bar crossed. The result is a density array: the more time price stayed inside a bin and the higher the volume of those bars, the larger its density value. Bins are drawn as thin horizontal lines at their midpoints, with color and transparency scaled by the ratio of bin density to peak density.
The Point of Control is the bin with the largest total. Value Area is grown outward from POC, alternately taking whichever adjacent side holds more volume, until 70 % of the entire distribution is covered — VAH becomes the upper boundary of that region and VAL the lower. A right-side density histogram in the chart's offset zone re-renders the same profile in bar-chart form, and the level labels (POC / VAH / VAL) sit past the histogram so they never overlap the main heatmap. The information panel in the top-right corner shows the numeric price of each level and its signed percentage delta to the current close, color-coded green when the level sits above price, red when below, gray at parity.
What it calculates:
- Volume density per price bin over the lookback window
- POC — Point of Control, the bin with peak accumulated volume
- VAH — Value Area High, upper boundary of the 70 % volume region
- VAL — Value Area Low, lower boundary of the 70 % volume region
- Signed delta from current close to POC / VAH / VAL, in percent
Key features:
- Rolling recalculation every N bars for tunable CPU / responsiveness balance
- Volume weighting (default) or touch-count mode as a per-price frequency map — useful when volume data is unreliable
- Four-stop plasma color gradient (deep navy → violet → magenta → amber), every stop user-overridable via input.color
- Constant 1-pixel line width across all bins; visual weight is carried entirely by color intensity and transparency
- POC solid line and label placed past the offset histogram for readability
- VAH / VAL dashed lines extended all the way to their labels so the eye follows the level continuously
- Compact right-side density histogram in the future-offset area, mirroring the main profile in bar-chart form
- Top-right information panel with POC / VAH / VAL price and signed percentage delta to the current close, colored by side (green above / red below / gray at parity)
- Independent visibility toggles for POC and Value Area
- Adaptive bin geometry — resolution scales automatically with the price range of the lookback window
- Runs on any timeframe and any instrument; no external data sources required
Who it's for:
Intraday scalpers, swing traders, order-flow and Market Profile practitioners who need to see the true volume anchors of the current regime instead of hand-drawn horizontals. The color-graded strips make dominant liquidity walls, thin gaps and Value Area boundaries visually obvious at a glance, so attention goes to execution rather than to marking up the chart. Indikator

Futures Volume Profile - CFD ChartsCFD charts only show broker tick volume, which does not represent real market
participation. This indicator pulls REAL exchange volume from the matching
futures contract and builds a volume profile directly on your CFD chart.
What makes it original: standard volume-profile tools weight by the chart's
own (tick) volume. This one maps futures contract volume into CFD price
coordinates (price = CFD, weight = futures), accumulates the profile
incrementally so month anchors work without lookback limits, and can anchor
the session to the futures trading day instead of CFD broker midnight.
How it works:
- The futures contract is auto-detected from the chart symbol (DAX/GER40 ->
FDAX, NAS100 -> NQ, US30 -> YM, UK100 -> Z, US500 -> ES), or set manually.
- Each chart bar's price range is split into zones; the futures volume of that
bar is distributed across the zones it covers (price = CFD coordinates,
weight = futures volume — so the basis offset between CFD and futures is
handled naturally).
- The profile accumulates incrementally per anchor period (session/week/month)
and resets at the period change. POC (red), VAH/VAL (blue, dashed) and the
histogram update live.
- Optional "Daily anchor = futures trading day": the session reset fires at
the futures day change instead of the CFD broker midnight, so the profile is
anchored identically whether you chart the CFD or the future itself.
- Bars without futures data (e.g. overnight hours of a 24h CFD) contribute
nothing — mixing tick volume with contract volume would distort the profile.
The source label warns you when no futures data is available.
How to use it: treat POC/VAH/VAL as the real participation levels behind your
CFD chart — acceptance above the value area supports continuation, a rejection
back inside favors rotation toward the POC. Thick zones (HVN) act as magnets
and consolidation areas, thin zones (LVN) tend to be traversed quickly, which
makes them useful stop and target references. Zone width is ATR-derived by
default or fixed in points.
Indikator

Regression Market Profile [BOSWaves]Regression Market Profile - Curve-Following Distribution Analysis with TPO Letters, Heatmap, and Profile Modes
Overview
Regression Market Profile is a regression-anchored market profile system that maps the distribution of price activity relative to a best-fit regression curve rather than within fixed horizontal price boundaries, where row assignment, POC identification, value area construction, and interior visualization are all derived from how far actual price deviated from the regression prediction on each bar rather than from absolute price levels.
Instead of constructing a profile against a static price range, this system fits either a linear or polynomial regression to recent price history and measures each bar's deviation from the fitted curve, distributing that activity into horizontal rows centered on the regression line. As the curve bends and trends through price space, the entire profile follows it, revealing where price consistently clustered above or below the regression prediction and identifying the deviation offset with the highest time-at-price concentration as a dynamic POC that moves with the trend rather than anchoring to a fixed session boundary.
This creates a market profile framework that adapts to the prevailing directional structure of price rather than imposing a fixed container. The interior visualization communicates distribution in three configurable modes: a heatmap that reveals how the distribution migrated across time columns, a profile extending from the right edge showing the cumulative distribution shape, and TPO letter boxes that follow the regression curve encoding chronological time progression through gradient coloring. Standard deviation bounds, value area boundaries, and a dual-line POC glow all follow the curve simultaneously, providing a complete structural reference system that moves with the trend rather than remaining static.
Price is therefore evaluated not for its absolute level but for its position relative to the regression expectation, with the profile revealing which deviation offsets attracted the most sustained activity throughout the regression window.
Conceptual Framework
Regression Market Profile is founded on the principle that meaningful participation clustering should be measured relative to the expected price path defined by recent price history rather than within arbitrary time or price containers that carry no relationship to the actual directional structure of the market.
Traditional market profile approaches anchor distributions to calendar sessions or fixed price ranges, producing profiles that reflect where price traded within a time box rather than where it clustered relative to its own trend. This framework replaces fixed-container profiling with regression-relative distribution measurement, where each bar's contribution to the profile is determined by how far actual price deviated from the best-fit curve rather than where it sat in absolute price space. The profile therefore reveals the structural tendencies of price relative to its own trend dynamics rather than its behavior within an externally imposed boundary.
Three core principles guide the design:
Profile distribution should be measured as deviation from a fitted regression curve rather than as absolute price position, ensuring the profile captures participation clustering relative to trend expectation rather than within arbitrary price boundaries.
The interior visualization mode should be configurable between temporal migration analysis, cumulative distribution shape, and chronological letter encoding, allowing the same structural data to be interpreted through different analytical lenses depending on the trader's workflow.
All structural reference elements including POC, value area, standard deviation bounds, and centerline should follow the regression curve continuously rather than anchoring to static horizontal levels, maintaining relevance to the current trend structure throughout the regression window.
This shifts market profile analysis from session-bounded horizontal distribution tracking into regression-relative participation mapping where the profile reveals structural clustering tendencies within the context of the prevailing trend curvature.
Theoretical Foundation
The indicator combines matrix-based polynomial and linear regression fitting to recent HL2 price data, rolling standard deviation for channel scaling and SD bound construction, deviation-based row assignment for distribution building, POC identification through maximum row count, value area expansion from POC outward, and three distinct interior visualization systems that present the same distribution data through different geometric representations following the regression curve.
The regression is computed using ordinary least squares matrix operations: the design matrix is constructed with powers of bar index up to the polynomial degree, transposed and multiplied to form the normal equations, inverted, and multiplied by the price vector to produce regression coefficients, which are then applied to generate the full prediction array. Standard deviation of the HL2 series over the regression window provides the channel scaling unit and drives the SD bound envelopes. Row assignment divides the channel height by the number of rows and places each bar's deviation from its predicted value into the corresponding row bin. POC and value area use the same maximum-count and outward-expansion logic as conventional market profile, applied to the curved row counts.
Four internal systems operate in tandem:
Regression Engine : Computes linear or polynomial best-fit predictions for all bars in the lookback window using matrix least squares, providing the curved baseline that all distribution measurements, row positioning, and visual elements follow.
Distribution Construction System : Measures each bar's deviation from its regression prediction, assigns it to a horizontal row within the standard deviation channel, accumulates row counts across the full window, and derives POC and value area from the resulting distribution.
Interior Visualization Engine : Renders the distribution data inside the channel in one of three modes: curved polygon cells per time column normalized independently for heatmap temporal migration display, curved profile bars extending from the right edge scaled to global row counts for distribution shape display, or TPO letter boxes positioned at the regression-relative row boundaries with gradient chronological coloring for time period encoding.
Structural Reference System : Draws the dual-line POC glow following the regression curve at the POC row offset, value area boundary polylines at the VA top and bottom offsets, standard deviation envelope polylines at one through three sigma above and below the curve, and a dashed centerline following the regression prediction directly.
This design ensures the distribution and all structural reference elements continuously adapt to the regression curve while the three interior modes provide complementary analytical perspectives on the same underlying participation data.
How It Works
Regression Market Profile evaluates price through a sequence of regression-aware distribution and visualization processes:
Regression Calculation : On the last bar, the design matrix is constructed from bar index values raised to polynomial powers up to the configured degree. Ordinary least squares solves for the coefficient vector and applies it to produce a prediction array covering all bars in the lookback window.
Channel Scaling : The standard deviation of HL2 over the regression window multiplied by the configured channel width defines the maximum deviation distance, establishing the vertical extent of the distribution channel centered on the regression curve.
Row Assignment and Count Accumulation : Each bar's actual HL2 is compared to its regression prediction and the deviation is assigned to a horizontal row bin derived from the channel height divided by the row count. Row counts accumulate across all bars in the window.
POC Identification : The row with the maximum accumulated count is identified as the Point of Control, representing the deviation offset from the regression curve where price spent the most time during the lookback window.
Value Area Construction : Starting from the POC row, adjacent rows are added in order of greater count until the cumulative total reaches the configured value area percentage of all bar counts, defining the high-activity zone around the POC.
Interior Rendering - Heatmap Mode : The lookback window is divided into time columns and each column builds its own per-row counts, normalized independently so each column's internal distribution is shown on its own scale. Curved polygon cells are rendered for each occupied cell with hot-cold gradient coloring by normalized density.
Interior Rendering - Profile Mode : Each row's global count is expressed as a fraction of the maximum row count and scaled to a configurable proportion of the total regression length. Curved polygon bars extend leftward from the right edge by the scaled bar length, forming a profile shape that follows the regression curve.
Interior Rendering - Letters Mode : Each bar is assigned a sequential alphabetical letter based on its time period index relative to the TPO timeframe. Letters are accumulated per row and rendered as individual boxes positioned at the regression-relative row boundaries, with gradient coloring that progresses from cold to hot as the letter index advances chronologically.
POC Polyline Rendering : A wide low-opacity glow polyline and a thinner full-opacity core polyline follow the regression curve at the POC deviation offset, providing a continuously curving reference for the maximum activity level throughout the window.
Value Area and SD Bound Rendering : Dotted polylines follow the regression curve at the value area high and low offsets and at one, two, and three standard deviation distances above and below the curve, with opacity increasing with distance from the curve.
Together, these elements form a continuously recomputed regression-relative distribution system where every visual element adapts to the current curve shape and all three interior modes present the same participation data from different analytical perspectives.
Interpretation
Regression Market Profile should be interpreted as a regression-relative structural distribution system where clustering above or below the fitted curve reveals directional bias tendencies and participation concentration within the prevailing trend:
Regression Centerline : The dashed curve following the best-fit prediction represents the trend's expected price path. Price consistently above it indicates sustained positive deviation bias; price consistently below indicates sustained negative deviation bias.
POC Line : The dual glow and core polyline following the curve at the maximum activity offset marks the deviation level where price spent the most time relative to the regression prediction, representing the most accepted deviation from expected trend behavior during the window.
Value Area Boundaries : Dotted polylines above and below the POC line mark the deviation range containing the configured percentage of total activity, identifying the zone of concentrated acceptance around the POC.
Standard Deviation Bounds : One, two, and three sigma dotted envelopes around the curve mark statistically extreme deviation distances, with progressively greater opacity indicating greater statistical rarity of price reaching those offsets.
Heatmap Mode : Each time column displays its own normalized distribution, with hot colors indicating the most active deviation level within that column and cold colors indicating less active levels. Reading across columns from left to right reveals how the distribution migrated as the window progressed.
Profile Mode : Curved bars extending from the right edge show the cumulative distribution shape across the full window, with longer bars indicating deviation levels with greater total activity and hot coloring marking the densest regions.
Letters Mode : Sequential alphabet letters fill the channel rows at their regression-relative positions, with gradient coloring from cold early-window letters to hot late-window letters encoding chronological time progression. Single-letter rows indicate price visited that deviation level in only one time period, functioning as regression-relative single prints.
POC Offset Interpretation : A POC positioned above the regression centerline indicates that price has consistently traded at a positive deviation from expectations, reflecting bullish structural bias within the window. A POC below the centerline indicates bearish structural bias.
POC offset direction, value area extent, distribution shape across modes, and SD bound interactions collectively provide more structural context than any element in isolation.
Signal Logic & Visual Cues
Regression Market Profile does not generate discrete buy or sell signals but provides continuous structural reference through distribution-derived levels:
POC Reaction : Price returning to the deviation level corresponding to the POC polyline encounters the most accepted level within the regression window, frequently acting as magnetic reference for reversion or continuation assessment.
Value Area Boundary Interaction : Price moving outside the value area boundaries enters statistically less accepted deviation territory, suggesting either trend extension beyond typical participation or the beginning of structural repositioning relative to the regression curve.
Standard deviation bound interactions provide additional reference for statistically extreme deviation events that historically attract mean reversion activity back toward the regression curve and POC.
Strategy Integration
Regression Market Profile fits within regression-informed structural analysis and distribution-based approaches:
POC Reversion Framing : Use the POC polyline as a dynamic reversion target when price has extended to the outer standard deviation bounds, with the curved POC providing a continuously updating level that reflects the trend's accepted center rather than a static price.
Value Area Acceptance Testing : Monitor whether price is trading within or outside the value area boundaries to assess whether current price activity represents accepted trend behavior or extended deviation warranting mean reversion consideration.
Heatmap Migration Analysis : Use temporal migration visible in heatmap mode to assess whether distribution is shifting toward positive or negative deviation over the course of the window, providing directional bias evidence from the distribution's evolution rather than from price alone.
Profile Shape Assessment : Use profile mode to assess distribution symmetry around the regression curve. A distribution skewed above the centerline suggests persistent positive bias; skew below suggests persistent negative bias. A symmetric bell shape suggests balanced acceptance around the regression expectation.
Single Print Monitoring in Letters Mode : Treat single-letter rows in letters mode as regression-relative thin participation levels that price is likely to revisit, analogous to single prints in conventional market profile.
Regression Mode Selection : Use Linear mode for markets trending in a consistent direction where a straight best-fit line accurately represents the price path. Use Polynomial mode for markets with visible curvature in their trend structure where the quadratic bend better fits the actual price trajectory.
Technical Implementation Details
Regression Engine : Matrix OLS computation using design matrix construction, normal equation formation, matrix inversion, and coefficient application for linear or polynomial curve fitting to HL2
Channel Construction : Rolling standard deviation-scaled channel with configurable width multiplier providing deviation row boundaries
Distribution System : Deviation-based row assignment with global count accumulation, POC maximum identification, and outward value area expansion
Heatmap Engine : Per-column count normalization with curved polygon cell rendering using hot-cold gradient by normalized density
Profile Engine : Global count-scaled curved bar polylines extending from the right edge by proportional bar length
Letters Engine : TPO timeframe-ratio letter assignment with per-row accumulation and gradient chronological box rendering at regression-relative boundaries
Structural System : Dual-line POC glow, dotted VA boundary polylines, three-sigma dotted SD envelopes, and dashed centerline all following the regression curve via chart.point arrays
Performance Profile : All rendering triggered only on the last bar with full object cleanup and rebuild on each update, polyline-based curved geometry for all structural elements
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Intraday regression profiling with shorter length and tighter channel for fast-adapting curve that captures intraday trend structure
15 - 60 min : Session-level distribution analysis with balanced length and moderate channel width for meaningful participation mapping across typical session trends
4H - Daily : Swing-level regression profiling with longer lookback and polynomial mode for curve-following distribution across multi-session directional structures
Suggested Baseline Configuration:
Length : 200
Mode : Polynomial
Channel Width (SD×) : 3.0
Inner Display : Letters
Rows : 12
TPO Timeframe : 30
Value Area % : 70
Show POC : Enabled
Show Value Area : Enabled
Show SD Bounds : Enabled
These suggested parameters should be used as a baseline; their effectiveness depends on the instrument's trend characteristics, volatility profile, and preferred distribution granularity, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Curve fits too loosely to recent price : Decrease Length to shorten the regression window, producing a curve that adapts more quickly to recent price structure. Switch to Polynomial mode if the trend has visible curvature that a linear fit cannot capture.
Curve too reactive to short-term price movement : Increase Length to smooth the regression across more history, producing a more stable curve that reflects longer-term directional structure and reduces sensitivity to recent fluctuations.
Channel too narrow or wide : Adjust Channel Width to scale the standard deviation multiplier, expanding the channel to capture more price activity within the distribution or contracting it to focus on the core deviation range.
Distribution too coarse or granular : Adjust Rows to increase or decrease the number of horizontal price bins, calibrating vertical resolution to the channel height and the instrument's typical deviation behavior within the regression window.
Heatmap columns too few or many : Adjust Heatmap Columns to control the time resolution of the migration display, with fewer columns showing broader temporal patterns and more columns revealing finer migration detail at the cost of visual density.
Profile bars too short or long : Adjust Profile Width to scale the maximum bar length as a fraction of the regression window, calibrating how far the longest bars extend from the right edge relative to the available chart space.
Too few or many letters per row : Adjust TPO Timeframe to change the time period each letter represents. Higher timeframes produce fewer, broader letters; lower timeframes produce more letters with finer time resolution.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Trending markets where the regression curve accurately represents the directional price path and the distribution reveals consistent deviation bias that reflects genuine structural tendencies
Instruments with smooth, curving price trends where polynomial mode produces a better-fitting curve than a straight line and the distribution around the curve is more meaningful than a session-anchored profile
Market profile-informed approaches that benefit from a continuously adapting POC and value area that follow the trend rather than anchoring to fixed session boundaries
Distribution analysis workflows where heatmap temporal migration or profile shape provides directional bias evidence from participation patterns rather than from price indicators alone
Reduced Effectiveness:
Choppy, directionless markets where the regression curve has no clear shape and the distribution is uniform across rows, reducing the interpretive value of POC location and value area extent
Markets with frequent sharp reversals where the regression window spans multiple opposing structural moves, producing a curve that represents none of them accurately and a distribution without meaningful clustering
Extremely short lookback windows where the matrix regression calculation is underdetermined or the distribution contains too few bars per row to produce statistically meaningful counts
Instruments with discontinuous price action including frequent gaps where the HL2 series used for regression produces curves that follow gap-distorted price paths rather than genuine trend structures
Integration Guidelines
Confluence : Combine with BOSWaves structural tools, momentum oscillators, or volume analysis to validate POC and value area interactions with broader analytical context before acting on regression-relative distribution levels
POC Offset Bias : Monitor the position of the POC relative to the centerline across successive sessions as a structural bias indicator. A POC consistently above the centerline across multiple regression windows suggests a persistent positive deviation tendency in the current trend phase.
Mode Selection by Objective : Use Letters mode for structural time-at-price analysis analogous to conventional market profile. Use Heatmap mode to assess how distribution shifted over the regression period. Use Profile mode to quickly assess distribution shape and skew relative to the centerline.
Regression Mode Discipline : Commit to a regression mode based on the instrument's observed trend curvature rather than switching between modes reactively. Polynomial mode adds a second degree of freedom that can overfit short-term noise if the lookback window is too short.
Window Length Stability : Maintain a consistent regression length when using the POC and value area as ongoing structural references. Changing the length significantly shifts the curve and redistributes the profile, making successive POC comparisons unreliable.
Disclaimer
Regression Market Profile is a professional-grade regression-relative distribution and market profile analysis tool. It uses ordinary least squares curve fitting with deviation-based participation mapping but does not predict future price movements. Results depend on market conditions, instrument trend characteristics, parameter selection, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates order flow context, structural analysis, and comprehensive risk management. Indikator

Whale Absorption Profile [JOAT]WHALE ABSORPTION PROFILE
The flagship orderflow visual in the JOAT suite. A complete institutional-grade footprint dashboard — heatmap candle strips, horizontal volume profile, delta ladder, side histogram, POC/VAH/VAL lines, and whale / absorption / imbalance glyphs — all driven by the same underlying lower-timeframe-reconstructed intrabar data and rendered in a curated asthetics. Built to give you the entire auction picture in one indicator, on chart, without a dedicated orderflow platform.
Six visual layers, one engine
Every layer reads from the same intrabar data pipeline. The pipeline uses request.security_lower_tf at a configurable LTF (1m / 3m / 5m / 15m / 30m) to sample sub-bar prints, classifies each via the standard tick rule, then buckets the classified volume into a price-binned profile (configurable rows, default 50). Every layer below reads from those bins.
Heatmap candle strips — the body of each recent chart candle is overlaid with horizontal heat slices coloured along an absorption-intensity ramp (deep blue → indigo → violet → magenta → gold). At a glance you can see where, inside each bar, the auction happened.
Horizontal volume profile — a classic side profile of total volume per bin, rendered with split buy/sell colour so you can read which side dominated each price.
Delta ladder column — a vertical ladder of per-bin delta (buy − sell), positionable to any of nine corners on the chart. Drawn as a horizontal-going-left-to-right cell array so it never collides with the dashboard.
Side volume histogram — a compact buy/sell volume histogram aligned to the profile bins, for traders who want a second view of side-share that is not contaminated by total volume.
POC / VAH / VAL lines — the Point of Control, Value Area High, and Value Area Low computed from the profile and rendered as horizontal lines that extend right of the latest bar.
Whale / Absorption / Imbalance glyphs — three separate detection layers (described below) each render a distinct on-chart glyph at the bin where their condition fires.
A Lite Mode toggle disables the heaviest layers (heatmap strips + side histogram) for low-end machines or multi-indicator stacking.
Three orthogonal detection layers
Whale Print — a bin qualifies as a whale row when total bin volume is above a configurable percentile (default 95th of the bin distribution) and is above the whale-delta threshold (default 70%). Both gates: large and one-sided.
Absorption Zone — score = min(buy, sell) / (priceMovement + ε) . High when both sides traded heavily but price did not move — the classic limit-order-absorption signature. A bin qualifies when its absorption score exceeds the configurable percentile (default 90th).
Imbalance Spike — a bin qualifies when one side's volume is at least N× the other (default 3.0×). The standard footprint imbalance ratio.
These three are deliberately separate — a single price can be a whale row, an absorption zone, and an imbalance spike at once, in which case all three glyphs fire and you have a textbook stacked-signature read.
POC shift alert
The Point of Control's bar-to-bar bin-distance is tracked. When the POC jumps more than the configurable POC Shift: Bin Distance Trigger (default 2 bins) between consecutive bars, the POC Shift alert fires — the auction's value has rotated price levels, which is the most actionable single regime-change signal a profile produces.
Visual aesthetic
A locked institutional palette: cyan-teal bull (#5CF0D7), magenta bear (#FF4D75), and a signature absorption ramp — deep void → ultramarine → indigo → violet → magenta → gold — designed to read like a heat-mapped orderbook on a deep-space background (#02011A). The four multi-stop gradients drive heatmap, absorption, delta, and whale layers independently, so the chart never looks visually flat.
Dashboard
Monospaced table, positionable to any of nine corners, with row-fade gradient. Surfaces:
Current POC price + bin distance from previous POC.
VAH / VAL price levels.
Cumulative bar delta.
Whale print count, absorption zone count, imbalance spike count in the lookback.
Current row classifications for the active price (Whale / Absorption / Imbalance).
LTF in use and bin count.
Alerts
Four alert conditions, each independently controllable:
Whale Print
Absorption Zone
Imbalance Spike
POC Shift (bin distance > threshold)
How to read it
Three reads, in order of conviction:
Stacked detection at the same bin — when a bin fires Whale + Absorption + Imbalance simultaneously, the auction has experienced a complete event: large size, both sides traded heavily, and the side imbalance was extreme. These are the rarest and strongest reads the script produces.
POC Shift through a previous structural level — value migration. The auction's centre of gravity has just moved through your S/R; the rest of the session usually follows.
Heatmap candle strip + delta ladder agreement — when the heatmap concentration sits at the same price the delta ladder shows one-sided imbalance, the bar is institutionally meaningful regardless of the candle shape.
Suggested settings
Defaults (1m LTF, 50 bins, 40-bar lookback, 95th percentile gates) are tuned for 5m–15m on liquid futures and crypto. For 1m scalping, drop bins to 30 and lookback to 20 to keep the script responsive. For 1H+ HTF, raise lookback to 100 and bins to 60. Lite Mode is recommended when stacking with other heavy indicators.
Originality
The implementation — the unified intrabar pipeline that feeds six independent visual layers, the percentile-gated whale detector, the min(buy,sell) / priceMovement absorption score, the diagonal-imbalance row detector, the multi-stop absorption gradient (six-stop signature ramp), the configurable delta ladder with nine-corner positioning, the POC bin-distance shift detector, and the grade composite palette — is JOAT-original. No third-party code reused. The footprint vocabulary (POC, VAH/VAL, imbalance, absorption, whale) is public-domain auction-theory language; this implementation is purpose-built for Pine v6 with bar data only.
Limitations
Reconstructed intrabar data is an approximation — the tick rule is the accepted public-market inference but it is not a direct read of bid/ask. Sub-minute LTFs require a TradingView Premium or Ultimate plan. The script renders many polylines, boxes, and labels — Pine's max_polylines_count / max_boxes_count / max_labels_count caps apply. Lite Mode exists specifically for low-spec / multi-indicator scenarios. POC, VAH, VAL, and detection layers are computed from confirmed intrabar data so they update on bar-by-bar close (non-repainting beyond the current developing bar).
—
-made with passion by jackofalltrades
Indikator

Order Flow Footprint [JOAT]ORDER FLOW FOOTPRINT
A full intrabar footprint engine — POC, Value Area, per-row imbalance detection, stacked imbalance zones, delta-flip alerts, POC-shift alerts, and per-bar footprint ladder labels — built to read like a Bookmap-style auction view directly on a TradingView chart. Uses the native Footprint API when your plan provides it, with a graceful fallback to lower-timeframe tick-rule reconstruction so the script works on every account tier.
Data source — Footprint API or reconstructed
Three modes, behaviourally identical:
Footprint API — uses request.footprint() with a configurable aggregation (Auto / 1m / 3m / 5m / 15m / 30m). Native bid/ask volume per row when your plan supports it.
Reconstructed — uses request.security_lower_tf() to sample intrabar prints, then assigns each tick to buy or sell via the standard tick rule. Configurable LTF (1m / 3m / 5m / 15m / 30m).
Auto — picks Footprint when available, falls back to Reconstructed. The recommended default.
A configurable Profile Rows input (default 24, max 80) sets the vertical resolution — each chart bar's intrabar volume is bucketed into N horizontal price slices and the footprint is built from those buckets.
Imbalance detection (Bookmap diagonal)
The institutional definition of an imbalance is diagonal , not lateral :
A buy row is imbalanced when buy ≥ ratio × sell (this row's buys vs the row below it's sells).
A sell row is imbalanced when sell ≥ ratio × buy (this row's sells vs the row above it's buys).
The ratio is configurable (default 3.0× — the institutional norm). An optional minimum-row-volume filter mutes illiquid wick rows from being counted as imbalances. When N or more same-side imbalances occur inside a single bar, the Burst alert fires.
Stacked imbalance zones (the headline)
Stacked imbalances are the textbook order-flow structural read: N consecutive same-side imbalanced rows on top of each other. They mark where price had to gap through multiple thin levels to print — and they are reliable revisit zones.
Minimum stack count is configurable (default 4 consecutive rows).
Each stack zone is drawn as a box extending right by a configurable bar count.
Optional glow border on stack zones (toggleable).
Maximum active zones is capped (default 8) — older zones shift out FIFO.
POC + Value Area
Per-bar Point of Control (the row with the highest volume), Value Area High and Value Area Low (the 70%-volume centred range) are computed and toggleable. POC is rendered as a dot; VAH / VAL as lines. A configurable POC Shift Threshold (in mintick units) fires the POC Shift alert when the POC jumps more than the threshold bar-over-bar.
Delta flip detection
Per-bar delta (buy − sell) is computed continuously. The delta-flip alert fires only when delta switches sign after at least N consecutive same-sign bars (configurable, default 5). This filters out the micro-fluctuations that pure-sign-flip detectors would noise on.
Per-bar footprint ladder (optional, heavy)
When enabled, inline labels at every row of every recent bar (configurable history depth) show the buy × sell tuple per row — the full Bookmap-style read. This is visually rich but rendering-heavy; keep it off when scrolling long histories or running on low-end hardware.
Visual system
POC dot in accent yellow.
Value Area lines (VAH / VAL).
Imbalance cells highlighted in palette colour per row.
Stacked imbalance zones with optional glow.
Bar colouring by delta sign (toggleable).
Per-bar delta annotations every N bars (configurable).
Per-bar ladder labels (optional).
A locked Iridescent palette (magenta bull / cyan bear / yellow POC accent on pure black) gives the chart a cyberpunk holographic identity that reads as institutional rather than retail.
Dashboard
Monospaced table positionable to any of nine corners. Surfaces:
Source mode in use (Footprint / Reconstructed) with aggregation/LTF.
Current bar's delta value and sign.
POC price and intrabar volume share.
Imbalance count this bar (buy / sell).
Active stack zone count.
Last delta-flip direction with bar-age.
Alerts
Five alert conditions, each independently controllable:
Stacked Imbalance Zone Formed
POC Shift (POC jumped > threshold)
Delta Flip After Run (delta sign change after N+ same-sign bars)
Buy Imbalance Burst (N+ buy imbalances in one bar)
Sell Imbalance Burst (N+ sell imbalances in one bar)
How to read it
Three reads, in order of conviction:
Stacked imbalance zone — the highest-conviction read. Price had to plough through multiple thin levels to print. Future revisits are reliable reactive zones.
Delta flip after run — regime-change signal. When delta has been net-buying for many bars and finally flips net-selling, the auction direction has just rotated.
POC shift through a structural level — value migration. When the POC moves through a previous-day VAH or VAL, value has migrated and the next session's bias often follows.
Suggested settings
Defaults (1m reconstruction LTF, 24 rows, 3.0× imbalance ratio, 4-stack minimum) are tuned for 5m–15m charts on liquid markets. For 1m scalping, drop rows to 16 and stack minimum to 3. For HTF macro (1H+), raise rows to 36 and stack minimum to 5. The 3.0× imbalance ratio is the institutional Bookmap norm; tighten to 2.5× for more frequent imbalance prints.
Originality
The implementation — the Auto/Footprint/Reconstructed source router, the diagonal-Bookmap imbalance detector with row-volume filter, the consecutive-row stack zone builder with glow border, the POC-shift detector with mintick-unit threshold, the run-length-gated delta-flip alert, the per-bar ladder renderer with history depth control, and the dashboard's holographic palette — is JOAT-original. No third-party code reused. The footprint vocabulary (POC, VAH/VAL, imbalance, stacked imbalance, delta) is public-domain auction-theory language; the implementation here is purpose-built for chart-based Pine v6.
Limitations
Reconstructed footprints are an approximation — the tick rule is the accepted public-market inference for assigning intrabar trades to buy/sell but it is not a direct read of bid/ask volume. Footprint API requires a TradingView Premium or Ultimate plan and is unavailable on some instruments. The per-bar ladder labels are rendering-heavy; keep them off when historical performance matters. Stacked-imbalance zones honour the max active cap (FIFO eviction) and the extension bars cap.
—
-made with passion by jackofalltrades
Indikator

NOA Levels
NOA Levels — Structural Levels, Volume Profiles & Gap Analytics
OVERVIEW
NOA Levels combines three institutional reference frameworks into a single
overlay: prior-period structural levels, volume-derived value zones, and a
statistical session-gap engine. It is built for traders who anchor decisions to
where price has previously transacted and how the current session opens relative
to that history.
Everything plots on intraday timeframes and reads off higher-timeframe data, so
the levels stay consistent regardless of the chart resolution you trade on.
WHAT IT PLOTS
1. Prior-Period Levels (Day / Week / Month)
Previous high, low, and midpoint for each period, drawn as horizontal
references that extend across the active period. High/low use dashed lines;
midpoints use dotted lines to keep them visually subordinate. Compact labels
(pdH/pdM/pdL, pwH/pwM/pwL, pmH/pmM/pmL) keep the chart readable.
2. Volume Profiles (Daily & Weekly)
Point of Control (POC) plus Value Area High/Low for the prior day and prior
week, computed from an intrabar volume distribution. Value Area % is
adjustable (40% for a tight zone around the POC, ~70% for the standard Market
Profile convention). Resolution controls the number of price rows used to
build each profile.
3. Session Gap Engine
On each new session, the open is measured against the prior close. Every gap
is boxed and classified into one of six behavioural profiles based purely on
where the session ultimately closes relative to the gap zone:
• GapUp & Go / Hold / Reverse
• GapDn & Go / Hold / Reverse
The on-chart label shows the gap size and the developing profile in real time;
the tooltip carries the full statistical breakdown.
GAP STATISTICS (the core differentiator)
Rather than judging gaps with arbitrary thresholds, NOA Levels builds a running
distribution from your own chart's history (lookback is adjustable). For each new
gap it reports:
• Magnitude in % and price, normalized as a z-score (σ) and percentile rank
against prior gaps — so a "big" gap is defined by this symbol's own behaviour
• A Common vs. Breakaway tag (whether the open clears the prior day's range)
• Historical Go / Hold / Reverse percentages, split by gap direction
• Live fill tracking (whether the prior close has been retested)
Magnitude is normalized by absolute gap %, which is always available — so gaps
plot and compute statistics even on freshly listed symbols where ATR has not yet
warmed up. The ATR multiple is shown as an optional reference field once enough
daily history exists.
REPAINTING
Higher-timeframe levels use confirmed prior-period values (lookahead with a
one-bar offset), so historical levels do not repaint. The developing gap profile
and fill status update intrabar by design, as they describe the session in
progress; the profile is finalized and recorded into the distribution once the
session closes.
HOW TO USE
- Treat prior highs/lows and POC/Value Area as decision zones — areas where
reaction is more likely, not automatic buy/sell signals.
- Use the gap percentile and σ to gauge whether an open is routine or unusual
for this instrument before sizing or fading it.
- Read the Go/Hold/Reverse distribution as context for the current gap's most
common historical resolution — it is descriptive, not predictive.
- Midpoints often act as intraday pivots; the gap mid frequently marks the
fill objective.
SETTINGS
Inputs are grouped by period (Day / Week / Month) and function (Levels / Volume /
Gaps), with colors, line widths, label toggles, Value Area %, profile resolution,
gap lookback, and ATR length all configurable. Session and week separators are
optional.
ALERTS
New Session, New Week, New Month, and Session Gap Detected.
Indikator

Order-Flow Profile Microstructure & Calibrated SweepsOrder-Flow Profile — Footprint, Microstructure & Calibrated Sweeps
A single-pane volume profile that reconstructs intrabar buy/sell activity, renders it as a footprint / delta heatmap with Point of Control and a 70% Value Area, layers a stack of market-microstructure factors over the same price bins, and then forward-tests every reversal signal it emits against realized outcomes. The dashboard reports measured edge with confidence intervals — not asserted edge.
It runs on any liquid symbol and any intraday timeframe. Defaults are tuned for index futures (e.g. NIFTY / BANKNIFTY); a few inputs adapt it to other instruments.
What it plots
Order-flow profile drawn to the right of price: each price bin colored by who controlled it (delta) with brightness scaled to volume, or a classic split footprint. The peak-volume row is the POC; a 70% Value Area is built outward from the POC.
Low-volume nodes / voids and four quadrant deltas that localize where buying and selling concentrated within the range.
A VPIN heat-glow background whose brightness rises with flow toxicity.
Sweep tags (ABS / EXH / DIV / REJ) at liquidity extremes, and a ⚡ reclaim-confirmed liquidity-sweep marker for the high-conviction stop-run-and-reclaim subset.
A calibration / key-reads dashboard (Compact by default, Pro on demand) that adapts its colors to your chart's background luminance.
Why these components belong in one script (component rationale)
This is not a bundle of unrelated indicators stacked together. Every component describes one object — the order-flow auction taking place inside the price profile — and each measures a different facet of it. They share one substrate (the price bins) and one validation spine (the calibration engine):
The profile says WHERE volume traded. POC, Value Area and voids are the structural skeleton — the price levels that matter.
Trade classification splits that volume into buy vs sell, giving every bin a delta. Bulk Volume Classification (a Student-t CDF on the standardized intrabar move) is used by default; on Premium plans, native bid/ask footprint can replace it, feeding the same bins. A tick rule classifies the same intrabars in parallel and the agreement % is reported, so you know when the trade-side read is fragile.
The microstructure factors qualify HOW that flow behaves at those levels. VPIN (informed vs balanced), multi-level OFI (depth-weighted imbalance across the bins), Kyle's λ and Amihud (price impact / illiquidity), and √-law absorption (flow soaked up vs fragile) each answer a question the raw profile cannot. They are computed over the very bins the profile draws.
The sweep layers detect reversals AT those levels — an order-flow taxonomy (absorption / exhaustion / divergence / rejection) plus a structural stop-run-and-reclaim. A Hawkes self-exciting intensity flags when sweeps are clustering (cascade risk).
A correlation-aware fusion (Kish design-effect shrinkage) combines the firing sweep's realized edge with the concurrent absorption and toxicity tells into a single reversal probability — shrinking redundant, correlated evidence so agreement among related signals cannot masquerade as independent confirmation.
The calibration spine forward-resolves every sweep and reports its hit rate versus base rate with a Wilson confidence interval. This is what ties the stack together: a factor only earns trust if the resolved outcomes say it does.
Remove any one layer and the others lose context: the profile without classification is just a volume histogram; the microstructure factors without the profile have no levels to attach to; the sweeps without calibration are unverified claims. Together they are a single, self-checking read of the auction.
How it works (mechanics)
Intrabar data. Lower-timeframe OHLCV is pulled with request.security_lower_tf (no lookahead). The lower timeframe is auto-derived from the chart timeframe or set manually.
Trade side. Bulk Volume Classification assigns each intrabar a buy fraction from a Student-t CDF of its standardized price change; delta = buy − sell. Where a Premium/Ultimate plan allows it, native request.footprint() real bid/ask volume per price replaces the reconstruction and feeds the identical bins.
Profile build. On the last bar, the chosen lookback of confirmed bars is accumulated into price bins; POC and the 70% Value Area are derived, voids and quadrant deltas computed.
VPIN. Volume is partitioned into equal-volume buckets; the average order imbalance across the last N buckets is the 0–1 toxicity read (with a percentile and background glow).
Impact factors. Stationarized (log-compressed, z-scored) OFI; depth-weighted multi-level OFI across the bins; Kyle's λ as the regression slope of return on signed flow; Amihud illiquidity as |return| per traded value.
Absorption. A displacement-normalized form and a √-law form (realized impact vs Y·ATR·√(|Δ|/V)): below the prediction = passive absorption / reversal candidate; above = fragile expansion.
Sweeps & fusion. At a swept extreme the bar is classified ABS / EXH / DIV / REJ; a Hawkes intensity tracks clustering; a Kish-decorrelated log-odds fusion outputs one reversal probability. Separately, a reclaim-confirmed liquidity sweep fires when price runs a confirmed swing pivot, closes back inside recovering a minimum fraction of the run, on a volume spike.
Calibration. Each sweep is queued and resolved a fixed horizon later against a moveATR·ATR threshold, recorded in R-multiples (MFE / MAE). The dashboard shows, per class: sample count, Hit% ± Wilson interval, Base% (the unconditional reversal rate over the same horizon), Edge (Hit − Base, starred at 95% significance), and average MFE / MAE.
Non-repaint: all detection is on confirmed bars, lower-timeframe arrays are confirmed intrabars, no dynamic-length built-ins are used, and the profile is drawn on the last bar from confirmed history. Pivots used by the liquidity sweep are confirmed before they can be swept.
What makes it original
It is built around calibration, not assertion. Most order-flow tools print a delta, a "confidence," or a footprint and leave it there. Here every reversal signal is forward-resolved against realized price and reported with a base rate and a Wilson interval, so the dashboard distinguishes a real edge from a small-sample illusion.
The agreement between Bulk Volume Classification and a tick rule is surfaced openly — a known weakness of reconstructed order flow is shown rather than hidden.
The microstructure factors are computed over the profile's own bins and decorrelated before fusion, so correlated flow signals don't inflate confidence.
It degrades gracefully from native exchange footprint (Premium) to reconstruction (every plan) with no change to the visual or the workflow.
All factor implementations are original Pine re-derivations of published methods; no code from other scripts is used.
How to use it
Apply to a liquid symbol on an intraday timeframe. Read the profile to see where volume concentrated (POC, Value Area, voids).
Watch the sweep tags and ⚡ liquidity-sweep markers at the edges of the range — these are reversal hypotheses, not guarantees.
Before trusting a sweep class, check its row in the calibration panel (switch the dashboard to Pro): is its Hit% above Base%, is the edge starred (significant), and is the Wilson interval tight enough to mean something?
Use the VPIN glow and fused reversal probability as context: bright background = one-sided / informed flow, which leans toward continuation and makes fades riskier.
The Compact dashboard summarizes the key reads (POC, VPIN, best calibrated edge, fused probability, liquidity-sweep status, auction efficiency); Pro expands the full per-class calibration table and every microstructure row.
Hidden EXP_* data-window series are provided for chaining into other scripts via input.source().
Data & markets
Works on whatever symbol the chart shows — nothing is hard-coded to an exchange or instrument. Defaults suit index futures on an intraday chart. For other instruments, adjust the Profile & Data Source group (lower-timeframe division, profile lookback) and, on a supporting plan, the native footprint settings. Reconstructed order flow is most reliable on liquid instruments with continuous volume.
Concept credits
This script operationalizes published methods; all implementations are original re-derivations.
Tick rule / trade sign — Lee & Ready (1991)
Bulk Volume Classification & flow toxicity (VPIN) — Easley, López de Prado & O'Hara (2012)
Order-Flow Imbalance — Cont, Kukanov & Stoikov (2014)
Multi-level / integrated OFI — Xu, Gould & Howison (2018)
Price impact (λ) — Kyle (1985)
Illiquidity ratio — Amihud (2002)
Self-exciting intensity — Hawkes (1971); Bacry, Muzy et al.
Square-root impact law — Almgren et al.; Tóth, Bouchaud et al.
Effective-sample decorrelation — Kish design effect
Market / auction profile (POC, Value Area) — Steidlmayer
Confidence interval — Wilson score interval (1927)
Disclaimer
For educational and informational purposes only. This is an analytical tool, not financial advice and not a solicitation to trade, and it is not a guarantee of future results. Order-flow classification from OHLCV is an estimate, not the true tape — without a Level-2 order book every delta here is a proxy (native footprint excepted). Always do your own research and manage risk; paper-trade before committing real capital. Indikator

Visible Range Volume NodesVisible Range Volume Nodes is a visible-range volume profile indicator that shows how traded volume is distributed across price levels inside the currently visible chart area.
The script builds a horizontal volume profile from the candles visible on the chart. It divides the visible price range into rows and distributes each candle's volume across the price rows touched by that candle's high-low range. Rows with more accumulated volume are displayed wider. Rows with less accumulated volume are displayed narrower.
How volume is calculated
Each candle's volume is distributed proportionally across the price rows covered by that candle's high-low range. If a candle covers several rows, its volume is split between those rows based on the amount of price overlap.
Bullish and bearish volume are separated using candle direction:
* Candles closing above their open are counted as bullish volume;
* Candles closing below their open are counted as bearish volume;
* Neutral candles are split evenly.
Key Volume Areas
POC - Point of Control
POC is the price row with the highest volume inside the visible range. It marks the largest volume concentration in the selected chart area.
VAH - Value Area High
VAH is the upper boundary of the value area.
VAL - Value Area Low
VAL is the lower boundary of the value area.
The value area starts from the POC and expands through the highest-volume neighboring rows until the selected percentage of total visible-range volume is included. By default, this is commonly used as a 70% value area, but the percentage can be changed in the settings.
HVN - High Volume Node
HVN zones are high-volume areas detected from local peaks in the smoothed volume profile. These zones show where volume was concentrated compared with nearby price levels.
LVN - Low Volume Node
LVN zones are low-volume areas detected from local valleys in the smoothed volume profile. These zones show where volume was thinner compared with nearby price levels.
How to use it
The profile can help users compare current price action with previously traded volume areas inside the selected visible range:
* POC shows the main high-volume reference area of the visible range;
* VAH and VAL show the upper and lower limits of the main value area;
* HVN zones show areas where price previously spent more volume;
* LVN zones show areas where volume was thinner relative to nearby price levels;
* The histogram shows the full volume distribution across the selected price range.
A trader can use these areas as context when analyzing price location. For example, price trading near POC is trading near the main volume concentration of the visible range. Price trading near VAH or VAL is trading near the edge of the calculated value area. HVN and LVN zones can be used to compare current price behavior with areas of stronger or weaker previous volume participation.
These levels should be treated as structural references only. They are not automatic entries, exits, support, resistance, targets, or invalidation levels.
Main settings
* Profile Rows controls how many price rows are used to build the volume profile. More rows create a more detailed profile. Fewer rows create a smoother, broader profile;
* Value Area % controls how much of the visible-range volume is included inside the value area;
* Histogram Direction controls whether the profile is displayed to the left or right side of the visible chart area;
* Profile Distance controls the spacing between the visible candles and the profile panel;
* The script also includes settings for showing or hiding POC, VAH/VAL, HVN, LVN, labels, prices in labels, line style, line width, label size, and colors.
Limitations
*This indicator does not generate buy or sell signals;
*It does not predict future price direction;
*It does not define guaranteed support or resistance;
*It does not use exact bid/ask volume;
*It does not use footprint, delta, or order book data.
The displayed structure depends on the selected visible range, symbol, exchange, timeframe, and available volume data.
Because the profile is based on the currently visible chart range, moving or zooming the chart can change the calculated POC, value area, HVN zones, and LVN zones.
Indikator

Indikator

Aurora Compass [JOAT]Aurora Compass
Aurora Compass is a higher-timeframe volume-profile overlay with smart-money-weighted bin coloring, Point of Control (POC) tracking, Value Area High / Value Area Low boundaries, top-three High Volume Node (HVN) full-chart-width zones, low-volume node markers, liquidity-sweep detection with persistent price labels, an inter-interval POC drift trail, profile imbalance and HVN-rotation alerts, and a right-side 21-segment bias compass.
What makes it different
Traditional volume profile shows raw volume distribution. Aurora Compass weights each candle's contribution by a normalized Negative Volume Index delta, emphasising bars where institutions tend to transact (NVI-up days). The result highlights levels of smart-money concentration, not just raw turnover.
Full-chart-width HVN zone boxes (not just thin borders) make the top three nodes obvious across the entire visible price history.
Value Area High and Value Area Low are computed and drawn. The price boundaries that bracket 70% of profile volume. These are first-class horizontal levels with right-edge labels.
An inter-interval POC drift trail draws a line from each interval's POC midpoint to the next, colored by direction. You can read multi-day POC migration at a glance.
Liquidity sweeps are detected when price wicks beyond an HVN and the candle body closes back through. The script prints a persistent price label, not just a marker.
How it works
Higher-timeframe rollover is detected via ta.change(htfTf). No request.security is used. The profile is constructed from local bars within the interval.
The price range within the active interval is binned into res slices. For each bin, the script accumulates total volume and smart-money-weighted signed volume.
POC is the bin midpoint with the maximum total volume. Value Area is computed by expanding outward from POC until cumulative volume reaches 70%.
Top three bins by volume become HVNs. Bottom three become LVNs, where breakouts tend to accelerate through low-resistance areas.
Sweep markers fire when a wick pierces an HVN boundary and the body closes the other side.
POC drift in ATR units is tracked across interval boundaries. Imbalance is the absolute net signed volume divided by total volume.
Reading the chart
Heatmap boxes for each bin, transparency-modulated by relative volume share. Smart-money weighting tints them mint or red according to net flow direction.
POC dashed horizontal line extends across the visible chart with a right-edge price label that includes the inter-interval drift in ATR units.
VAH and VAL dashed lines with right-edge labels.
Three HVN full-width zones with right-edge price and volume labels.
Three LVN border-only highlights (visually distinct from filled HVN).
HTF interval boundary dotted vertical lines (capped to last 20 intervals).
Per-interval sentiment timeline labels above each historical interval's high.
Liquidity sweep labels at sweep wicks (for example SWEEP 4520.50).
Inter-interval POC drift trail (capped to last 10 segments).
Right-side 30-segment vertical bias gauge with horizontal sight-line and pointer label.
Signals
Bullish / bearish liquidity sweep
Bullish / bearish POC drift
HVN touch
HVN rotation (top-3 ordering changed between intervals)
Profile imbalance bull / bear (net signed volume crosses the threshold)
VAH / VAL touch and Value Area reclaim (up / down breakouts)
All gated on barstate.isconfirmed or barstate.ishistory. No future references.
Inputs
HTF Profile : higher timeframe selector, profile resolution, intensity scale, show heatmap, show POC, show HVN.
Cross-Interval : HTF interval markers, sentiment timeline, POC trail, LVN bands, sweep labels, gauge, sentiment label, Value Area, HVN zones, imbalance threshold.
Sweep : detection toggle.
Visual : bullish / bearish colors, intensity scale.
Dashboard : position, size.
How traders use this
HVN reactions : the top-three HVN zones are the levels most likely to attract price retests. Look for rejections or breakouts at these levels.
LVN acceleration : when price enters a low-volume bin, expected travel speed is faster. These are thin-air zones useful for measured-move targets.
Sweep then reclaim : a bull sweep where price wicks below an HVN and closes above is a classic stop-hunt-then-reverse pattern.
POC drift : a series of mint trail segments showing upward POC migration across multiple HTF intervals is a structural up-trend signal independent of price action on the LTF.
Value Area : trading within Value Area is range / rotation behavior. Trading outside is trend / discovery behavior.
Limitations
The profile is built from local LTF bars within an HTF interval. Resolution and quality scale with how many LTF bars fit in the HTF window. Daily HTF with 1-minute LTF gives the richest profile.
Smart-money weighting via NVI is a proxy. It is not a substitute for true tick-level order-flow data.
HVN / LVN selection is recomputed each bar and may shift as new volume arrives within an interval. Once the interval closes the profile is locked.
For very illiquid instruments the profile is sparse and the levels are less informative.
Compatibility
Pine Script v6 open-source indicator. Any symbol with volume data. HTF must be strictly higher than the chart timeframe. No external request.security calls. Non-repainting: signals fire on confirmed bars.
Defaults
Daily HTF, 30 bins, mint / red palette, top-right medium dashboard. For higher resolution increase the bin count. For noisier instruments raise the imbalance threshold.
Indikator

Live Footprint Center Frame📊 Live Footprint Center Frame
Live Footprint Center Frame is a footprint-style chart overlay designed to help traders study candle-by-candle volume behavior directly on the main chart. The script displays centered footprint frames around candles and breaks each candle into multiple price slots so volume structure can be viewed more clearly.
🔎 What It Does
The script visualizes estimated internal candle activity using lower-timeframe OHLCV data. It displays price-slot volume, delta behavior, POC, value area, imbalance markings, absorption-style highlights, delta bars, POC trail, and a compact HUD panel for quick market structure reading.
Key visual elements include:
• Footprint-style candle frames
• Price-slot volume ladder
• Estimated ask/bid style cell values
• Positive and negative delta coloring
• POC highlight
• Value Area highlight
• Imbalance arrows
• Absorption-style border highlights
• Small delta bar below candles
• POC trail between candles
• Compact HUD with ASK, BID, DEL, POC, VA, VOL, CVD, and bias information
🧠 General Logic
Live Footprint Center Frame uses lower-timeframe OHLCV data to approximate how volume is distributed inside each candle. The script divides the candle range into price slots, distributes lower-timeframe volume across those slots, and then calculates estimated delta, total volume, POC, value area, and balance information.
This is not true exchange-level bid/ask footprint data. It is an educational footprint-style approximation based on the data available through TradingView.
📌 Why It Is Useful
This tool can help traders study more than just candle open, high, low, and close. It gives a clearer visual view of where volume activity is concentrated inside the candle and how that activity changes from candle to candle.
It can be useful for observing:
• Where volume is concentrated
• How POC shifts between candles
• Whether delta supports or disagrees with price movement
• Where value area develops inside the candle
• Whether activity appears balanced or imbalanced
• Possible absorption-style areas
• Short-term volume structure around important price zones
🎨 Visual Reading Guide
Green-style cells show stronger positive delta behavior.
Red-style cells show stronger negative delta behavior.
Orange areas highlight the POC zone.
Blue-style areas highlight the value area.
Yellow borders can show absorption-style conditions.
Small delta bars below candles show candle delta direction and strength.
The HUD gives a quick summary of ASK, BID, DEL, POC, VA, VOL, CVD, and bias.
🧭 How To Use
1. Add the script to a clean chart.
2. Use intraday charts for clearer footprint-style reading.
3. Watch the POC area to see where the highest slot volume appears.
4. Compare candle delta with candle direction.
5. Use value area to understand where most candle activity is located.
6. Use imbalance and absorption highlights as context only.
7. Check the HUD for a quick summary of current candle conditions.
8. Combine this with market structure, support and resistance, liquidity zones, and proper risk management.
⚙️ Settings Overview
Lower timeframe precision controls the lower timeframe data used for the footprint approximation.
Closed bars to keep controls how many previous footprint candles remain visible.
Price slots per candle controls how many horizontal volume rows appear inside each candle.
Cell text controls whether cells show volume, delta, delta percentage, or estimated ask/bid style values.
Frame width adjusts the centered footprint frame width around each candle.
Live candle update allows the active candle footprint to update while the candle is forming.
POC trail connects POC movement between candles.
Value Area highlights the main volume zone.
Imbalance ratio controls imbalance sensitivity.
Absorption slot volume percentage controls absorption-style highlighting.
HUD settings control the compact panel position and visibility.
Color settings allow visual customization of bullish, bearish, neutral, POC, value area, frame, and delta elements.
⚠️ Limitations
This script uses TradingView-available OHLCV data and lower-timeframe calculations. It does not access true exchange order book data or true bid/ask footprint data on most symbols. Values can vary depending on symbol, timeframe, lower-timeframe availability, volume quality, and chart settings.
The live candle can update while it is still forming. Confirmed candles are more stable than the active candle.
✅ Educational Use Only
This script is provided for educational market analysis and visual order-flow style study. It does not provide financial advice, guaranteed results, or automatic trade decisions. Traders should use proper risk management and combine this information with their own analysis. Indikator

Simple MA TPO
Simple MA TPO
■Description
■Concept & Purpose
This indicator was developed with a single core concept: to discover the "true power" and foster a deeper understanding of the Time Price Opportunity (TPO) profile—often considered a super-tool in market analysis. By combining traditional TPO mechanics with market gravity (Moving Averages), this script aims to provide traders with a clearer, more visual representation of value and price deviation over time.
■Originality & How It Works
While traditional TPO profiles use letters (A, B, C...) to denote time periods and static colors for volume/time areas, this script introduces two highly original mechanics to add value to the community:
Sequential Numbering: Instead of letters, each TPO block is numbered sequentially (1, 2, 3...) based on its formation order. This drastically simplifies reading the flow of time within a session.
MA Deviation Gradient Coloring: The most unique feature is its coloring logic. TPO blocks are not colored randomly. Instead, their color is determined by their deviation from a baseline Moving Average (acting as the market's center of gravity).
■Calculations & Output
To ensure complete transparency in how the visual data is generated, here is the specific calculation used for the block colors:
Formula: Deviation % = ((Price / MA) - 1.0) * 100.0
Why this calculation? This calculates the exact percentage distance between the TPO block's price level and the baseline Moving Average at the time that specific block was formed. It visualizes how "overextended" the market was when time was spent at that price.
Actual Output: The output is a percentage float value (e.g., if the MA is $100 and the block price is $102, the output is 2.0 or 2%). This value is then clamped by the user-defined Max Deviation % input (default 2.0%).
Color Mapping: The clamped percentage is fed into a gradient. Negative deviations (undervalued relative to MA) shift towards Cyan, while positive deviations (overvalued) shift towards Magenta.
■How to Use
Identify Value Areas: Look for the "POC" (Point of Control) line, which indicates the price level where the most time (highest number of blocks) was spent.
Assess Reversion Risk: Blocks that are bright Magenta or bright Cyan indicate that time was spent far away from the Moving Average. Traders can use this to visually gauge if a breakout is sustainable or if a mean-reversion is likely.
Customize Your View: You can adjust the TPO timeframes (Daily/Weekly/Monthly), the block interval (e.g., 30 minutes), and choose your preferred MA type (SMA, EMA, WMA, HMA).
Disclaimer: This indicator is designed for educational and analytical purposes. TPO is a tool for understanding market structure and time spent at price levels, not a standalone trading signal generator. Past performance of price around value areas does not guarantee future results.
説明文
コンセプトと開発目的
このインジケーターは「相場分析におけるスーパーツールであるTPO(マーケットプロファイル)の真の力を見出し、深い理解を得る」というコアコンセプトのもとに開発されました。伝統的なTPOの仕組みと相場の重心(移動平均線)を融合させることで、時間の経過に伴う価値の推移と価格の乖離を、より視覚的かつ明確にトレーダーに提供します。
オリジナリティと機能
従来のTPOプロファイルは時間枠をアルファベット(A、B、C...)で表し、静的な色を使用しますが、このスクリプトはコミュニティに新たな付加価値を提供するために2つの独自機能を備えています。
連番表示: アルファベットの代わりに、各TPOブロックは形成された順番に沿って(1、2、3...)と連番で表示されます。これにより、セッション内での時間の流れを直感的に読み取ることが劇的に容易になります。
MA乖離率によるグラデーション着色: 最大の特徴はその着色ロジックです。TPOブロックは、相場の重心として機能する基準移動平均線(MA)からの「乖離率」に基づいて色が決定されます。
計算式と出力値の根拠
視覚データがどのように生成されているかを完全に透明化するため、ブロックの着色に使用されている具体的な計算式を明記します:
計算式: 乖離率(%) = ((価格 / MA) - 1.0) * 100.0
なぜこの計算なのか? この式は、特定のTPOブロックが形成された瞬間において、その価格水準が基準となる移動平均線からパーセンテージでどの程度離れているか(価格がどれほど伸びきっているか)を正確に測定するために使用されます。
実際の出力値: 出力はパーセンテージの浮動小数点数になります(例:MAが100ドルで、ブロックの価格が102ドルの場合、出力は 2.0 つまり2%になります)。この値は、ユーザーが設定した「最大の限界乖離率」(デフォルト2.0%)によって制限されます。
カラーマッピング: 制限されたパーセンテージはグラデーション関数に渡されます。マイナスの乖離(MAに対して割安)はシアン(水色)に近づき、プラスの乖離(割高)はマゼンタ(赤紫)に近づくように色が変化します。
使用方法
バリューエリアの特定: 最も多くの時間(ブロック数)が費やされた価格帯を示す「POC(Point of Control)」ラインを探し、相場の中心的価値を把握します。
平均回帰リスクの評価: 鮮やかなマゼンタやシアンのブロックは、移動平均線から遠く離れた場所で時間が費やされたことを示します。トレーダーはこれを視覚的な基準として、ブレイクアウトが持続可能か、あるいは平均回帰(MAへの戻り)が起こりやすいかを判断できます。
柔軟なカスタマイズ: TPOの期間(日/週/月)、ブロックの区切り(例:30分)、そして好みのMAタイプ(SMA、EMA、WMA、HMA)を自由に変更できます。
免責事項:このインジケーターは教育および分析目的で設計されています。TPOは市場構造と価格帯での滞在時間を理解するためのツールであり、単独の売買シグナルではありません。バリューエリア周辺での過去の価格動向は、将来の結果を保証するものではありません。
Indikator

Day Trading Session LevelsA clean, session‑accurate framework for intraday traders - maps-out critical levels from the prior session to save you prep time in the morning.
Automatically adapts to equities and futures, with all levels time‑anchored to the exact bar where they occurred.
Features
Prior Day High / Low (PDH / PDL)
Tracks the true previous RTH session
Not based on calendar days
Futures‑aware weekend handling (Thursday → Sunday/Monday)
Overnight High / Low (ONH / ONL)
Combined overnight session
Equities: After‑Hours + Pre‑Market
Futures: Globex PM + Globex AM
Levels reset at the correct session boundary
Anchored to the bar where the extreme was made
Prior Day Value Area (VAH / VAL / POC)
Calculated by full volume profile of the prior RTH session
Identifies: POC (highest‑volume price), VAH / VAL (70% value area)
Optional shaded value‑area region extending into the current session
Automatic Session Detection
Adjusts logic for equities vs futures
Handles Globex structure, dead zones, and weekend behavior
Clean, Time‑Anchored Visuals
All levels extend forward using bar‑time anchoring
Consistent across all timeframes
Optional price‑scale markers and text labels
Minimal Mode
One‑click option to show only: PDH, PDL, ONH, ONL
Perfect for traders who want a clean, high‑signal chart.
This indicator was built with help from AI-coding tools. Please reach out to me if you find issues or have suggestions for improvement. Indikator
