Pine Script Volume Footprints (request.footprint): Complete Guide to Order Flow Analysis in TradingView
Pine Script volume footprints are a game-changer for TradingView users. Think of them as finally getting a look under the hood of each candle on your chart. For years, we could only see the total volume for a bar. Now, with this upgrade to Pine Script, we can program tools that see the buying and selling pressure at every single price tick inside that bar. If you've ever wanted to build custom indicators that understand the real auction happening within each candle, you're in the right place.
What Are Volume Footprints?
Simply put, a volume footprint chart shows you where the volume actually happened inside a candle. Instead of just one volume bar at the bottom, it breaks down each candle into price levels. For each level, it shows you how much volume came from buyers and how much from sellers.
It’s the difference between knowing a store had 100 customers today (standard volume) and knowing exactly what each customer bought at every price point (volume footprint). This reveals the market's real auction process, trade by trade.
Here’s how it differs from what you're used to seeing:
| Standard Volume | Volume Footprint |
|---|---|
| Shows total shares or contracts traded per bar. | Shows volume at each price level within the bar. |
| One number or bar per candle. | Breaks volume down into bid (selling) vs. ask (buying). |
| Tells you if there was activity. | Tells you where and what kind of activity happened. |
This breakdown gives you two key pieces of information:
- Delta: This is the net pressure. It's the buying (ask) volume minus the selling (bid) volume at a price level. A high positive delta means strong buying; a high negative delta means strong selling.
- Point of Control (POC): This is the price level inside the candle that saw the most total volume. It’s often the fairest price agreed upon by buyers and sellers during that period.
In essence, volume footprints bring a level of market detail to TradingView that was once only available on expensive professional platforms. It lets you see the structure of the market, not just the outcome. For a deeper dive into volume analysis, explore our guide on the Up Down Volume Ratio for another powerful approach to measuring buying and selling pressure.
Pine Script Volume Footprints: A Game-Changing Update
Big news if you use Pine Script to build indicators. On March 1, 2026, TradingView rolled out a feature many coders have been waiting for: native volume footprint support.
They've added a new request.footprint() function. In simple terms, this lets your scripts directly access the detailed buy/sell pressure inside each candle, something that was pretty tricky to do properly before.
This is a major shift. Up until now, if you wanted to guess at that intra-bar activity, you had to use a complicated workaround with request.security_lower_tf(). It was never quite right, often slow, and honestly a bit of a headache. This new function cuts through all that clutter, giving you clean and accurate data directly.
Just a heads up, because this deals with heavy tick-by-tick data, it's only available on TradingView's Premium and Ultimate plans. For most serious developers, though, the added clarity is worth it. If you're looking to maximize your plan's value, check out our guide on TradingView subscription discounts to potentially save on the required tier.
In a nutshell: Forget the old workarounds. You can now pull precise volume footprint data natively in Pine Script with request.footprint(). It's more accurate, performs better, and is a huge step forward for custom market analysis.
What You Can Now See with request.footprint()
Trying to see exactly what’s happening inside each bar—who’s buying, who’s selling, and where—used to be tricky in Pine Script. You’d often need separate tools. Now, the request.footprint() function changes that. It gives you four key pieces of market detail right in your script:
| Data Type | Description | Trading Application |
|---|---|---|
| Granular Volume Splits | Exact buy (ask) and sell (bid) totals for the entire bar and at specific price levels | Identify who is in control of a bar |
| Volume Delta | The precise difference between buying and selling pressure | Detect absorption and aggression |
| Auction Levels | Point of Control (POC), Value Area High (VAH), Value Area Low (VAL) | Map key support/resistance zones |
| Imbalances | Buying or selling imbalances at specific price rows | Spot explosive potential energy |
You can pull this information for each bar and use it directly in your own indicators or strategies. It lets you see the market in much finer detail, all without leaving the Pine Script editor.
Key Ideas: POC, Value Area, Delta, and What They Tell You
Getting comfortable with the language of footprint charts is your first step to writing useful scripts. Let's break down the main terms you’ll see.
Point of Control (POC)
Think of the POC as the "sweet spot" of a trading bar. It’s the single price where the most shares changed hands. Because so much activity happened there, the market often remembers it. Price has a habit of swinging back to test old POC levels, which can make them solid areas of support or resistance later on.
Value Area High and Low (VAH / VAL)
The Value Area is where most of the action happened—specifically, about 70% of the bar’s total volume. The VAH is the top of this zone, and the VAL is the bottom. If price starts moving outside this value area, it's a clue. It either means price is breaking out to find a new value, or it’s getting rejected and will snap back inside. With request.footprint(), your script can automatically find these levels on any bar you choose.
Volume Delta
Delta is just a simple sum: Ask Volume minus Bid Volume. It shows you who was more aggressive in that bar.
- A big positive delta means buyers were more aggressive, pushing trades through at the ask price.
- A big negative delta means sellers were dominant, hitting the bid price. Watch for divergences. If price is going up but delta is falling (a bearish divergence), it can be a hidden sign of selling pressure—a useful early warning for a potential reversal.
Imbalances
An imbalance is a lopsided auction. It happens when, at one price level, the buy volume is way higher than the sell volume at the price right next to it, or the other way around. These stacked imbalances are like gaps; they often pull price back because there were likely unfilled orders sitting there. Your Pine Script can now be set up to spot and notify you about these patterns.
Understanding Volume Footprint Indicators
Think of a volume footprint as an X-ray of a single candlestick. While a normal bar just shows the open, high, low, and close, a footprint reveals all the trading activity inside the bar—where exactly the price traded and how much volume happened at each level. This helps you see whether buyers or sellers were truly in control.
Here’s a straightforward way to start building one in Pine Script using the dedicated request.footprint() function. It pulls all that detailed data for you in one go.
//@version=6
indicator("Volume Footprint Analysis", overlay=false)
// Request footprint data for the current symbol and timeframe
fp = request.footprint(syminfo.tickerid, timeframe.period)
// Extract key levels
poc = fp.poc // Point of Control price
vah = fp.vah // Value Area High
val = fp.val // Value Area Low
delta = fp.delta // Net buy/sell delta for the bar
buyVol = fp.buy_volume // Total ask-side volume
sellVol = fp.sell_volume // Total bid-side volume
// Plot delta as a histogram
plot(delta, title="Volume Delta", color=delta >= 0 ? color.teal : color.red, style=plot.style_histogram)
// Plot VAH and VAL as reference lines
hline(0, "Zero Line", color=color.gray)
The main advantage here is simplicity. Instead of piecing together multiple data streams, request.footprint() gives you a complete package with everything you need in one object. This makes your code cleaner and faster.
Once you have these building blocks—like the Point of Control (the price with the most volume) or the net Delta—you can start to experiment. You can smooth them with moving averages, check for extremes with other indicators, or set up alerts. It’s a practical foundation for exploring how order flow really works. To better understand the language you're coding in, our article on how Pine Script compares to Python clarifies the key differences and similarities.
Practical Trading Strategies Using Pine Script Volume Footprints
Here are a few ways you can use the new Volume Footprint tools in Pine Script to build actionable trading ideas. Think of these as starting points you can tweak and adapt to your own style.
1. Spotting Exhaustion with Delta Divergence
This is about watching for when price and buying/selling strength tell different stories. Imagine the price pushes to a new high, but the net buying pressure (the Delta) is actually weaker than the previous high. That often means the buyers are running out of steam, even though the price is still climbing. You can write a script to automatically detect this mismatch between price and delta, and have it send you an alert so you don't have to stare at the charts all day.
2. Trading the Pullback to the Point of Control (POC)
The POC is that price level where the most trading happened in a session—it’s a magnet. Often, when price swings away from it, there’s a good chance it will snap back. Before, figuring out the exact POC was a hassle. Now, with fp.poc, your script knows the precise level. You can set up an automated watch for when price returns to that key area, giving you a clear signal for a potential mean-reversion trade.
3. Finding Imbalance Clusters for Breakouts
Sometimes you’ll see a series of volume bars where the buying or selling is overwhelmingly one-sided—these are imbalances. When three or more of these stack up at consecutive prices, it creates an "imbalance zone." These zones are interesting because when price later revisits them, it often moves through them quickly. Your script can scan for these stacked zones, highlighting them as potential areas for breakout or pullback entries.
4. Fading Moves Outside the Value Area
The Value Area (VA) contains about 70% of a session's volume. Statistically, when price opens a session outside this area—either above the Value Area High (VAH) or below the Value Area Low (VAL)—it tends to rotate back inside more often than not. You can automate a strategy around this. Your Pine Script can monitor the real-time price against the dynamically calculated VAH and VAL, and signal a trade when it fades back toward the value area.
Getting the Most Out of Footprint Data
Using request.footprint() is a powerful way to see the buying and selling pressure behind each bar. But since it’s looking at every single trade tick, it’s a good idea to keep a few practical tips in mind to make your scripts run smoothly and give you the most useful insights.
Pick the right chart timeframe. Footprint analysis really shines on shorter timeframes. For day trading, you’ll get the clearest picture on 1-minute to 15-minute charts. If you’re looking at swings over a few days, hourly charts can work well too. On daily or weekly charts, the data can become too compressed to be as actionable.
Don’t ask for too much history. While it’s tempting to analyze years of footprint data at once, requesting it for thousands of historical bars will slow things down. Try to limit your lookback period to what you actually need for your analysis—often the last several hundred bars is plenty.
Use it with your regular chart analysis. Think of footprint data as your behind-the-scenes look at market activity. It’s most powerful when you use it together with the candlestick patterns, support/resistance levels, and trends you already watch. It confirms or questions what the price action is showing you; it rarely works well as a signal all by itself.
Set up smart alerts instead of cluttering your chart. You don’t need a footprint overlay on every single bar. A great approach is to use Pine Script’s alertcondition() function. You can set it to notify you only when something significant happens, like a huge volume imbalance or a delta reading that breaks a key level. This keeps your chart clean and your focus sharp.
A quick note on access: The request.footprint() function needs a Premium or Ultimate TradingView subscription to work. It’s a good idea to double-check your plan before you dive too deep into building a script you want to rely on.
So, you're trying to get a clearer picture of what's really happening with volume in the market, beyond just whether it's high or low. Standard tools give you a piece of the puzzle, but newer methods in TradingView's Pine Script can show you the whole picture. Let's break down the key differences in plain terms.
Think of it like this: traditional volume tells you how much, but advanced footprints can start to tell you who might be doing it and where the real pressure is.
| Feature | Standard Volume | Volume Profile | Pine Script Footprints |
|---|---|---|---|
| Bar-level detail | Total only | Price rows (static) | Bid/ask at every row |
| Delta access | ❌ | Estimated | ✅ Exact |
| POC / VAH / VAL | ❌ | ✅ Manual | ✅ Programmatic |
| Imbalance detection | ❌ | ❌ | ✅ Native |
| Scriptable & alertable | Partial | Partial | ✅ Full |
| Plan required | Free | Free/Pro | Premium / Ultimate |
Here’s what that means for you:
-
Standard Volume is your basic, ever-present tool. It's essential, but it just shows the total activity for each candle. It doesn't differentiate between buying and selling pressure within that candle.
-
Volume Profile is a great step forward. It shows you where volume piled up at specific price levels over a set time (like a day or week). It helps you find important support/resistance zones (VAH/VAL) and the point of control (POC). The downside? It's usually a static, historical view after the period closes, and the "Delta" (buying vs. selling volume) is often an estimate.
-
Pine Script Footprints (which require a higher TradingView plan) let you see the market's mechanics in real time. The big leap is seeing the bid/ask at every price update and getting the exact Delta. This means you can literally see if buyers or sellers were more aggressive at specific moments inside a candle. Imbalances (large buy or sell orders) become obvious as they happen. And because it's built in Pine Script, you can automate alerts, build custom strategies around it, and visualize it all right on your chart.
In short, if you're looking to spot institutional activity, pinpoint exact entry/exit points, and automate your analysis, the programmatic depth of Pine Script footprints is a powerful upgrade from traditional volume tools.
Your Questions on Pine Script Volume Footprints, Answered
Got questions about using the new request.footprint() function in TradingView? You're not alone. Here are clear, straightforward answers to the most common things people ask.
Q: Do I need Pine Script v6 to use request.footprint()?
Yes, you do. This handy function was added as part of the Pine Script v6 upgrade that came out in early 2026. To make it work, just remember to put //@version=6 right at the very top of your script.
Q: Can I use volume footprint data in backtesting strategies?
Absolutely. The request.footprint() function works perfectly in both regular indicator scripts and full-blown strategy scripts. This means you can build and test automated strategies that use signals from the Point of Control (POC), Value Area High/Low (VAH/VAL), or volume delta, all within TradingView's backtester.
Q: Is footprint data available for all instruments? Not quite. Footprint charts need detailed tick-by-tick volume data from the exchange to work. You'll generally find it for popular assets like major cryptocurrency pairs, stocks, and futures contracts. However, whether you can access it depends on your specific broker's data feed and your TradingView plan.
Q: How does request.footprint() differ from request.security_lower_tf()?
This is a big one. Think of request.security_lower_tf() as bringing you the individual building blocks (lower-timeframe bars) and leaving you to assemble the footprint manually. It's possible, but it's a lot of work.
request.footprint() is different. It gives you the fully assembled, structured data in one go—complete with delta, POC, VAH, VAL, and imbalance data. It’s not only much easier to use but also faster and more accurate for this specific job.
Q: Can I plot the full footprint grid (bid/ask at each price level) on the chart?
You can, yes. The function returns all the data you need, organized by price level. You can write a little loop to go through that data and use Pine Script's drawing tools, like box objects, to build a custom footprint chart that looks exactly how you want it to.
What to Do Next: Dive In and Connect
Getting access to native Pine Script volume footprints is a game-changer for traders building their own tools. It opens up a whole new layer of market insight. If you're ready to get your hands dirty, here's a practical path forward:
- Upgrade your TradingView plan. You'll need at least a Premium or Ultimate subscription to use the new
request.footprint()function in your scripts. - Look at examples first. Head to TradingView's public script library and find an open-source footprint indicator. Cloning it to see how it's built is the fastest way to learn before you start coding from a blank page.
- Keep it simple to start. Building a delta histogram is the most straightforward place to begin. It gives you clear, usable data right away.
- Add it to what you already use. You don't need to reinvent your whole strategy. Try using footprint levels, like the Point of Control (POC) or Value Area High/Low (VAH/VAL), as an extra confirmation filter for your existing trade setups.
- Share what you make. Once you have a draft, publish your script on TradingView. The community's feedback is incredibly valuable and will help you spot scenarios you might have missed.
For traders who want to accelerate this entire process—from idea to a polished, error-free script—without getting bogged down in syntax, there's a powerful alternative. Platforms like Pineify are designed precisely for this. You can visually assemble complex indicators using a drag-and-drop editor with access to 235+ technical indicators, or describe your logic to an AI Coding Agent that generates ready-to-use Pine Script. It’s a practical way to build, test, and implement custom tools like volume footprint analyses much faster.
Have you tried using request.footprint() yet? If you have questions or a specific idea you're working on, bring it to the TradingView community forums. The order flow community there is really engaged and helpful. You'll get the best advice when you share the specific problem you're trying to solve—experienced traders and coders are usually happy to jump in and help.

