As of 12/07/2022
  Indus: 33,598 +1.58 +0.0%  
  Trans: 13,768 -130.21 -0.9%  
  Utils: 973 -6.18 -0.6%  
  Nasdaq: 10,959 -56.34 -0.5%  
  S&P 500: 3,934 -7.34 -0.2%  
YTD
-7.5%  
-16.4%  
-0.8%  
-30.0%  
-17.5%  
  Targets    Overview: 12/01/2022  
  Up arrow35,500 or 32,800 by 12/15/2022
  Down arrow13,400 or 14,500 by 12/15/2022
  Up arrow1,000 or 925 by 12/15/2022
  Up arrow12,000 or 10,600 by 12/15/2022
  Up arrow4,250 or 3,850 by 12/15/2022
CPI (updated daily): Arrows on 12/5/22
As of 12/07/2022
  Indus: 33,598 +1.58 +0.0%  
  Trans: 13,768 -130.21 -0.9%  
  Utils: 973 -6.18 -0.6%  
  Nasdaq: 10,959 -56.34 -0.5%  
  S&P 500: 3,934 -7.34 -0.2%  
YTD
-7.5%  
-16.4%  
-0.8%  
-30.0%  
-17.5%  
  Targets    Overview: 12/01/2022  
  Up arrow35,500 or 32,800 by 12/15/2022
  Down arrow13,400 or 14,500 by 12/15/2022
  Up arrow1,000 or 925 by 12/15/2022
  Up arrow12,000 or 10,600 by 12/15/2022
  Up arrow4,250 or 3,850 by 12/15/2022
CPI (updated daily): Arrows on 12/5/22

Bulkowski on Pattern Pairs: Roofs

Initial release: 12/20/2021.

The idea behind pattern pairs is to pick a chart pattern type (like broadening bottoms with upward breakouts) to buy and another to sell (like double tops). You buy the upward breakout from the broadening bottom, hold for a few years, and sell when a double top appears and breaks out downward. Along the way, you give price a chance to rise far enough to overcome those trades which are stopped out for a loss. This is a trend-following strategy.

Trading Roofs: Summary

Picture of the pattern pairs.

The figure illustrates the idea for trading pattern pairs, where price is the red line and the boxes are chart patterns. This articles assumes you buy an upward breakout from either a roof or a busted one (price breaks out downward, drops no more than 10%, reverses, and closes above the top of the pattern. Buy as price rises above the top of the pattern).

On the sale side, you can sell the first bearish chart pattern which comes along or wait for your favorite bearish chart pattern to appear and sell then.

Here's a list of the top five performing sell signals, based on annualized gain (annualized because the hold time is often years, in parenthesis).

The following list shows the expected performance of chart pattern pairs, ranked by their expectancy. Expectancy is a way of gauging winning and losing trades and how much money you might make trading a pattern pair. I put the expected profit per trade, per share, in parenthesis.

To improve performance, try these tips.

Top of page

Trading Roofs: Entry and Exit Conditions

The databases I built over several decades doesn't identify every chart pattern. There may be plenty of double tops over the years, for example, that I didn't catalog on the way to the one I did catalog. So buying an upward breakout from a roof and selling at the double top I cataloged would be different than choosing to sell a different double top. However, the following analysis does give a real-world flavor for how well you might do trading chart patterns if you follow the pattern pair strategy.

Here's what I used in my analysis.

I used the following 43 chart patterns in the analysis, but some only applied if they were busted.

Top of page

Trading Roofs: Stops

I used a stop loss order set a penny below the bottom of the chart pattern. Price on the way down may have gapped below the stop price (for the sale price), so I used the lower of the stop price or the opening price on the day of sale).

For trailing stops, I removed the stop loss order and used a trailing stop set at 10%, 15%, 20%, or 25% below a peak, never lowering the stop value, but raising it if a higher peak came along during the trade.

