Peek behind the price action with Level 2 data. Use market depth to shield automated futures trades from slippage and navigate thin order books with precision.

Market depth Level 2 data shows the actual buy and sell orders waiting at each price level in futures markets. For automated futures decisions, Level 2 data reveals where liquidity sits, how thick the order book is, and whether large orders might cause slippage. Traders use this information to time entries, set realistic limit prices, and avoid executing into thin markets where fills deteriorate quickly.
Level 2 data is a real-time display of all pending limit orders at every price level in a futures contract's order book. Unlike Level 1 data, which only shows the best bid and best ask, Level 2 reveals the full queue of resting orders on both sides of the market. This gives you a picture of where buyers and sellers have placed their orders and how much size sits at each price.
Level 1 Data: The top-of-book quote showing only the highest bid price, lowest ask price, and last trade price. This is what most basic quote screens display.Level 2 Data (Depth of Market/DOM): A full view of pending buy and sell orders at multiple price levels below and above the current market price. It shows order quantity at each level, helping traders gauge supply, demand, and potential support or resistance zones.
On the CME, Level 2 data for E-mini S&P 500 (ES) futures typically shows 10 price levels deep on each side. That means you can see the bid and ask sizes at the current best prices plus the next 9 levels in each direction. For ES with a $12.50 tick value and 0.25-point tick size, those 10 levels cover 2.50 points of price range on each side.
The data updates constantly. Orders get added, modified, and canceled hundreds of times per second during active trading hours. According to CME Group's market data documentation, their CME Globex platform distributes depth-of-market data through the MDP 3.0 market data feed, which includes aggregated quantity at each price level [1].
Market depth measures the volume of resting limit orders at each price level in the order book. A "deep" market has substantial order size stacked across many price levels, meaning large orders can be filled without moving the price much. A "thin" market has sparse orders, and even moderate-sized trades can push the price several ticks.
Here's what that looks like in practice. During regular trading hours (RTH) on a normal day, ES might show 2,000-4,000 contracts at the best bid and ask combined. During the overnight session or right before a major economic release like FOMC announcements, that number might drop below 500 contracts. The difference matters for execution quality.
Think of market depth like a parking garage. Each floor represents a price level. A full garage means plenty of capacity to absorb arriving cars. An empty garage means every new car changes the dynamics. When the order book is full, your market order gets absorbed across plenty of resting limit orders. When it's empty, your order chews through multiple price levels to get filled.
Not all futures contracts have the same depth profile. ES and NQ typically maintain the deepest books among equity index futures because of their trading volume. According to CME Group data, ES averages roughly 1.5 million contracts per day, while NQ averages around 800,000 [2]. That volume translates to thicker order books and tighter spreads.
Commodity futures tell a different story. Gold (GC) and Crude Oil (CL) carry meaningful depth during their most active periods but thin out during off-peak hours. CL depth drops noticeably after the NYMEX close at 2:30 PM ET, even though electronic trading continues. If your automated futures trading system runs overnight on CL, the market depth you see at 3 PM looks nothing like what you see at 10 AM.
ContractTypical RTH Depth (Inside Bid+Ask)Typical ETH DepthDepth Drop During News EventsES (E-mini S&P)2,000-4,000 contracts500-1,500 contracts50-80% reductionNQ (E-mini Nasdaq)1,000-2,500 contracts300-800 contracts50-80% reductionGC (Gold)500-1,500 contracts100-400 contracts40-70% reductionCL (Crude Oil)800-2,000 contracts100-500 contracts60-85% reduction
Note: These are approximate ranges based on normal market conditions. Depth fluctuates continuously and varies with overall market regime.
A standard Level 2 display, often called the DOM (Depth of Market) ladder, shows price levels vertically with bid quantities on one side and ask quantities on the other. Each row represents one tick increment, and the numbers beside each price show how many contracts are resting there as limit orders.
DOM (Depth of Market) Ladder: A visual tool that displays bid and ask order quantities at each price level in a vertical format. Traders use it to see where liquidity is concentrated and to place orders directly on the ladder.
Bid/Ask Size Imbalance: When the total bid size across visible levels is significantly larger than total ask size (or vice versa), it suggests directional pressure. A 3:1 bid-to-ask ratio across the top 5 levels, for example, indicates more resting buy interest. This doesn't guarantee price direction since those orders can be pulled at any moment, but it's a data point.
Size Clusters: Large order quantities at specific price levels often act as short-term support or resistance. If 1,200 contracts sit at the bid at 5,450.00 on ES when normal depth per level is 200-400 contracts, that level might absorb selling pressure temporarily. Automated systems can flag these clusters.
Refreshing Orders: Sometimes a price level keeps getting "refilled" after trades execute against it. This suggests an institutional participant or algorithm is working a large order at that level. The resting size gets eaten, then reappears. This pattern, called "iceberg" or "refresh" behavior, signals genuine commitment at that price.
Pulling Orders: The opposite of refreshing. Orders disappear from a level before being traded. This is called "spoofing" when done with manipulative intent, and the CFTC has brought enforcement actions against it. For your analysis, rapidly disappearing size at a level means that apparent support or resistance may not hold [3].
Automated trading systems can incorporate market depth Level 2 data for automated futures decisions in several ways: as execution filters, order type selection logic, and entry timing signals. The simplest application is using depth as a go/no-go filter before placing a trade.
Your TradingView strategy fires a buy signal on NQ. Before the order goes out, a depth filter checks whether the current ask-side liquidity meets a minimum threshold. If less than 300 contracts sit across the top 3 ask levels, the system either delays execution, switches to a limit order instead of a market order, or skips the trade entirely.
This type of filter helps manage slippage in automated futures execution. Sending a 5-contract market order into a thin book might cost you 2-3 ticks of slippage on NQ. At $5.00 per tick per contract, that's $50-75 in execution cost on a 5-lot trade. A depth filter catches those situations before they cost you money.
Some automated trading systems dynamically choose between market orders and limit orders based on current depth. The logic works like this:
This approach requires real-time DOM data access, which most broker APIs provide but not all automation platforms process natively. Platforms that connect through TradingView webhooks typically don't include DOM data in the webhook payload itself. The depth check would need to happen at the execution layer, between receiving the alert and sending the order to the broker.
Another application: adjusting position sizing based on available liquidity. If your system normally trades 3 ES contracts but current depth at the inside bid is only 150 contracts (well below normal), you might reduce to 1 contract. The logic protects you from excessive market impact on your own fills.
Market Impact: The price movement caused by your own order executing against the order book. Larger orders in thinner markets create more market impact, widening the gap between your expected fill price and actual fill price.
Level 2 data has real limitations that every automated trader should understand. Visible orders represent only a fraction of actual trading interest, and the book can change in milliseconds. Treating the DOM as a reliable map of future price behavior leads to problems.
A bid showing 2,000 contracts at a price level can disappear before the next data tick. High-frequency trading firms routinely add and remove orders as part of their market-making strategies. The CME's cancel-to-fill ratio for some participants exceeds 90%, meaning more than 9 out of 10 orders placed are canceled before execution [4]. What you see on the DOM right now may not be there 100 milliseconds from now.
CME Globex supports iceberg orders (also called "reserve quantity" orders) that only display a small portion of the total order size. A trader might have a 500-contract buy order at a specific level, but only 20 contracts appear on the DOM. Each time those 20 contracts fill, the next 20 appear. Your depth analysis only captures the visible tip.
The market depth data you see is already stale by the time it reaches your screen or automation system. Even with direct market data feeds, there's a delay between the order book changing on the exchange and your system processing that change. For retail traders using broker-provided DOM data, this delay can be 50-200ms. The book has already shifted by the time your system reacts.
Here's the thing about Level 2 data: heavy bid-side depth doesn't mean price will go up. Institutional traders sometimes place large visible orders on one side to attract liquidity while executing on the opposite side. A study published in the Journal of Financial Markets found that visible order book imbalance has limited predictive power for price movements beyond very short time horizons [5].
For automated futures decisions, this means depth data works better as a risk filter (avoiding bad execution) than as a directional signal (predicting where price will go).
If you want to incorporate market depth into your automated system, start with simple threshold filters rather than complex order flow models. Simple rules are more robust and easier to monitor.
Set a minimum combined depth (bid + ask at the inside) below which your system won't execute market orders. For ES, a reasonable starting threshold might be 500 contracts at the inside. For NQ, 200 contracts. For CL or GC, 100 contracts. These numbers should be calibrated using your own historical depth observations during the sessions you trade.
Since depth follows predictable patterns around market events, you can use time-based rules as a proxy for depth conditions. Many traders pause automation during known thin-liquidity windows:
This approach is simpler than real-time depth monitoring and catches most dangerous low-liquidity situations. Platforms like ClearEdge Trading allow you to set trading schedule rules that restrict execution to specific time windows, which achieves a similar effect without needing direct DOM integration.
TradingView offers a DOM panel for supported brokers and data feeds, but the depth information available depends on your subscription level and connected broker. For most futures automation workflows, depth analysis happens at the broker platform level rather than within TradingView alerts.
When depth is thin, market orders take longer to fill completely because the order must sweep through multiple price levels. This increases both latency and slippage, which is why some automated systems switch to limit orders or pause execution when depth drops below preset thresholds.
Level 2 data is one component of order flow analysis, but order flow also includes trade prints (actual executed trades), volume at price, and delta (the difference between buying and selling volume). Order flow analysis combines all these inputs, while Level 2 only shows resting orders.
Yes, significantly. Market makers and algorithmic traders pull their resting orders before high-impact events like NFP releases and FOMC announcements. Depth can drop 50-85% in the seconds before a release and takes 1-5 minutes to return to normal levels.
Most no-code futures automation platforms don't directly process Level 2 data for trade decisions. They typically work with price-based signals from TradingView. However, you can approximate depth awareness by using time-based filters, volatility checks, and limit orders instead of market orders during known thin-liquidity periods.
A commonly used starting point is 500 contracts combined at the best bid and ask during RTH. During ETH sessions, some traders lower this to 200 contracts. These numbers should be calibrated against your own trade size and tested in paper trading before going live.
Market depth Level 2 data for automated futures decisions works best as a risk management filter rather than a directional signal. The order book tells you about current liquidity conditions and potential execution costs, but it doesn't reliably predict where price will go next. Use depth thresholds to protect your fills, time-based rules to avoid thin markets, and limit orders when conditions are uncertain.
To learn more about building a complete automated system with proper risk controls, read the complete guide to automated futures trading. Start with paper trading to test how your depth-related rules perform before committing real capital.
Want to dig deeper? Read our complete guide to automated futures trading for more detailed setup instructions and strategies.
Disclaimer: This article is for educational purposes only. It is not trading advice. ClearEdge Trading executes trades based on your rules; it does not provide signals or recommendations.
Risk Warning: Futures trading involves substantial risk. You could lose more than your initial investment. Past performance does not guarantee future results. Only trade with capital you can afford to lose.
CFTC RULE 4.41: Hypothetical results have limitations and do not represent actual trading.
By: ClearEdge Trading Team | About
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Block quote
Ordered list
Unordered list
Bold text
Emphasis
Superscript
Subscript
Every week, we break down real strategies from traders with 100+ years of combined experience, so you can skip the line and trade without emotion.
