04 — Reversal Patterns

Double Bottom#

Bullish — WHeuristic1 min read
◆ The PatternTwo troughs at the same level — the "W" formation

The Double Bottom is the bullish mirror of the double top — price tests support twice and bounces. The "W" shape forms with a peak between two troughs. Breakout above the neckline (the middle peak) confirms the reversal.

Target = Neckline + (Neckline − Trough)
A "spring" — where the second bottom slightly undercuts the first before reversing — can be especially powerful.
// Double Bottom — W formation
Key insight: The strongest double bottoms have increasing volume on the second bounce — it shows buyers stepping in more aggressively at the support level.
Pattern bridge: Two bounces off the same floor mirror activation floors in neural nets.
Worked example

Bottoms at 90 (day 6) and 90.5 (day 17), with a peak at 100 between. Day 22 closes at 101, above the peak. Measured move: 100 + (100 − 90) = 110.

The example data

The turning points the daily closes run through, in straight lines between them; high and low are half a point either side of each bar.

DayClose
0110
690
11100
1790.5
22101
26106
Where it misleads
  • A second low slightly under the first is usually still read as a double bottom; the definition traders use is looser than any code.
  • Buying before the peak breaks anticipates a pattern that may never complete.
  • The target is rough; the next resistance level matters more.
In code
def swings(s, n=3):                     # a swing high (low) is the extreme of the 2n+1 bars around it
    w = s.rolling(2 * n + 1, center=True)
    return s[s == w.max()], s[s == w.min()]
c = df['close']
highs, lows = swings(c)
b1, b2 = lows.iloc[-2:]
peak = highs[(highs.index > lows.index[-2]) & (highs.index < lows.index[-1])].max()
is_db = abs(b1 - b2) / min(b1, b2) < 0.02
target = peak + (peak - min(b1, b2))
confirmed = c.iloc[-1] > peak
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
  • Encyclopedia of Chart Patterns (2nd ed.), T. N. Bulkowski, Wiley, 2005 — success and failure rates from large counts of patterns
  • Technical Analysis of Stock Trends, R. D. Edwards & J. Magee, 1948 (later editions revised by W. H. C. Bassetti)

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

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