In Table 1, I calculated the percentage net gain (the average of gains and losses) when using various trailing stop loss amounts (10%, 15%, 20%, and 25%) for all tested chart patterns according to the busted/non-busted buy/sell configuration. In parenthesis is the size of the average loss so I could detail how losses change with various stop loss orders.

For example, if I tested non-busted roofs and sold various non-busted patterns (ascending triangles, broadening tops, head-and-shoulders tops, and so on), I made an average of 26% ("Stop Loss Only" column) after having a stop loss order in place. Losses averaged 7%. Replacing the stop loss with a 10% trailing stop cut the gain to 7% but also trimmed the average loss to 5%. Using a 25% trailing stop allowed me to keep more money, 21%, but losses climbed to 11%. If I didn't use any type of stop, the gain averaged 109% with losses averaging 30%.

The results show that trades which do not use a stop make the most money but losses are huge. In four of six columns, non-busted patterns (buys) outperformed busted ones.

Table 1: Various Trailing Stop Settings: Net Profit and (Average Loss)
Data 10%  15%  20%  25%  Stop Loss 
Only
 No Stop
Non-busted buys, non-busted sales 7% (-5%)  16% (-7%)  21% (-10%)  21% (-11%)  26% (-7%)  109% (-30%) 
Busted buys, non-busted sales 6% (-5%)  9% (-6%)  18% (-9%)  23% (-15%)  28% (-9%)  89% (-33%) 
Non-busted buys, busted sales 5% (-7%)  14% (-8%)  19% (-9%)  20% (-11%)  30% (-7%)  133% (-28%) 
Busted buys, busted sales 7% (-5%)  8% (-7)  16% (-9%)  15% (-15%)  16% (-8%)  115% (-33%) 

Top of page

Trading Roofs: Busted Patterns

Table 2 shows what I found when comparing the performance of non-busted patterns (both buy and sell) with busted and non-busted chart patterns. In 22 or 31 contests (up to 31 different chart pattern types, depending on which apply), I compared the three combinations of busted and non-busted buy and sell signals to non-busted buy and sell signals. The table below shows the percentage of time the busted combination beat the non-busted combination in the contests.

For example, I found that busted patterns won up to 39% of the time or 12 of 31 contests when trading (buying and selling) using a busted buy but non-busted sale pattern (compared to non-busted for both).

According to the contest results, avoid trading busted chart patterns..

Table 2: Busted or Non-Busted Contest Winners
 Sell Non-Busted PatternSell Busted Pattern
Buy non-busted patternN/A (benchmark)32%
Buy busted pattern39%36%

Top of page

Trading Roofs: Non-busted Buy, Non-Busted Sale

Picture of a busted pattern pair.

Table 3 shows statistics I collected for roofs using the trading rules described above and shown in the figure. A stop loss order was used and priced a penny below the bottom of the chart pattern (after buying).

For example, if you were to buy the upward breakout from a roof chart pattern and hold it until you encountered a broadening bottom (the first chart pattern listed in the table), but one with a downward breakout, you'd net an average of 8% on the 33 (3 winners, 31 losers) trades. That's an average of 185% on your winners, 9% average loss on your losers. You'd find that only 9% of the trades made money but you'd gain an average of 9% per year (ranking 31st where 1 is best). If you removed the stop loss order and just held on until the broadening bottom with a downward breakout appeared, you'd make an average of 52% per trade.

The expectancy averages a loss of $0.37 per share per trade which ranks 42nd where 1 is the best value. It suggests you'll have a hard time making money by trading this pair.

Notes: The rank is based on the net gain for all four performance tables (tables 3 to 6) shown below. Trades with sample counts below 30 are not ranked.

