24 — Structural Analysis

Gaps#

Price VoidHeuristic1 min read
◆ The PatternEmpty space between candles — where no trading happened

Gaps occur when price opens above the prior close (gap up) or below it (gap down), leaving a void. Four types: Common (noise, often fills), Breakaway (starts a new move), Runaway (continuation), Exhaustion (end of move).

Breakaway → starts move · Runaway → continues · Exhaustion → ends
"Gaps always fill" is a myth — breakaway and runaway gaps often don't fill for months or years.
// Four types of gaps
Key insight: Volume distinguishes gap types — breakaway gaps have high volume, runaway gaps have moderate volume, and exhaustion gaps have extreme volume followed by a reversal.
Pattern bridge: A discontinuity where price jumps past a range. In statistics, outliers are the same — data points that break the expected distribution.
Worked example

The second bar’s high is 104; the third bar’s low is 106. The whole third bar trades above the second, leaving a gap of 2 points (about 1.9%). Two bars later the low reaches 103.5, below 104: the gap is filled.

The example data

The bars the example is worked on.

BarOpenHighLowClose
1101102100.5101.5
2101.5104101103.8
3106.2108106107.5
4107.5108.5105.5106
5106106.5103.5104
Where it misleads
  • Not every gap means the same: gaps inside a range tend to fill, while gaps on news can run. Telling them apart in advance is the hard part.
  • “Gaps always fill” is a saying, not a statistic; some never do.
  • On round-the-clock markets gaps barely exist, so the idea is mostly about stocks and futures.
In code
gap_up = df['low'] > df['high'].shift()               # the whole bar above yesterday's
size = df['low'] - df['high'].shift()
day = gap_up.idxmax()
bottom = df['high'].iloc[day - 1]                     # the gap's lower edge
filled = (df['low'].iloc[day + 1:] <= bottom).any()
Python, in your browser — edit the code and run it again

Assumes import numpy as np, import pandas as pd, and a DataFrame df with columns open, high, low and close for the data above.

Sources
  • Technical Analysis of Stock Trends, R. D. Edwards & J. Magee, 1948 (later editions revised by W. H. C. Bassetti)
  • Technical Analysis of the Financial Markets, J. J. Murphy, New York Institute of Finance, 1999

Last reviewed October 2026 · How this site checks its content · Report a mistake

Check yourself

1. A gap at the start of a new trend, on heavy volume after news, is classically called a…

Show answer

B. Runaway gaps appear mid-trend; exhaustion gaps near its end. The labels are only certain in hindsight.

2. What about the saying “gaps always fill”?

Show answer

A. A rule that is right only on an unknown timescale cannot guide a trade.

3. Why are price gaps common in stocks but rare in major currency pairs?

Show answer

A. A gap is simply news priced in at the next open.

Linked from 1
← Previous
Channels
Open in the full reader, with the topic sidebar