|
Written and copyright © 2010-2011 by Thomas N. Bulkowski. All rights reserved.
This article discusses a trading setup and lists open and pending trades based on the double bottom chart pattern.
DB Trading Setup Summary
Signals from the double bottom trading setup discussed below are updated each day, after the market close.
The system searches for double bottom chart patterns and waits for price to climb part way up off the second bottom before signaling a potential buy.
The trade exits using a limit order at the confirmation price -- the highest high between the two bottoms. During the trade, place an initial stop below the second bottom's low.
The system has been profitable on an annual basis 80% of the time over the past 20 years. It even made money during the two recent bear markets, but it does exceptionally well the year or two
after a bear market ends.
Tests shows that the system wins about 70% of the time with profits between 2.4 and 4.0 times as high as losses.
I did not test the system using a trailing stop, only an initial "worst case" stop.
Update: In the choppy markets of 2011, the system has suffered (as of June 2011) with 2 wins and 5 losses. In 2010, the average loss exceeded the average win, so that suggests the setup may
not be as good as hoped in real time.
DB Trading Setup Background
While reading an article on top stop exits (Active Trader magazine article by Volker Knapp in the September 2008 issue, pg 54), I thought of double bottoms and wondered if I could
build a trading setup around the measure rule for chart patterns. This page is a result of that research.
It's not important to define what a top stop exit is because it doesn't apply. Nevertheless, here is what Knapp says about it. "The Top Stop exit approach is a type of 'trailing'
profit target. If the stock makes a new high in a long position, for example, the exit level will jump up. When the stock falls or enters a temporary consolidation, the profit target will drop."

I wondered if I could buy a stock after it forms the second bottom of a double bottom and ride the price rise up to the confirmation level -- which is the highest peak between the
two bottoms.
The image on the right is an ideal example of the setup. Point A represents the first bottom of a double bottom and point B
is the second bottom.
I'll discuss details in the next section, but look for price to make two bottoms with a tall peak between. Once you recognize the pattern sometime after price bottoms at
B, open a position in the stock (E) and ride it up to the price of the peak, D.
Set a "worst case" stop loss at C, a penny below the low at B.
The DB Trading Setup