Table 3: Statistics for Roofs
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Broadening bottom185%-9%8%9%3152%3/319%-$0.3742
Broadening top156%-7%29%15%2298%15/5422%$1.8728
Broadening formation, right-angled and ascending117%-8%17%11%2961%7/2919%$0.4937
Broadening formation, right-angled and descending801%-8%63%120%2/219%
Broadening wedge, ascending161%-6%39%131%6/1627%
Broadening wedge, descending329%-5%36%71%3/2113%
Bump-and-run reversal top85%-6%13%11%2778%18/6821%$1.4432
Diamond bottom88%-6%32%94%2/340%
Diamond top45%-6%2%63%4/2215%
Adam & Adam double top273%-6%36%28%9195%23/13215%$4.839
Adam & Eve double top103%-6%4%4%41137%7/699%$2.0324
Eve & Adam double top95%-6%14%10%3082%18/7120%$1.9626
Eve & Eve double top445%-7%58%34%5141%11/6514%$2.7219
Falling wedge29%-8%-5%29%2/1810%
Head-and-shoulders top266%-6%38%27%10135%39/19916%$2.9217
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Head-and-shoulders, complex top64%-7%8%8%3466%8/3021%$1.7029
Rectangle top141%-8%20%13%2577%9/4018%$0.9735
Rising wedge217%-7%41%25%12117%15/5521%$3.3514
Rounding top48%-6%7%5%3876%14/4424%$2.6721
Ascending scallop933%-9%36%48%1/205%
Descending scallop119%-6%13%9%3273%20/11315%$0.2040
Scallop, inverted and ascendingNone-7%-7%88%0/150%
Scallop, descending and inverted233%-8%39%20%1789%19/7820%$2.3323
Triangle, ascending49%-6%8%6%3772%11/3226%$1.7030
Triangle, descending98%-6%1%1%4488%3/387%$3.4713
Triangle, symmetrical85%-6%6%5%39102%15/9614%$1.0334
Triple top254%-7%41%25%13115%49/21718%$1.8727
Rectangle bottom7%-7%-6%-9%4511%2/385%-$1.7445
3 falling peaks182%-7%27%17%21130%42/19318%$1.3833
Roof23%-5%1%13%3/1023%
Roof, inverted902%-6%89%285%2/1711%
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank

Top of page

Trading Roofs: Busted Buy, Non-Busted Sale

Picture of a busted pattern pair.

The figure shows the setup for this scenario. When price busts the bearish chart pattern (busts a downward breakout from a roof in a bull market), buy. Sell after a downward breakout from the target chart pattern.

Table 4 shows the performance of busted roofs for the entry and non-busted sales after downward breakouts from various bearish chart patterns. A stop loss order was used and priced a penny below the bottom of the pattern (after buying).

A busted roof has a downward breakout but price drops no more than 10% before reversing and moving above the top of the pattern. Buy when price moves at least a penny above the top of the busted pattern. Sell after price drops at least a penny below the target chart pattern.

For example, buying a roof with a busted downward breakout in a bull market (the entry price is really the higher of a penny above the top of the pattern or the opening price) and selling after the downward breakout from a broadening top shows winners averaging gains of 200%. Losses average 9%, for a net of 3%. Only 39 trades occurred with a win/loss ratio of 5%. This scenario ranks the annualized net gain as 42 among the four tables. If you traded this as a buy-and-hold position, meaning no stops were used, the net gain climbed to 89%. Expectancy was a loss of $0.57 per share, ranking 43rd where 1 is best.

Trades with sample counts below 30 are not ranked.

