Chart Pattern Track Record

Every signal we published, scored against SPY over the following 5, 20 and 60 trading days.

4662 signals have run their full 20-day window; 49.5% of them beat SPY. Another 2072 are still open and are listed here too — dropping them would flatter the record.

Settled signals
4662
Still open
2072
Beat SPY
49.5%
Reference window
20d

By pattern type

Share of settled signals in each bucket that beat SPY over the window. Above 50% means the pattern added something; below means holding the index would have done better. Sorted by sample size, because a bucket of 400 says more than a bucket of 6.

PatternSettledOpen5d20d60dMean 20d alpha
Trendline break bullish119564651.9%43.6%41.4%-0.64%
Trendline break bearish91829552.4%52.8%50.9%-0.67%
60-day MA cross bearish2478454.6%58.3%51.8%+1.02%
60-day MA cross bullish23212753.7%49.1%46.1%-0.24%
Supertrend + ADX bullish20911752.6%37.8%43.9%-0.07%
MACD divergence bullish20810947.2%53.8%52.8%+1.76%
Supertrend + ADX bearish2029953.5%57.9%53.4%+1.41%
Moving-average stack bullish1889249.2%43.6%48.8%-0.49%
Head & shoulders bullish1653949.0%44.8%51.4%+0.48%
Flag & pennant bullish1503350.3%50.7%33.3%+1.55%
RSI divergence bullish14712044.1%48.3%53.2%+1.80%
Head & shoulders bearish1392355.9%62.6%41.2%+1.59%
Flag & pennant bearish1231555.3%52.8%65.4%-0.82%
Moving-average stack bearish1226754.9%57.4%63.9%+0.85%
Double top / bottom bearish1072753.8%57.0%51.7%-0.12%
120-day MA cross bearish826058.7%52.4%53.7%+0.35%
120-day MA cross bullish753248.9%46.7%51.2%-1.27%
Support / resistance bullish612547.6%42.6%40.5%-1.17%
Support / resistance bearish532255.4%50.9%41.2%-1.85%
MACD divergence bearish35551.3%42.9%52.0%-2.64%
RSI divergence bearish4250.0%75.0%100.0%+4.15%
Double top / bottom bullish03396.3%———

Win rates from fewer than 30 settled signals are shown faded: at that sample size the number is mostly noise.

Recent signals

The last 120 signals at the 20-day window, newest first — including the ones that have not settled and the ones that lost.

