The thing that first made me suspicious of chart patterns was how good I was at drawing them on charts I already knew the outcome of. Give me a completed price move and I can find you a textbook head and shoulders that called it perfectly. Give me the same chart mid-move, with the right edge cut off, and suddenly I see three or four things that could be forming and no clean way to say which. That gap between how obvious a pattern looks after the fact and how ambiguous it looks in real time is the whole problem, and it is also why the debate about whether patterns work never seems to end.
So let me try to separate what is actually measurable from what is just pattern-recognition doing its usual thing.
Why the eye inflates the numbers
Human vision evolved to find shapes, and it will find them whether they are there or not. When you flip through charts looking for head and shoulders formations, you notice the ones that completed and led to a nice drop. The failed ones, the ones where price poked below the neckline and then ripped back up, do not register the same way. They do not feel like patterns because they did not do the pattern thing. This is survivorship bias operating at the level of perception, and no amount of experience fully corrects for it.
The second inflation comes from definition drift. A pattern you draw by hand has a dozen free parameters you adjust without noticing. How symmetric do the shoulders need to be. How much can the neckline slope. Does a 2 percent overshoot count as a break or noise. Every one of those choices, made after you already suspect the pattern is there, nudges the result toward looking better than it is. When people report that some pattern works most of the time, they are usually describing patterns they hand-selected, on charts they hand-picked, with rules they applied loosely. That number tells you almost nothing about what happens when you have to commit before the outcome is known.
The only honest way to test a pattern is to write the definition as code, run it across a large set of instruments and years without touching it, and count every single instance the code flags, including the ugly ones you would never have drawn by hand. The moment a rule can be run mechanically, the argument stops being about aesthetics and becomes about base rates.
What survives a mechanical test
When you do define patterns strictly and count everything, a rough hierarchy tends to show up, and it is not the one the textbooks imply.
Flags and pennants, the short consolidations that form after a sharp directional move, hold up better than most. The logic is not mysterious. A flag is just a pause inside an existing trend, and trend continuation has a real statistical basis in a lot of markets. When you encode a flag as a strong impulse leg followed by a shallow counter-trend drift on lower range, and you take the break in the direction of the original move, you get a completion rate and an average follow-through that are at least worth building around. It is not a coin that lands your way most of the time, but it is measurably better than random entry, and the size of the follow move is often proportional to the impulse that preceded it.
Head and shoulders, the pattern everyone knows, is more fragile than its reputation. Defined loosely it looks fantastic. Defined mechanically, with fixed tolerances on shoulder symmetry and a clear neckline break rule, its edge shrinks a lot, and a meaningful share of clean breaks fail and reverse. It is not worthless. The inverse version at the bottom of a long downtrend tends to test better than the topping version, probably because bottoms and tops just behave differently. But if you learned that this pattern is the reliable one, the data does not really back that up once you stop cherry-picking.
Triangles are the messiest. Symmetric triangles in particular break in whichever direction they were always going to break, which is to say they do not add much on their own. Ascending and descending triangles carry a mild directional lean, but the effect is small and it gets eaten quickly by spread and slippage on anything but liquid instruments. The honest read is that most triangle edge comes from the trend it sits inside, not from the triangle.
A workflow that keeps you honest
If you want to actually know whether a pattern earns its place in your process rather than believing it does, here is the loop I would run. None of this needs fancy tooling.
- Write the pattern as a rule a computer could follow with zero judgment. If you cannot define the neckline slope tolerance and the break threshold in numbers, you do not have a testable pattern yet, you have a vibe.
- Run it across many instruments and several years, and log every instance the rule flags. Do not filter. The ugly ones are the whole point.
- Define success and the exit before you look at results. Pick a target, a stop, and a time limit up front so you are measuring the rule and not your ability to manage the trade.
- Compare the completion rate and average move against a null baseline, meaning what a random entry in the same instrument over the same period would have returned. A pattern that beats buy-and-hold but loses to random entries is not giving you anything.
- Then subtract costs. Spread, slippage, and fees turn a lot of marginal edges negative. If the edge only survives on paper with zero friction, it does not survive.
The step people skip most is the null baseline. A pattern can have a 60 percent completion rate and still be useless if the underlying instrument went up 60 percent of the time anyway. You are looking for the delta over the base rate of the market itself, not the raw hit rate.
What I actually keep
After going through this exercise more than once, I keep a small set and drop the rest. I trade continuation structures, flags and pennants inside a clear trend, because they have a base rate I can defend and a natural way to size the target off the preceding move. I treat inverse head and shoulders at the end of a long decline as a context clue rather than a standalone signal, something that raises my confidence in a trade I would consider anyway. And I mostly ignore symmetric triangles as directional predictors, using them only to mark where a range might resolve.
The patterns that survive all share one trait. They encode a real market behavior, usually trend continuation or exhaustion, that exists independently of the drawing. The ones that fail are the ones whose entire claim to work rests on the shape itself. If you want to run these tests without wiring up your own data pipeline, a backtesting tool like the one we built into Blockcircle lets you define the entry and exit rules and check the completion rate across a real universe of instruments, which is mostly a way to find out quickly which of your favorite patterns were always just the survivors talking.
None of this means throw out technical analysis. It means hold each pattern to the same standard you would hold any other rule, count the losers as carefully as the winners, and keep only the two or three that still look worth trading once the friction is priced in.