Table 4: Statistics for Busted Buys, Normal Sales
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Broadening bottom8%-8%-4%17%4/1324%
Broadening top200%-9%2%3%4289%2/375%-$0.5743
Broadening formation, right-angled and ascending182%-12%39%67%5/1426%
Broadening formation, right-angled and descending122%-9%27%62%3/827%
Broadening wedge, ascending48%-9%6%64%5/1328%
Broadening wedge, descending299%-16%10%139%1/118%
Bump-and-run reversal top202%-10%45%32%696%15/4226%$4.4311
Diamond bottom6%-12%-9%36%1/517%
Diamond top18%-10%-7%36%2/1611%
Adam & Adam double top223%-8%46%22%14156%24/7923%$6.704
Adam & Eve double top121%-9%37%14%23148%14/2635%$5.906
Eve & Adam double top127%-8%33%18%18111%14/3230%$8.272
Eve & Eve double top184%-9%38%26%1192%10/3124%$5.328
Falling wedge194%-11%9%39%1/910%
Head-and-shoulders top186%-9%35%22%15101%34/11623%$4.4410
Head-and-shoulders, complex top17%-10%-6%21%3/1814%
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Rectangle top38%-7%-1%20%3/2013%
Rising wedge108%-9%18%13%2439%12/4023%$2.0025
Rounding top75%-11%4%38%5/2318%
Ascending scallop1%-10%-8%12%1/517%
Descending scallop172%-12%39%21%1660%24/6228%$3.6812
Scallop, inverted and ascendingNone-6%-6%26%0/30%
Scallop, descending and inverted143%-13%15%13%2637%10/4718%-$1.0444
Triangle, ascending33%-6%0%81%3/1715%
Triangle, descending21%-7%-1%26%4/1422%
Triangle, symmetrical80%-9%5%5%40121%10/5515%-$0.1541
Triple top201%-9%48%29%7139%33/8927%$5.737
Rectangle bottom78%-12%0%-2%2/1313%
3 falling peaks215%-9%31%18%1985%24/11118%$2.4022
Roof26%-7%4%43%3/633%
Roof, inverted234%-6%68%94%4/931%
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank

Top of page

Trading Roofs: Non-busted Buy, Busted Sale

Picture of a busted pattern pair.

The figure shows an example of how this trade unfolds.

A bullish chart pattern appears and you buy at the breakout. Continue holding until your selected chart pattern appears. The chart pattern is bullish because it has an upward breakout but then things go wrong. Price reverses. Sell when the stock dips below the bottom of the chart pattern (meaning it busts the upward breakout).

Table 5 shows the performance statistics for this setup (buying a normal roof and selling only after a busted chart pattern appears). A stop loss order was used and priced a penny below the bottom of the chart pattern (after buying).

For example, buying a roof with an upward breakout in a bull market and selling a busted broadening top shows winning trades making an average of 306%. Losing trades lost 4% giving a net gain of 16%. The annualized gain is 17% in this case, giving the setup a rank of 20th (where 1 is best). If you traded this without a stop, the net gain climbed to 143%. Of the stocks I looked at, I found 30 trades with 7% of them winning. Expectancy was a gain of $3.13 per share, ranking 15th where 1 is best.

Trades with sample counts below 30 are not ranked.

Table 5: Statistics for Normal Buy, Busted Sale
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Broadening bottom64%-8%5%45%3/1319%
Broadening top306%-4%16%17%20143%2/287%$3.1315
Broadening formation, right-angled and ascendingNone-9%-9%53%0/130%
Broadening formation, right-angled and descending86%-5%5%68%1/811%
Broadening wedge, ascending142%-4%45%71%2/433%
Broadening wedge, descending62%-7%3%99%2/1115%
Bump-and-run reversal bottom294%-4%14%52%1/156%
Cup with handleNone-9%-9%51%0/40%
Diamond bottomNone-8%-8%-8%0/70%
Diamond top197%-7%49%154%3/827%
Adam & Adam double bottom132%-5%10%8%35161%6/5011%$6.595
Adam & Eve double bottom1049%-8%129%57%4320%4/2713%$9.391
Eve & Adam double bottom1326%-6%127%80%1264%3/2710%$3.1016
Eve & Eve double bottom38%-9%3%75%5/1426%
Falling wedge29%-7%-2%196%2/1413%
Head-and-shoulders bottom51%-6%3%2%4385%8/4415%$0.6336
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Head-and-shoulders complex bottomNone-7%-7%106%0/70%
Rectangle top91%-6%-2%81%1/224%
Rising wedgeNone-10%-10%225%0/60%
Round bottom52%-11%1%-1%1/420%
Rounding topNone-5%-5%28%0/50%
Ascending scallop78%-6%0%82%1/128%
Descending scallop34%-8%1%49%3/1121%
Scallop, inverted and ascending37%-9%3%82%6/1726%
Scallop, descending and inverted417%-13%30%51%1/910%
Triangle, ascending76%-6%6%93%2/1115%
Triangle, descending118%-8%23%105%4/1225%
Triangle, symmetrical667%-6%97%57%3201%9/5015%$2.7120
Triple bottom279%-8%41%28%8167%11/5417%$1.4931
Rectangle bottomNone-6%-6%63%0/100%
3 rising valleys113%-5%16%11%28109%8/3817%$0.2439
Roof92%-9%0%107%1/109%
Roof, inverted197%-5%62%104%2/433%
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank

