Chart Pattern Track Record

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

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

Settled signals
3399
Still open
751
Beat SPY
48.0%
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 bullish99214343.9%44.6%42.7%-0.36%
Trendline break bearish61918646.9%46.0%55.9%-1.88%
60-day MA cross bullish1953148.7%51.8%43.0%+0.41%
60-day MA cross bearish1534051.7%51.0%52.7%+0.05%
Supertrend + ADX bullish1515348.7%39.7%47.9%+1.11%
Moving-average stack bullish1453841.1%43.4%53.3%-0.07%
MACD divergence bullish1442549.0%54.9%52.9%+2.12%
Head & shoulders bullish1252545.9%48.8%58.3%+1.19%
Supertrend + ADX bearish1252053.0%57.6%57.3%+1.43%
Flag & pennant bullish1132553.1%51.3%36.4%+2.53%
RSI divergence bullish1131055.7%52.2%57.3%+2.19%
Head & shoulders bearish912455.4%57.1%36.7%-0.34%
Flag & pennant bearish862356.2%52.3%51.1%-0.76%
Moving-average stack bearish752050.0%58.7%70.9%+0.99%
Double top / bottom bearish622447.4%48.4%52.3%-2.16%
120-day MA cross bullish551745.1%49.1%52.9%-0.69%
Support / resistance bullish461339.7%45.7%44.8%-0.43%
120-day MA cross bearish421958.5%52.4%53.3%+0.48%
Support / resistance bearish35859.0%45.7%41.7%-2.05%
MACD divergence bearish29652.9%44.8%47.6%-3.95%
RSI divergence bearish3150.0%100.0%100.0%+6.76%

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-09-08ABNBTrendline Break open
2026-09-08ADBETrendline Break open
2026-09-08ADSKSupport Break open
2026-09-08ADSKTrendline Break open
2026-09-08AJGDouble Top open
2026-09-08ALBTrendline Break open
2026-09-08AMDEMA Crossover open
2026-09-08APTVTrendline Break open
2026-09-08ARMTrendline Break open
2026-09-08ASMLBullish EMA Alignment open
2026-09-08CDNSTrendline Break open
2026-09-08CSGPTrendline Break open
2026-09-08CTSHTrendline Break open
2026-09-08DASHTrendline Break open
2026-09-08DEBullish Supertrend open
2026-09-08DXCMTrendline Break open
2026-09-08EXCBearish EMA Alignment open
2026-09-08EXPETrendline Break open
2026-09-08FOXTrendline Break open
2026-09-08FOXATrendline Break open
2026-09-08GLWFlag Break open
2026-09-08GLWTrendline Break open
2026-09-08HWMMACD Divergence open
2026-09-08HWMFlag Break open
2026-09-08HWMRSI Divergence open
2026-09-08INTCTrendline Break open
2026-09-08JCIEMA Crossover open
2026-09-08LHXSupport Break open
2026-09-08LRCXTrendline Break open
2026-09-08LULUTrendline Break open
2026-09-08MNSTTrendline Break open
2026-09-08MNSTRSI Divergence open
2026-09-08MNSTMACD Divergence open
2026-09-08MUTrendline Break open
2026-09-08NFLXTrendline Break open
2026-09-08ONTrendline Break open
2026-09-08ONBearish EMA Alignment open
2026-09-08ORCLTrendline Break open
2026-09-08ORLYBearish EMA Alignment open
2026-09-08PNRMACD Divergence open
2026-09-08PTCTrendline Break open
2026-09-08RCLMACD Divergence open
2026-09-08TAPFlag Break open
2026-09-08TAPBearish EMA Alignment open
2026-09-08TEAMTrendline Break open
2026-09-08WDAYTrendline Break open
2026-09-08WDCTrendline Break open
2026-09-04ADSKTrendline Break open
2026-09-04AEPEMA Crossover open
2026-09-04APPTrendline Break open
2026-09-04APTVTrendline Break open
2026-09-04ARKKBullish Supertrend open
2026-09-04CBullish EMA Alignment open
2026-09-04CCLBearish Supertrend open
2026-09-04CDNSEMA Crossover open
2026-09-04CDNSRSI Divergence open
2026-09-04FTrendline break open
2026-09-04GEEMA Crossover open
2026-09-04GEHCTrendline Break open
2026-09-04GLWTrendline Break open
2026-09-04GLWFlag Break open
2026-09-04IBMTrendline Break open
2026-09-04ICEEMA Crossover open
2026-09-04IEXBearish Supertrend open
2026-09-04INTCTrendline Break open
2026-09-04LULUHead & Shoulders open
2026-09-04LULURSI Divergence open
2026-09-04MDLZDouble Top open
2026-09-04MELIBullish EMA Alignment open
2026-09-04METARectangle Break open
2026-09-04MNSTMACD Divergence open
2026-09-04MNSTTrendline Break open
2026-09-04MNSTRSI Divergence open
2026-09-04MUFlag Break open
2026-09-04ONTrendline Break open
2026-09-04ORCLTrendline Break open
2026-09-04PCGEMA Crossover open
2026-09-04RCLBearish Supertrend open
2026-09-04RCLMACD Divergence open
2026-09-04STXInverse Head & Shoulders open
2026-09-04SYKBearish EMA Alignment open
2026-09-04TXTRSI Divergence open
2026-09-04WRBTrendline Break open
2026-09-03ADSKTrendline Break open
2026-09-03ALNYTrendline Break open
2026-09-03AMDEMA Crossover open
2026-09-03AONEMA Crossover open
2026-09-03APPTrendline Break open
2026-09-03APTVTrendline Break open
2026-09-03ARKKFlag Break open
2026-09-03ARKWFlag Break open
2026-09-03CNCResist Break open
2026-09-03CSCOBearish Supertrend open
2026-09-03DALBearish Supertrend open
2026-09-03DASHTrendline Break open
2026-09-03DBCBullish Supertrend open
2026-09-03DDOGTrendline Break open
2026-09-03DDOGEMA Crossover open
2026-09-03EBAYTrendline Break open
2026-09-03FTrendline break open
2026-09-03GLWTrendline Break open
2026-09-03HONEMA Crossover open
2026-09-03HSYBearish EMA Alignment open
2026-09-03MNSTRSI Divergence open
2026-09-03MNSTMACD Divergence open
2026-09-03MNSTTrendline Break open
2026-09-03MSFTFlag Break open
2026-09-03MSTRFlag Break open
2026-09-03NXPITrendline Break open
2026-09-03ONTrendline Break open
2026-09-03ONEMA Crossover open
2026-09-03PANWTrendline Break open
2026-09-03PLTRTrendline Break open
2026-09-03PTCTrendline Break open
2026-09-03RCLMACD Divergence open
2026-09-03RLBearish Supertrend open
2026-09-03SYKEMA Crossover open
2026-09-03TAPEMA Crossover open
2026-09-03TXNBearish Supertrend open
2026-09-03WATBullish Supertrend 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