I programmed my computer to find bottoms that are at least 11 days wide (an 11 day window). That's 5 days before and after price makes a low. I show an example of that in the figure's inset.
Price at F trends lower for 5 days until day 6, when it bottoms and forms the lowest low of the bunch. Then price rises for 5 days, with point 6
remaining as the lowest low. I use this procedure for both bottoms. Once price completes 5 days after the second bottom, then the highest high during those 11 days represents the buy
signal. When price closes above that high, buy at the open the next day.
In the example, I show F as the highest high. Once price closes above this price, buy at the next day's open.
Here's what to look for.
- Price should trend down into the first bottom.
- Price forms the first bottom (A) of the double bottom.
- Price then rises at least 15% off the first bottom.
- Price drops and forms a second bottom (B).
- The two valleys should bottom near the same price.
- The two bottoms should be spaced at least 20 days apart (but I arbitrarily limit the top end to 120 days).
- A buy signals when price closes above the high set during the 11 day window. The Trading Example makes this clearer.
- Require at least a 10% profit margin (measured from highest high during the 11 day window to the target price).
- Buy at the open the next day after the buy signal.
- Once bought in, place a limit order to sell at the highest high price between the two bottoms (the double bottom confirmation price).
- Place a stop loss order to sell a penny below the lowest low in the second bottom.
DB Trading Setup Methodology
To test this setup, I used in-sample and out-of-sample tests. During in-sample tests, I optimized the parameters for the pattern recognition system. If you can't find a double bottom
accurately, then what's the point of developing a setup based on it? I used the period from March 20, 2000 to July 9, 2007, a period in which the S&P 500 index reached the same price
level at the end points, but suffering a V-shaped decline between. Out-of-sample tests were from July 10, 2007 to May 25, 2010. The test period included the 2000 to 2002 bear market.
I tested the system on 571 stocks, but excluded all stocks with prices at or below $1 at the entry signal. Stocks at that price are on the verge of bankruptcy and the share amounts become
huge and unrealistic. Plus, small swings in price mean huge percentage moves.
Once I had the program finding the pattern correctly, I adjusted the entry and exit conditions. Should I buy at the current close on the day price signals an entry or wait
for the open the next day? Where should the stop be placed, at the lower of the two bottoms, below the first bottom or below the second one? Those are the types of questions I asked
and found answers to during in-sample testing.
Out-of-sample testing showed the results using the most recent price data. To expand the number of trades allowed, I adjusted a few of the pattern recognition parameters which
degraded performance somewhat.
- In sample tests from 3/20/2000 to 7/9/2007.
- Out-of-sample test from 7/10/2007 to 5/25/2010.
- Tested on 571 stocks that I follow on a daily basis.
- At time of purchase, exclude all stocks at or below $1.
- Each trade buys $10,000 worth of stock. Profits are not reinvested.
- Commissions were set at $10 per trade ($20 round trip). No allowance was made for slippage, taxes, SEC fee, and so on.
DB Trading Setup Results
| Metric | In-Sample | Out-of-Sample |
| Number of trades: | 121 | 76 |
| Percentage winning: | 70% | 72% |
| Average profit per trade: | $746.98 | $1,610.63 |
| Median profit per trade: | $971.73 | $1,290.54 |
| Average of winners: | $1,807.57 | $2,953.18 |
| Average of losers: | $744.23 | $727.58 |
| Winners (total): | $153,643.31 | $162,425.04 |
| Losers (total): | $63,259.20 | $40,017.03 |
| Win/loss ratio: | 2.43 | 4.06 |
| Average hold time: | 57 days | 46 days |
The following are the results of in-sample and out-of-sample tests, shown in the table on the right. Each trade begins with an investment of $10,000. In-sample means trades
from March 20, 2000 to July 9, 2007 and out-of-sample means trades from July 10, 2007 to May 25, 2010.
Much to my surprise, the out-of-sample tests show a vast improvement over the in-sample period despite including the 2007 to 2009 bear market.
The percentage of winners remained
about the same, but the average winning trade exploded to almost $3,000 (on a $10,000 investment per trade) up from $1,808, and yet the average loss dropped slightly to $728 from
$744.
The win/loss ratio climbed to over 4.0.
The average hold time dropped about two weeks, to 46 days.
Notes to the following table heading, by year:
- Net. This is the cumulative profits for all trades.
- Win TTL. This is the total profit from all winning trades.
- Loss TTL. This is the total losses of all trades.
- Avg Win is the average profit for winning trades.
- Avg Loss is the average loss of losing trades.
- W/L is the ratio of total profits to total losses.
- Hold Time. This is the duration from buy to sale.
- Wins, Losses, Trades. These are counts of winning, losing and total trades.
| Year | Net | Win TTL | Loss TTL | Avg Win | Avg Loss | W/L | Hold Time | Wins | Losses | Trades |
| 1990 |
$6,398 |
$6,398 |
$0 |
$1,066 |
$0 |
N/A |
27 days |
6 |
0 |
6 |
| 1991 |
$15,766 |
$13,924 |
-$4,557 |
$1,392 |
-$1,519 |
3.1 |
30 days |
10 |
3 |
13 |
| 1992 |
$28,508 |
$21,486 |
-$8,744 |
$1,343 |
-$1,457 |
2.5 |
43 days |
16 |
6 |
22 |
| 1993 |
$21,324 |
$6,731 |
-$13,915 |
$1,346 |
-$1,739 |
0.5 |
52 days |
5 |
8 |
13 |
| 1994 |
$13,948 |
$12,542 |
-$19,918 |
$1,140 |
-$1,811 |
0.6 |
53 days |
11 |
11 |
22 |
| 1995 |
$22,626 |
$12,788 |
-$4,110 |
$1,163 |
-$2,055 |
3.1 |
44 days |
11 |
2 |
13 |
| 1996 |
$18,688 |
$10,578 |
-$14,516 |
$1,322 |
-$1,815 |
0.7 |
51 days |
8 |
8 |
16 |
| 1997 |
$25,649 |
$15,841 |
-$8,880 |
$1,584 |
-$1,776 |
1.8 |
51 days |
10 |
5 |
15 |
| 1998 |
$19,553 |
$8,157 |
-$14,253 |
$906 |
-$2,036 |
0.6 |
22 days |
9 |
7 |
16 |
| 1999 |
$22,497 |
$30,155 |
-$27,211 |
$1,885 |
-$2,093 |
1.1 |
39 days |
16 |
13 |
29 |
| 2000 |
$31,744 |
$44,964 |
-$35,717 |
$1,550 |
-$2,381 |
1.3 |
50 days |
29 |
15 |
44 |
| 2001 |
$37,604 |
$23,485 |
-$17,625 |
$1,678 |
-$2,203 |
1.3 |
73 days |
14 |
8 |
22 |
| 2002 |
$71,085 |
$40,092 |
-$6,610 |
$2,673 |
-$1,653 |
6.1 |
65 days |
15 |
4 |
19 |
| 2003 |
$104,201 |
$45,326 |
-$12,210 |
$1,813 |
-$1,221 |
3.7 |
55 days |
25 |
10 |
35 |
| 2004 |
$119,226 |
$16,936 |
-$1,911 |
$1,411 |
-$1,911 |
8.9 |
108 days |
12 |
1 |
13 |
| 2005 |
$122,177 |
$7,049 |
-$4,098 |
$1,410 |
-$1,366 |
1.7 |
38 days |
5 |
3 |
8 |
| 2006 |
$126,278 |
$6,073 |
-$1,973 |
$1,518 |
-$986 |
3.1 |
18 days |
4 |
2 |
6 |
| 2007 |
$132,282 |
$9,668 |
-$3,663 |
$1,934 |
-$1,221 |
2.6 |
63 days |
5 |
3 |
8 |
| 2008 |
$136,564 |
$21,404 |
-$17,122 |
$1,529 |
-$1,712 |
1.3 |
41 days |
14 |
10 |
24 |
| 2009 |
$248,848 |
$129,177 |
-$16,892 |
$3,914 |
-$2,112 |
7.6 |
54 days |
33 |
8 |
41 |
| 2010 |
$254,690 |
$11,844 |
-$6,003 |
$1,481 |
-$2,001 |
2.0 |
29 days |
8 |
3 |
11 |
The table above shows how the system has performed over the last ~20 years, ending May 30, 2010. Most of the years cover out-of-sample tests, bull and bear markets,
recessions, and irrational exuberance. However, few of the 571 stocks covered the entire period.
Trades were included in the year if a sale occurred within that year. Thus, this table shows more complete results than the table of recent years
because trades can span the
year boundary (trades that began in 2007 and ended in 2008 will appear in this table but not in the shorter one below, for example).
Losing years were 1993, 1994, 1996 and 1998 our of 21 periods, for a success rate of 81% (80% of you only include full years). Over that time, the system created profits in
excess of losses by over a quarter million dollars, using $10,000 per trade.
Notice that the system remained profitable during the bear market years of 2000 to 2002 and 2007 to 2009. In the bull market years of 2003 and 2009, the system traded like crazy
and made lots of money, too.
Pending Trades
Here is a list of potential trades.
The double bottoms listed, if any, qualify as fitting the trading guidelines for the setup, but price has not closed above the 11-day window
to signal an entry. Once that occurs, a buy occurs the next day at the opening price. Thus, the buy price shown in the table is approximate.
| Symbol | Double Bottom | * Buy At | Sell At | Stop Price | Risk Notes |
| PCX | 10/04/2011 to 01/18/2012 | ~$9.30 | $13.43 44.4% | $6.99 -24.8% | Less than 2 to 1 profit margin |
| PCX | 10/04/2011 to 01/18/2012 | ~$9.30 | $13.43 44.4% | $6.99 -24.8% | Less than 2 to 1 profit margin |
| JNY | 10/04/2011 to 01/09/2012 | ~$10.96 | $12.43 13.5% | $8.12 -25.9% | Less than 2 to 1 profit margin |
* The entry price is approximate.
Completed or Open Trades
The following is a list of completed trades for recent years and any open trades (trades not completed yet).
| Symbol | Double Bottom | Buy | Sell | Profit/Loss | Exit |
| FLOW | 06/08/2010 to 07/01/2010 | 07/14/2010 | 08/13/2010 | -$1,841 -18% | Stopped out |
| PMTI | 06/09/2010 to 07/16/2010 | 08/02/2010 | 08/23/2010 | -$1,731 -17% | Stopped out |
| HGSI | 05/07/2010 to 07/01/2010 | 07/16/2010 | 08/26/2010 | $1,199 12% | Hit target |
| USG | 07/07/2010 to 08/12/2010 | 08/26/2010 | 09/03/2010 | $818 8% | Hit target |
| ANAD | 06/09/2010 to 08/12/2010 | 09/15/2010 | 09/16/2010 | $486 5% | Hit target |
| TREX | 06/09/2010 to 08/25/2010 | 09/03/2010 | 09/24/2010 | -$1,132 -11% | Stopped out |
| ATW | 06/08/2010 to 08/24/2010 | 09/02/2010 | 09/27/2010 | $1,299 13% | Hit target |
| HOTT | 07/07/2010 to 08/13/2010 | 08/27/2010 | 09/27/2010 | $1,398 14% | Hit target |
| JDSU | 05/06/2010 to 07/01/2010 | 08/05/2010 | 09/29/2010 | $1,387 14% | Hit target |
| ACET | 07/06/2010 to 08/25/2010 | 09/07/2010 | 09/29/2010 | $1,399 14% | Hit target |
| JCOM | 07/06/2010 to 08/27/2010 | 09/14/2010 | 10/04/2010 | $1,065 11% | Hit target |
| DOW | 07/02/2010 to 08/25/2010 | 09/03/2010 | 10/05/2010 | $888 9% | Hit target |
| TUES | 07/06/2010 to 08/24/2010 | 09/07/2010 | 10/07/2010 | $2,486 25% | Hit target |
| ASGN | 07/20/2010 to 08/31/2010 | 09/15/2010 | 10/08/2010 | $1,411 14% | Hit target |
| SLT | 05/25/2010 to 08/31/2010 | 09/14/2010 | 10/11/2010 | $872 9% | Hit target |
| FBN | 07/19/2010 to 08/24/2010 | 09/03/2010 | 11/17/2010 | -$1,742 -17% | Stopped out |
| TLB | 08/16/2010 to 10/21/2010 | 11/22/2010 | 12/08/2010 | -$2,083 -21% | Stopped out |
| GLW | 05/06/2010 to 08/27/2010 | 09/15/2010 | 12/13/2010 | $1,048 10% | Hit target |
| CV | 05/25/2010 to 08/24/2010 | 09/02/2010 | 12/17/2010 | $854 9% | Hit target |
| LZB | 07/06/2010 to 08/24/2010 | 09/22/2010 | 12/20/2010 | $1,125 11% | Hit target |
| Symbol | Double Bottom | Buy | Sell | Profit/Loss | Exit |
| HOV | 07/01/2010 to 08/31/2010 | 09/21/2010 | 01/14/2011 | $975 10% | Hit target |
| CACH | 08/26/2010 to 11/23/2010 | 12/20/2010 | 02/01/2011 | -$1,935 -19% | Stopped out |
| GY | 07/01/2010 to 08/31/2010 | 10/04/2010 | 03/08/2011 | $980 10% | Hit target |
| MTSN | 01/05/2011 to 03/17/2011 | 03/31/2011 | 05/12/2011 | -$2,366 -24% | Stopped out |
| SOMX | 11/04/2010 to 11/29/2010 | 12/22/2010 | 05/25/2011 | -$3,334 -33% | Stopped out |
| MDC | 11/30/2010 to 03/07/2011 | 04/20/2011 | 06/16/2011 | -$1,474 -15% | Stopped out |
| UDRL | 05/17/2011 to 06/20/2011 | 06/30/2011 | 07/01/2011 | $591 6% | Hit target |
| POT | 03/15/2011 to 05/12/2011 | 05/31/2011 | 07/22/2011 | $682 7% | Hit target |
| JBLU | 03/07/2011 to 04/25/2011 | 05/05/2011 | 07/26/2011 | -$1,139 -11% | Stopped out |
| SLT | 03/16/2011 to 06/20/2011 | 06/30/2011 | 08/05/2011 | -$1,421 -14% | Stopped out |
| FCX | 03/10/2011 to 05/17/2011 | 07/01/2011 | 08/08/2011 | -$1,668 -17% | Stopped out |
| UNTD | 03/18/2011 to 06/10/2011 | 06/22/2011 | 08/09/2011 | -$1,461 -15% | Stopped out |
| PHM | 08/23/2011 to 10/04/2011 | 10/13/2011 | 10/24/2011 | $1,601 16% | Hit target |
| AGO | 08/09/2011 to 09/22/2011 | 10/12/2011 | 11/23/2011 | -$1,977 -20% | Stopped out |
| TLB | 06/08/2011 to 09/07/2011 | 09/19/2011 | 11/23/2011 | -$3,135 -31% | Stopped out |
| CWTR | 10/19/2011 to 11/25/2011 | 12/12/2011 | 01/03/2012 | $1,395 14% | Hit target |
| ILMN | 10/13/2011 to 12/14/2011 | 12/30/2011 | 01/11/2012 | $1,289 13% | Hit target |
| AHS | 10/04/2011 to 11/29/2011 | 01/24/2012 | 02/01/2012 | $1,265 13% | Hit target |
| ANAD | 10/04/2011 to 11/25/2011 | 01/13/2012 | 02/02/2012 | $1,134 11% | Hit target |
| MLI | 10/04/2011 to 11/25/2011 | 01/12/2012 | 02/03/2012 | $1,325 13% | Hit target |
| Symbol | Double Bottom | Buy | Sell | Profit/Loss | Exit |
| BMI | 10/20/2011 to 12/15/2011 | 12/27/2011 | 02/03/2012 | $1,400 14% | Hit target |
| AA | 10/04/2011 to 12/19/2011 | 01/12/2012 | | $845 8% | Open |
| SCHW | 10/04/2011 to 11/23/2011 | 12/06/2011 | | $95 1% | Open |
| ISIL | 10/04/2011 to 11/25/2011 | 01/20/2012 | | -$313 -3% | Open |
| UNM | 10/04/2011 to 12/19/2011 | 01/04/2012 | | $581 6% | Open |
| JRCC | 11/25/2011 to 12/19/2011 | 01/05/2012 | | -$994 -10% | Open |
Recent Years
The following is a list of trades, sorted by years. The totals for the first year in this list could differ from the longer list because of trades that
began in the earlier year but are not included in this list. The most recent year may also have more trades since it's up to date.
| Year | Net | Win TTL | Loss TTL | Avg Win | Avg Loss | W/L | Hold Time | Wins | Losses | Trades |
| 2010 |
$9,206 |
$17,735 |
-$8,530 |
$1,182 |
-$1,706 |
2.1 |
39 days |
15 |
5 |
20 |
| 2011 |
-$5,873 |
$4,831 |
-$19,909 |
$966 |
-$1,991 |
0.2 |
64 days |
5 |
10 |
15 |
| 2012 |
$1,935 |
$7,808 |
$0 |
$1,301 |
$0 |
N/A |
21 days |
6 |
0 |
6 |
DB Trading Setup: Trading Example

The above picture shows an example of how the setup works.
Price makes a bottom at A, recovers to C and then suffers
another setback when it tumbles back to B.
Point B is the same as point H in the inset. Five days after the second bottom, price has
climbed to D. Since this is the highest peak of the 11 day window (5 days before H to 5 days after
H), the high at D represents the buy signal. Price has to close above this price to trigger an entry
at the open the next day.
When price closes above D at E, the system buys at the open the next day, F.
A stop is placed a penny below the low at H with a target of the highest high between the two bottoms, C.
When price climbs to G, the stock is sold at the target price.
-- Thomas Bulkowski
Written and copyright © 2010-2011 by Thomas N. Bulkowski. All rights reserved. Q: How many Intel CPUs does it take to do a logical right shift? A: 33. One to hold the bits and 32 to push the register.
|