Top of page

Trading Roofs: Busted Buy, Busted Sale

Picture of a busted pattern pair.

Table 6 shows the last combination of trading statistics. It shows busted roofs as the entry signal and various busted chart patterns as the exit signal. A stop loss order was used and priced a penny below the bottom of the chart pattern (after buying).

The associated figure shows the setup.

For example, buying a busted roof and selling a busted Adam & Adam double bottom made 108% from the winners, lost 10% on the losers for a net gain of 10%. Annualized, it was 7%. The net gain placed the performance of this setup at 36, where 1 is best. Removing stops from the trades allowed them to make 208%. Only 36 trades were taken and 17% of them were winners. Expectancy was a gain of $0.38 per share, ranking 38th among the four tables.

Trades with sample counts below 30 are not ranked.


Table 6: Statistics for Busted Buys and Sales
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Broadening bottom12%-10%-7%185%1/713%
Broadening top66%-7%7%77%3/1220%
Broadening formation, right-angled and ascendingNone-13%-13%-44%0/40%
Broadening formation, right-angled and descending88%-12%13%22%1/325%
Broadening wedge, ascending87%-9%15%35%1/325%
Broadening wedge, descendingNone-7%-7%-2%0/60%
Bump-and-run reversal bottomNone-6%-6%172%0/90%
Cup with handle130%-14%34%58%2/433%
Diamond bottom118%-6%8%405%1/811%
Diamond top86%-8%4%79%1/713%
Adam & Adam double bottom108%-10%10%7%36208%6/3017%$0.3838
Adam & Eve double bottom103%-13%14%114%3/1023%
Eve & Adam double bottom40%-6%4%150%3/1121%
Eve & Eve double bottom42%-8%1%10%2/918%
Falling wedge17%-6%0%25%1/325%
Head-and-shoulders complex bottomNone-4%-4%29%0/10%
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank
Rectangle top55%-7%22%89%7/847%
Rising wedgeNone-4%-4%48%0/40%
Round bottomNone-19%-19%89%0/10%
Rounding top106%-16%25%54%1/233%
Ascending scallopNone-14%-14%120%0/50%
Descending scallopNone-9%-9%105%0/50%
Scallop, inverted and ascending12%-9%-7%45%1/109%
Scallop, descending and inverted129%-10%30%101%2/529%
Triangle, ascending13%-7%-2%-6%3/925%
Triangle, descending72%-9%9%21%3/1121%
Triangle, symmetrical355%-6%74%59%2130%10/3522%$7.823
Triple bottom97%-7%21%9%33100%9/2526%$2.8718
Rectangle bottomNone-5%-5%481%0/50%
3 rising valleys170%-11%15%122%3/1814%
Roof39%-6%3%105%1/420%
Roof, inverted25%-7%-1%83%1/517%
Sell PatternAverage
Win
Average
Loss
NetAnnualized
Net
RankNo Stop
Net
Win/Loss
Samples
Win
Loss
Average
Expectancy
Expectancy
Rank

Top of page

Trading Roofs: Performance Improvements

Here are a few ideas the data suggested which may improve performance of your pattern pairs trading.

Trend Start: Short, Medium, or Long

Find the trend start for your chart pattern. Often you can just look at a chart and see where the trend begins. If not, or you want to be sure, then the glossary describes how to find it.

Determine the length from the trend start to the pattern's start: short term (less than 3 months), medium term (3 to 6 months) or long term (more than 6 months).

