An economic announcement arrives, the next candle opens well away from the previous close, and a conspicuous gap appears on your chart. The first temptation is to chase the new direction. The second is to trade against it because gaps are supposed to fill. ICT vacuum block analysis offers a more useful starting point: measure the jump, examine the surrounding order flow, and decide what a later return would actually tell you.
A vacuum block is especially easy to misunderstand in spot forex. Your platform displays one stream of prices in a fragmented market. A visible jump can matter for your account, but it does not reveal every transaction elsewhere. You also need to distinguish the gap at the instant of the jump from trading that occurs inside that interval before or afterward.
This guide focuses on those distinctions. It explains the previous-close-to-new-open measurement, partial and complete returns, the role of event timing, and two hypothetical EUR/USD trade plans. The first uses a partial return and reaches its target. The second follows a complete return and still loses, showing why a balanced-looking chart is not enough to justify an entry.
1. What is an ICT vacuum block?
In ICT’s original Month 4 vacuum block lesson, the concept concerns a gap associated with a volatility event, such as a major announcement, or a session opening in a market with trading interruptions. The space between the earlier close and subsequent open is treated as a bounded reference, with a midpoint, even though there is no ordinary candle body connecting those two observations.
The institutional order flow interpretation is that the market has repriced abruptly and may later revisit part or all of the skipped interval. The useful analytical questions are where that interval begins and ends, what price was doing before the event, and how the market behaves when it returns. None of those questions requires you to assume that every gap must close.
A measured interval, not an invented candle
You may hear traders describe a vacuum block as a virtual candle. That is a measurement analogy. It lets you discuss an upper boundary, lower boundary, and halfway reference. It does not permit you to insert an ordinary-looking candle into historical data or claim that its synthetic body represents transactions that actually occurred.
For chart annotations, a shaded rectangle with clearly labelled anchors is better than a fabricated candlestick. Actual candles should retain their actual opens, closes, and wicks. The gap is an additional observation between them. Keeping the two separate makes it easier to explain why a wick can later enter the gap without changing the original gap’s size.
What your forex chart can establish
A broker’s candle can establish the last displayed price assigned to one bar and the first displayed price assigned to the next. It cannot establish a universal absence of trading between those prices across every FX venue. The BIS discussion of FX execution algorithms describes fragmented execution and reduced visibility through internalisation. The practical inference is to label a chart gap as an observation on a specified feed.
That limitation does not make the gap irrelevant. Your orders depend on the prices and execution conditions available to your account. It does mean that “my feed jumped from this price to that price” is a stronger statement than “no institution anywhere could trade inside this interval.” Use the first statement in your records unless you have evidence for the broader claim.
2. How to measure the previous close, new open, and midpoint
Start with two anchors on the same instrument, feed, and quote type. Call the previous bar’s close C and the next bar’s open O. The gap’s upper boundary is the larger of C and O, its lower boundary is the smaller, and its width is the absolute difference between them. For EUR/USD, divide that difference by 0.00010 to express it in pips.
For an upward jump from 1.08618 to 1.08846, the vacuum block spans 1.08618 to 1.08846. Its width is (1.08846 − 1.08618) ÷ 0.00010 = 22.8 pips. The midpoint is (1.08618 + 1.08846) ÷ 2 = 1.08732. Here, the old close is the lower boundary and the new open is the upper boundary.
For a downward jump, those roles reverse. A previous close of 1.09472 and new open of 1.09248 produce a 22.4-pip interval with midpoint 1.09360. The old close is now the upper boundary. Naming the anchors explicitly avoids drawing the same directional arrow on both kinds of gap.
The shaded area measures two endpoint prices on one feed. The prior candle traded inside part of this price interval earlier, and the next candle revisited its upper portion later. No trade entry, stop, or target is proposed in this measurement diagram.
Do not replace the anchors with nearby wicks
Suppose the pre-event candle in the upward example reached a high of 1.08654 before closing at 1.08618. That earlier high lies inside the eventual close-to-open interval. It does not change C. Similarly, if the newly opened candle later trades down to 1.08809, its lower wick records an initial return into the gap; it does not change the original open of 1.08846.
This is why a close-to-open gap and a high-to-low gap are different measurements. The first tracks the jump between two endpoint observations. The second tests whether entire neighbouring candle ranges overlap. Record both if useful, but do not switch between them after seeing which rectangle produces a better-looking response.
Freeze the interval and track returns separately
Once the anchors are confirmed, retain the original interval. In the upward example, a later low of 1.08741 represents a return through (1.08846 − 1.08741) ÷ (1.08846 − 1.08618) × 100 = 46.1% of the gap, rounded. The lower portion remains unvisited by that return. A subsequent move to the old close would satisfy a full-return price criterion for the selected feed.
A midpoint touch, a wick reaching the far boundary, and a candle closing through it are separate events. Decide which one your journal records. None proves that every price in between traded continuously, especially if another jump crosses the interval. “Complete return” in this guide means the far endpoint was reached on the observed price series, not that an unseen order book has been restored.
3. Vacuum block versus liquidity void, FVG, and opening gap
A vacuum block and a liquidity void can appear during the same announcement, but they focus on different observations. The vacuum block starts with a gap between endpoint prices. A liquidity void can describe a broad, rapid directional range made of large candles, even where successive closes and opens are continuous.
| Concept | Primary measurement | Question to ask |
|---|---|---|
| Vacuum block | Previous close to subsequent open around the selected event or reopening | Was there a documented price jump, and how was it revisited? |
| Liquidity void | A declared broader displacement interval | How much of the rapid delivery range was subsequently retraced? |
| Fair value gap | The relevant non-overlap between the first and third candles in a three-candle formation | Does the actual three-candle geometry qualify? |
| New week opening gap | Specified closing and reopening prices across the weekend | Which instrument, trading schedule, and broker feed define those endpoints? |
| Missing chart data | An interruption in the available observations | Is the apparent gap a feed problem rather than a usable market observation? |
The site’s liquidity void guide explains broader displacement ranges. The FVG guide explains the three-candle rule. If a partially revisited vacuum block leaves a residual interval, do not automatically rename that residue an FVG. Check the relevant candles first.
An opening gap can also be described in vacuum block analysis when the context fits, but the event name does not change the arithmetic. Avoid counting a single interval as several independent confirmations just because you can label it in several ways. A news-related jump, a nearby FVG, and the subsequent displacement may all reflect closely connected parts of one movement.
A thin candle body, a large wick, or a fast move within one bar is not sufficient evidence of a close-to-open gap. On a higher timeframe, the event may sit inside a continuous candle and be invisible as a separate opening jump. Use a suitable lower timeframe or timestamped observations to examine it, while keeping the higher timeframe context for a different purpose.
4. Why event context matters more than the size of the gap
The same upward jump can lead to very different scenarios. It may occur after a correction into a higher timeframe bullish area, with a plausible liquidity objective still above. It may instead appear after a prolonged advance that has already reached an important objective. The gap’s size alone does not distinguish renewed expansion from a move that is losing momentum.
Within ICT thinking, the relevant context includes premium or discount within a defined range, nearby order blocks, earlier liquidity runs, and the next potential destination. Those references should exist in your preparation notes before the event. Adding them afterward to explain whichever direction price chose produces an attractive narrative without a reproducible decision.
Partial return does not automatically mean strength
In a bullish scenario, a pullback that stops within an upward gap can be consistent with continuation. An earlier order block or other price reference may help frame that response. But a shallow retracement can also precede another sharp decline. You need the response itself and a defined invalidation level, rather than treating every unfilled portion as proof of institutional demand.
Likewise, a complete return can remove one potential price objective without creating a buy or sell signal by itself. After an upward gap is fully revisited, price can rebound, consolidate, or continue lower. The trade decision concerns the behaviour after and around the return, not just the fact that two endpoint prices have both appeared on the chart.
Time remaining affects opportunity, not certainty
A gap near the beginning of an active session leaves more time for a qualifying setup than one near your trading cutoff. That is a practical scheduling observation, not a measured probability that early gaps always fill. If your method requires a response, confirmation, and later retest, a late event may simply leave insufficient time to complete the sequence.
Keep the news result separate from your directional thesis. A headline that appears favourable to one currency can still produce a complicated reaction because expectations, revisions, positioning, and related information also matter. You do not need to decode every cause to decide whether the observed setup meets your rules. You do need to avoid claiming that the gap reveals one institution’s precise intention.
5. How to identify a usable vacuum block on your chart
Begin by checking the event and the data. A dramatic rectangle is not useful if its endpoints came from different quote types or a disconnected platform. The following process is designed for observation after an event. It is not an instruction to place orders during the initial jump.
- Identify the event or reopening. Record its timestamp and source. For scheduled announcements, use the issuing organisation’s calendar. For a reopening, record the instrument’s actual session convention.
- Check continuity of the feed. Confirm that the platform was receiving prices and that missing bars, a connection interruption, or a symbol change did not create the appearance of a gap.
- Capture the two endpoint prices. Save the previous close and subsequent open from the same feed and quote basis. Distinguish a bid chart from an ask or midpoint chart.
- Confirm timing and bar labels. Note whether the platform labels a candle by its starting time. The event can occur at the opening of one bar even though another record describes the previous bar’s closing moment.
- Fix the range and midpoint. Preserve the original anchors. Record any immediate penetration by the first post-event candle as a return, not as a new opening price.
- Wait for an executable environment. Observe spread and price continuity, then apply a written waiting and entry rule. If execution remains unreliable, keep the annotation and place no trade.
One practical research filter is to ignore close-to-open differences smaller than both your chosen minimum price distance and a multiple of the prevailing spread. The exact threshold depends on the instrument and feed and must be tested. A tiny one-tick difference can arise without the kind of event-driven repricing you intended to study.
Do not compare a broker’s last bid before an event with its first ask afterward. That would mix the spread into the measured jump. If you have only a candle chart and cannot verify detailed quote continuity, state that limitation. A consistent chart observation is still usable for exploratory research, but it is weaker evidence about executable prices during the jump.
6. Build a trade plan after the event
The examples use a deliberately conservative observation sequence. No order is placed during the announcement. At least fifteen minutes must pass, and the monitored spread must remain at or below 1.0 pip for three consecutive minutes before a new entry is considered. These are illustrative study settings, not a guarantee that fifteen minutes or a particular spread makes trading safe or profitable.
After the waiting filter, the plan requires a completed structural confirmation and a later retest. For a bullish scenario, price must close above a previously marked internal high after responding inside the gap. The buy limit is then placed at that broken high. For a bearish scenario, price must close below a previously marked internal low, followed by a sell limit at that level.
This market structure confirmation is separate from the gap measurement. It adds an observation about current direction. It does not retroactively authorise an entry at the best price in the event candle, nor does it guarantee that a later limit order will fill.
Decide risk before choosing position size
The protective stop belongs beyond the response extreme selected by the model, with a stated buffer. The target comes from a pre-identified liquidity reference or other defined objective. Calculate distance and costs before sizing the position. A wider stop is not a minor adjustment if it changes the trade’s eligibility or account risk.
For this guide’s study model, the planned ratio must be at least 2R after the stated cost allowance. An unfilled order expires after ten minutes or at the session cutoff, whichever comes first. Cancel it if the target is reached before entry. Allow one attempt for the selected setup. If the spread condition fails before a pending order fills, cancel the pending order rather than retain a cost estimate that no longer fits.
Once filled, the examples use one full-position target and one protective stop. If neither is reached by the session cutoff, exit at the available executable price and record the result. A stop is not a guaranteed maximum loss during disrupted execution. Do not widen it because the gap remains open, and do not assume a complete gap return makes a subsequent stop-out impossible.
7. Complete bullish example after a partial gap return
This constructed EUR/USD example takes place around a hypothetical 8:30 AM New York announcement during standard time. That is 1:30 PM Ghana GMT. It is not a historical NFP trade or a current signal. Before the event, a correction has reached a previously marked hourly bullish area from 1.08560 to 1.08630. A potential buy-side liquidity objective is recorded at 1.09031.
Measure the jump before analysing the response
The last displayed price in the pre-event one-minute bar, immediately before 1:30 PM, is 1.08618. The first displayed price in the bar beginning at 1:30 PM is 1.08846. Those observations define the 22.8-pip vacuum block and midpoint of 1.08732. The new candle later reaches a low of 1.08809, but that does not replace the original opening anchor.
After the initial rise, price retraces. A small bounce establishes an internal high at 1.08798 by 1:45 PM. The later response reaches a low of 1.08741 at 1:49 PM, representing a 46.1% return into the original gap. The old close at 1.08618 remains well below price. The gap has not been fully revisited.
Assume the waiting and spread filters have now passed. At 1:52 PM, a completed candle closes at 1.08816, above the internal high. Only afterward is a buy limit placed at 1.08798. The stop is 1.08726, 1.5 pips below the response low, and the target is 1.09014, 1.7 pips before the premarked liquidity objective.
The buy limit exists only after the completed 1:52 PM confirmation. The response low, original gap midpoint, and protective stop are distinct references. The old close remains unvisited while the illustrated trade reaches its target. This selected-price sequence is constructed for teaching and does not establish historical executable fills.
The 1:54 PM retracement reaches 1.08783, allowing the hypothetical later entry in the simplified reference-price sequence. The illustrated continuation reaches the target around 2:14 PM. No entry is credited at the announcement’s old close, new open, or response low. The trade relies on information that existed before the order was placed.
| Bullish trade component | Price or calculation |
|---|---|
| Vacuum block | 1.08618 to 1.08846 |
| Midpoint | 1.08732 |
| Buy-limit entry | 1.08798 after the 1:52 PM confirmation |
| Protective stop | 1.08726 |
| Take-profit | 1.09014 |
| Price risk | (1.08798 − 1.08726) ÷ 0.00010 = 7.2 pips |
| Price reward | (1.09014 − 1.08798) ÷ 0.00010 = 21.6 pips |
| Risk-to-reward before costs | 1:3, because 21.6 ÷ 7.2 = 3R |
Include costs and round position size down
Use an illustrative 1.2-pip round-trip cost allowance for spread, commissions expressed in pips, and expected execution friction. This is not a broker quote. The losing outcome becomes 7.2 + 1.2 = 8.4 pips, while the winning outcome becomes 21.6 − 1.2 = 20.4 pips. The adjusted ratio is 20.4 ÷ 8.4 = 2.43R, approximately 1:2.43.
On a hypothetical US$5,000 account, a chosen risk budget of 0.3% equals US$15. With a standard EUR/USD contract of 100,000 euros, pip value in a US dollar account is US$10 per standard lot. Size is therefore US$15 ÷ (8.4 × US$10) = 0.1786 standard lot. If the broker supports 0.01-lot increments, rounding down to 0.17 lot gives an estimated loss of 8.4 × US$1.70 = US$14.28 and target profit of 20.4 × US$1.70 = US$34.68.
These are reference-price calculations with a separate cost allowance. A real long opens at the ask and closes at the bid. If your test already uses executable bid-and-ask prices, the spread is embedded in those prices; add only remaining costs. Slippage beyond the assumed allowance can make the actual loss larger.
The unvisited portion of the gap is not a reason to hold the trade beyond its planned target. The thesis here is continuation after a qualified response, not an obligation for price to visit every gap boundary. Once the trade is closed, continue recording the gap’s later behaviour as a separate observation.
8. Bearish example: a complete return does not guarantee continuation
On a separate hypothetical winter event day, EUR/USD jumps down from a previous close of 1.09472 to a new open of 1.09248. The gap is 22.4 pips wide and its midpoint is 1.09360. The scenario begins with an assumed bearish higher timeframe context and a post-event low at 1.09193, which provides a possible liquidity objective for a later short.
After the initial decline, price retraces upward. A temporary pullback establishes an internal low at 1.09426. By 1:59 PM Ghana GMT, the retracement reaches 1.09478, crossing the old close by 0.6 pip. That satisfies the observed full-return criterion. It does not, by itself, qualify a short.
Assume the same waiting and spread filters pass. At 2:07 PM, a completed bearish candle closes at 1.09402, below the internal low. The plan then places a sell limit at 1.09426, a stop at 1.09496, 1.8 pips above the return high, and a target at 1.09216, 2.3 pips ahead of the earlier post-event low.
Price risk is (1.09496 − 1.09426) ÷ 0.00010 = 7.0 pips. Price reward is (1.09426 − 1.09216) ÷ 0.00010 = 21.0 pips. The planned ratio before costs is 21.0 ÷ 7.0 = 3R, or 1:3. With a 1.2-pip round-trip allowance, the adjusted ratio becomes (21.0 − 1.2) ÷ (7.0 + 1.2) = 19.8 ÷ 8.2 = 2.41R.
The later 2:09 PM retracement reaches the entry. At 2:12 PM, price rises to 1.09503, passing the protective stop. The example therefore loses an estimated 8.2 pips including the allowance. The earlier full gap return remains a true observation, but it did not make the continuation trade successful.
This is the distinction to preserve in your journal: gap return, trade qualification, and trade outcome are separate fields. Do not remove a losing setup because the market failed to behave as the narrative suggested. Nor should you move the stop because price has already “balanced” the gap. The response failed under the chosen risk definition, and the loss belongs in the sample.
For an actual short, the closing transaction occurs at the ask. A bid-only chart can consequently appear not to reach the stop even when the executable ask does. Preserve order records and quote conventions before diagnosing the result as an incorrectly drawn vacuum block.
9. Ghana timing for announcements and ICT session windows
Ghana uses GMT year-round. New York alternates between UTC−5 during standard time and UTC−4 during daylight time. An 8:30 AM New York announcement therefore occurs at 1:30 PM Ghana time in winter and 12:30 PM in summer. Check the actual announcement date and timezone instead of assuming the same Ghana clock time all year.
The BLS Employment Situation release calendar provides the official schedule for the report that includes nonfarm payrolls, with times listed in Eastern Time. Use that source for scheduling, not an assumption that every release will occur on a particular Friday. The hypothetical examples above do not represent any listed release’s actual market reaction.
| New York clock reference | Ghana during New York standard time | Ghana during New York daylight time |
|---|---|---|
| London Kill Zone study window: 2 to 5 AM | 7 to 10 AM GMT | 6 to 9 AM GMT |
| New York Kill Zone study window: 7 to 10 AM | Noon to 3 PM GMT | 11 AM to 2 PM GMT |
| New York Midnight Open | 5 AM GMT | 4 AM GMT |
| Announcement scheduled for 8:30 AM | 1:30 PM GMT | 12:30 PM GMT |
The familiar 7 to 10 AM London Kill Zone and noon to 3 PM New York Kill Zone in Ghana are winter conversions of these New York anchors. The underlying clock rules are documented by the Ghana time zone reference and New York clock-change reference. London and New York can change clocks on different dates, so a New York-anchored window is not identical to a rule anchored to London’s local business opening throughout every transition period.
For the examples, the event timestamp identifies the opening of the first post-announcement bar. Later times, such as 1:52 PM, identify completed candle closes. Record this distinction explicitly if your platform labels every candle by opening time. A one-minute timestamp error can cause a replay to use confirmation information before it actually existed.
10. Common mistakes and a useful research record
Confusing a visible gap with guaranteed execution
A gap on a chart is often the period when ideal fills are least credible. Do not assume that a pending stop, market order, or protective exit could have executed at every intermediate price. The CFTC’s forex customer advisory discusses leverage and dealer-dependent trading conditions. Its US regulatory references do not establish a broker’s authorisation in Ghana. Verify the contract and execution terms that apply to your own account.
Changing the gap after the first return
The original jump remains the original jump. If the first post-event candle trades partway back through it, store both the fixed anchors and the remaining unvisited portion. Replacing the old open with that candle’s low conceals an immediate partial return and makes comparisons between events inconsistent.
Calling the midpoint an automatic entry
The halfway price is arithmetic. It does not identify a known pool of institutional orders. You can test a midpoint entry model, but it must have its own evidence, stops, costs, and outcome record. The examples here use internal structure confirmation and a later retest, so their results cannot be claimed as proof that midpoint limits work.
Keeping only complete returns and successful continuations
Save gaps that remain partly open, gaps that extend in the original direction, and setups that fail after apparently clean returns. Use a predefined observation horizon, such as the end of the selected session, and distinguish an incomplete record from a gap that remained unvisited throughout that horizon. Otherwise, the archive will overstate the reliability of whichever story you prefer.
A useful record has two linked parts. The gap record stores the instrument, feed, quote basis, event source, endpoint timestamps, original anchors, midpoint, and subsequent return percentages. The trade record stores the waiting filter, spread observations, confirmation time, order placement, fill, stop, target, fees, slippage, and realised outcome. Record why an otherwise interesting gap produced no order.
Keep your drawing and entry rules fixed while reviewing a later set of events. If you change them, date the revision and preserve the earlier results. The aim is to discover whether your particular implementation is useful, not to demonstrate that every volatile chart can be explained after the fact. Begin with replay and demo observations before considering exposure to live event risk.
11. Frequently asked questions
Is every large news candle a vacuum block?
No. A large candle can contain rapid movement without a separate previous-close-to-new-open gap. Verify the endpoint observations on an appropriate timeframe. If your feature is a continuous displacement range, the liquidity void framework may describe it more accurately than a vacuum block measurement.
Must the gap be completely filled before I consider a trade?
Not under the partial-return model illustrated here. The long example qualifies after a response inside the gap and a completed structure break. A full-return model is a different set of conditions. Choose which one you are testing in advance rather than changing the requirement to fit the latest chart.
Does the midpoint act like a candle’s mean threshold?
It is a similar halfway calculation applied to the gap’s two anchors. The interval is synthetic, so it is not the body of an actual traded candle. Its usefulness as a decision level must be tested. Do not assume that touching it produces the same behaviour as every other ICT fifty-percent reference.
Can an earlier wick lie inside a later vacuum block?
Yes. The measured jump uses the previous close and next open. A pre-event wick may have visited part of that price interval earlier, while the new candle may revisit part of it afterward. This does not change the endpoint calculation, and it is another reason to avoid claiming that the interval never contained trades.
Is an unfilled remainder automatically a fair value gap?
No. An FVG requires its own three-candle geometry. A residual interval can remain interesting without meeting that definition. Label it as the unvisited part of the original gap unless the actual surrounding candles independently qualify as an FVG.
Can vacuum blocks occur outside scheduled news?
Yes, the concept can be applied to appropriate session reopenings and unexpected volatility events. Record what you know about the timing and data, and avoid inventing a cause when it is uncertain. A disconnected price feed must still be excluded from a study intended to measure market repricing.
Why does my broker show a different gap?
Feeds can differ in quote availability, bid or ask construction, session boundaries, and bar aggregation. Use one consistent source for identification and verify execution on the account where an order would be placed. Mixing feeds to obtain a better entry or avoid a stop makes the hypothetical result unreliable.
Is waiting fifteen minutes enough after an announcement?
Not necessarily. It is only one illustrative filter in this guide. Spreads, price continuity, follow-up announcements, and order behaviour still matter. If the rest of the execution conditions do not qualify, elapsed time alone does not make the trade eligible.
Why can a trade lose after the gap has fully returned?
A completed return is a price event, not proof of future direction. The market can continue through the old close or reverse again after a temporary response. Keep the trade’s stop and outcome separate from the gap’s return status, as the bearish worked example demonstrates.
Continue with the guides to fair value gaps, ICT order blocks, and market structure shifts. Use London Kill Zone preparation and the ICT Judas Swing explanation to organise session context. Then study vacuum blocks with fixed endpoint prices, a separate execution plan, and a record that includes both qualified trades and sensible decisions to stay out.
