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.
| Day | Close |
|---|---|
| 0 | 110 |
| 6 | 90 |
| 11 | 100 |
| 17 | 90.5 |
| 22 | 101 |
| 26 | 106 |
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] > peakAssumes 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