Table 7 shows the results for the four combinations of busted/non-busted trades and the resulting performance.

Buying non-busted patterns with a short-term (up to 3 months) duration from the trend start to the pattern's start results in better performance. Busted patterns do best using a medium-term (3 to 6 months) duration from the trend start.

Table 7: Short (S) Medium (M) or Long (L) Trend Start and Performance
 Sell Non-Busted PatternSell Busted Pattern
Buy non-busted patternS49% M6% L-1%S57% M10% L-1%
Buy busted patternS24% M32% L28%S9% M28% L15%

Top of page

Moving Averages: 50- and 200-Day SMA

I checked two moving averages at buy time, 50- and 200-day simple moving averages (not as a crossover setup). I compared the breakout price to the value of the moving average. Table 8 shows the performance of buying or selling busted or non-busted patterns when the breakout price was above (A) or below (B) the 50-day simple moving average (SMA).

In all cases, buying if the breakout price is above the 50-day SMA gives the best results.

Table 8: Above (A) Below (B) 50-Day Simple Moving Average
 Sell Non-Busted PatternSell Busted Pattern
Buy non-busted patternA31% B6%A36% B5%
Buy busted patternA31% B-5%A19% B-8%

Table 9 shows the results of using a longer moving average, the 200-day. Traders often use this as a proxy for the long-term trend.

Buying roof patterns when the breakout price is above the 200-day SMA gives the best results.

Table 9: Above (A) Below (B) 200-Day Simple Moving Average
 Sell Non-Busted PatternSell Busted Pattern
Buy non-busted patternA31% B9%A35% B8%
Buy busted patternA32% B-3%A19% B-1%

Top of page

Selling First Bearish Chart Pattern

The prior discussion assumes you buy a roof (busted or non-busted) but sell a chart pattern of your choosing, such as a downward breakout from a head-and-shoulders top (you wait for one to appear). What if you sold the first bearish chart pattern which comes along? How would you do?

Table 10 shows the results sorted by the type of patterns involved (busted or non-busted). For example, if you buy a non-busted roof and sell the first non-busted chart pattern which comes along, you'd make 8% on average. Annualized, you'd make 27%. This compares to a 18% annualized gain if you sell a designated pattern (like you waited for a double top before selling, which may or may not be the first bearish chart pattern to come along).

The results split into non-busted and busted sales. Selling the first non-busted pattern which appears or selling a designated busted pattern worked best. Note that selling the first non-busted pattern will make you more money than selling a designated busted pattern (on average).

The bottom half of the table shows expectancy for the four combinations. Buying and selling busted patterns gives the highest expectancy ($3.42).

Table 10: Selling the First Bearish Pattern (Annualized)
 Sell Non-Busted PatternSell Busted Pattern
Buy non-busted pattern8% (27% v 18%)5% (14% v 23%)
Buy busted pattern14% (36% v 18%)2% (5% v 12%)
Expectancy (Below)
 Sell Non-Busted PatternSell Busted Pattern
Buy non-busted pattern$1.84$0.52
Buy busted pattern$2.52$3.42

-- Thomas Bulkowski

Top of page

See Also

 

Support this site! Clicking any of the books (below) takes you to Amazon.com If you buy ANYTHING while there, they pay for the referral.
Legal notices: "As an Amazon Associate I earn from qualifying purchases." Paid links).

My novels:  Bedroom to Boardroom book Remember Me book Bumper's Story book Head's Law book
My stock market books:  Chart Patterns: After the Buy Getting Started in Chart Patterns 2nd edition book Trading Basics book Fundamental Analysis and Position Trading book Swing and Day Trading book Encyclopedia of chart patterns book Encyclopedia of Chart Patterns 3rd Edition book Trading classic chart patterns book

Copyright © 2005-2022 by Thomas N. Bulkowski. All rights reserved.
Disclaimer: You alone are responsible for your investment decisions. See Privacy/Disclaimer for more information.
Some pattern names are registered trademarks of their respective owners.
Home Advertise Contact Donate Links Privacy/Disclaimer