Signal dateSymbolPatternStatus20d alpha
2026-10-23ACGLBullish EMA Alignment ▲open—
2026-10-23ADBETrendline Break ▲open—
2026-10-23ADBEEMA Crossover ▲open—
2026-10-23ADPRectangle Break ▲open—
2026-10-23AEPEMA Crossover ▲open—
2026-10-23AJGTrendline Break ▲open—
2026-10-23ALABTrendline Break ▼open—
2026-10-23ALLETrendline Break ▲open—
2026-10-23AMATRectangle Break ▼open—
2026-10-23AMCREMA Crossover ▲open—
2026-10-23AMCRTrendline Break ▲open—
2026-10-23AMDTrendline Break ▼open—
2026-10-23AMETrendline break ▼open—
2026-10-23ANETRectangle Break ▼open—
2026-10-23AONTrendline Break ▲open—
2026-10-23AOSTrendline Break ▲open—
2026-10-23APDBullish Supertrend ▲open—
2026-10-23APHTrendline Break ▼open—
2026-10-23ARETrendline Break ▲open—
2026-10-23ARESTrendline Break ▲open—
2026-10-23ARMTrendline Break ▼open—
2026-10-23ARMBearish Supertrend ▼open—
2026-10-23ATOTrendline Break ▲open—
2026-10-23AVGOBearish Supertrend ▼open—
2026-10-23AVYTrendline break ▲open—
2026-10-23AWKTrendline break ▲open—
2026-10-23AWKEMA Crossover ▲open—
2026-10-23BBYTrendline Break ▲open—
2026-10-23BF.BTrendline Break ▲open—
2026-10-23BLDRTrendline Break ▲open—
2026-10-23BRTrendline break ▲open—
2026-10-23BROTrendline Break ▲open—
2026-10-23BXTrendline Break ▲open—
2026-10-23BXPTrendline Break ▲open—
2026-10-23CBearish Supertrend ▼open—
2026-10-23CAGTrendline Break ▲open—
2026-10-23CBOETrendline Break ▲open—
2026-10-23CBREMACD Divergence ▲open—
2026-10-23CDNSTrendline Break ▼open—
2026-10-23CDWAscending Triangle Break ▲open—
2026-10-23CEGBearish EMA Alignment ▼open—
2026-10-23CHTRTrendline Break ▲open—
2026-10-23CIBullish EMA Alignment ▲open—
2026-10-23CMCSATrendline Break ▲open—
2026-10-23CMGMACD Divergence ▲open—
2026-10-23COOTrendline Break ▲open—
2026-10-23CPBTrendline Break ▲open—
2026-10-23CPRTTrendline Break ▲open—
2026-10-23CRWVTrendline Break ▼open—
2026-10-23CSGPTrendline Break ▲open—
2026-10-23CSXEMA Crossover ▲open—
2026-10-23CSXTrendline Break ▲open—
2026-10-23CTSHTrendline Break ▲open—
2026-10-23DTrendline Break ▲open—
2026-10-23DBCBullish Supertrend ▲open—
2026-10-23DHITrendline Break ▲open—
2026-10-23DLRBearish EMA Alignment ▼open—
2026-10-23DLTRTrendline Break ▲open—
2026-10-23DLTRBullish EMA Alignment ▲open—
2026-10-23DLTRBullish Supertrend ▲open—
2026-10-23DOCTrendline Break ▲open—
2026-10-23DOWTrendline Break ▲open—
2026-10-23DRIBullish EMA Alignment ▲open—
2026-10-23DUKTrendline Break ▲open—
2026-10-23DXCMMACD Divergence ▲open—
2026-10-23EDRectangle Break ▲open—
2026-10-23EFXTrendline Break ▲open—
2026-10-23EIXTrendline Break ▲open—
2026-10-23ELBullish Supertrend ▲open—
2026-10-23EMETrendline Break ▼open—
2026-10-23ERIETrendline Break ▲open—
2026-10-23ESSTrendline Break ▲open—
2026-10-23EVRGBullish Supertrend ▲open—
2026-10-23EXCTrendline Break ▲open—
2026-10-23EXCBullish Supertrend ▲open—
2026-10-23EXPEEMA Crossover ▲open—
2026-10-23FANGBullish EMA Alignment ▲open—
2026-10-23FCXEMA Crossover ▼open—
2026-10-23FCXTrendline Break ▼open—
2026-10-23FDSRectangle Break ▲open—
2026-10-23FEHead and Shoulders ▼open—
2026-10-23FICOTrendline Break ▲open—
2026-10-23FISVTrendline Break ▲open—
2026-10-23FIXEMA Crossover ▼open—
2026-10-23FIXTrendline Break ▼open—
2026-10-23FIXBearish Supertrend ▼open—
2026-10-23FTECBearish Supertrend ▼open—
2026-10-23GDDYAscending Triangle Break ▲open—
2026-10-23GEBearish Supertrend ▼open—
2026-10-23GEHCBullish Supertrend ▲open—
2026-10-23GENTrendline Break ▲open—
2026-10-23GEVDescending Triangle Break ▼open—
2026-10-23GISTrendline Break ▲open—
2026-10-23GLWDescending Triangle Break ▼open—
2026-10-23HALDouble Bottom ▲open—
2026-10-23HALInverse Head and Shoulders ▲open—
2026-10-23HDTrendline Break ▲open—
2026-10-23HPQTrendline Break ▲open—
2026-10-23HRLTrendline Break ▲open—
2026-10-23HSYTrendline Break ▲open—
2026-10-23HUBBTrendline Break ▼open—
2026-10-23HWMTrendline Break ▼open—
2026-10-23IBMEMA Crossover ▲open—
2026-10-23IDXXEMA Crossover ▲open—
2026-10-23IEXTrendline Break ▼open—
2026-10-23IFFResist Break ▲open—
2026-10-23INTCTrendline Break ▼open—
2026-10-23INTUTrendline Break ▲open—
2026-10-23INTUBullish Supertrend ▲open—
2026-10-23IRTrendline Break ▼open—
2026-10-23ITTrendline Break ▲open—
2026-10-23JCITrendline Break ▼open—
2026-10-23JKHYTrendline Break ▲open—
2026-10-23JKHYEMA Crossover ▲open—
2026-10-23JKHYEMA Crossover ▲open—
2026-10-23KEYSTrendline Break ▼open—
2026-10-23KHCTrendline Break ▲open—
2026-10-23KKRTrendline Break ▲open—
2026-10-23KMBEMA Crossover ▲open—
2026-10-23KMBTrendline Break ▲open—

By month

Every month on record, kept permanently. Nothing is removed from these pages after the fact.

How this is scored

For each signal we take the close on the detection date and the close N trading days later, and subtract SPY's move over the same calendar span. That difference is multiplied by the pattern's direction, so a bearish signal "wins" when the symbol underperforms SPY. A win is any alpha above zero.

Subtracting SPY is the whole point. US equities rose through most of this period, so any bullish signal at all would post a win rate above 50% on raw returns — that is beta, not skill. Only the part left after the index's move says anything about the pattern.

Signals whose window has not finished are listed as open, not hidden. Publishing only the finished ones would quietly select for signals that had time to work out, which in a rising market means flattering the recent bullish calls. Symbols that stopped trading before their window closed are marked "no data" rather than left open forever.

This is a record of what happened, not a prediction of what will. Sample sizes vary enormously between buckets, the period covered is short in market terms, and none of it accounts for costs, slippage or position sizing.

Common questions

Do chart patterns actually work?
On this data, mostly not in the direction people expect. Bullish trendline breaks have consistently underperformed SPY over 60 days, while bearish signals have held up better. The two bullish exceptions worth noting are the divergence buckets. The table above is the current state of that, updated daily — it is the answer, not a summary of one.
Why do some buckets show a win rate above 50% but a negative mean alpha?
Because the two measure different things. A bucket can win slightly more often than it loses while its losses are larger, which is exactly what a high win rate with negative mean alpha describes. Read them together; either alone is misleading.
Is anything removed from this page?
No. Every signal that was ever scored stays, including the ones that went against us, and the monthly archives are not edited after the fact. Signals still inside their window are shown as open rather than omitted.
Can I trade from this?
It is not built for that. A bucket win rate is a property of hundreds of past signals, not a probability for the next one, and nothing here accounts for costs or risk. Its purpose is to let you judge how much weight the rest of this site's signals deserve.

Related

Pattern Vista is a technical-analysis research tool. Everything on this page is automated pattern detection and historical statistics published for educational purposes. It is not investment advice, not a recommendation to buy or sell any security, and past performance does not indicate future results. Full disclaimer