Before you trust any backtest — including ours — look at this. We took the four most famous strategies, ran them with 9,393 different settings across 101 stocks, then scored every single one on years of market data the search had never seen.
Only 86 of 404 best-in-class settings stayed ahead of simply buying and holding the stock. That low number is the finding — pick the winner out of a big search and you're usually picking an accident.
Trade the band: buy the lower band, exit at the middle or upper.
Buy an N-day high, sell an N-day low — the classic turtle breakout.
Buy when the fast average crosses above the slow one, sell when it crosses back.
Buy when RSI says oversold, sell when it says overbought.
| Stock | Strategy & settings | Strategy return | Buy & hold | Difference | Sharpe | Worst drop | |
|---|---|---|---|---|---|---|---|
| NVDA | Moving-average cross fast 50 · slow 150 |
1,292% | 1,499% | -207 pts | 1.40 | -36% | lost |
| MU | Moving-average cross fast 50 · slow 100 |
1,295% | 1,082% | +214 pts | 1.38 | -43% | beat |
| META | Moving-average cross fast 10 · slow 75 |
244% | 168% | +76 pts | 1.16 | -27% | beat |
| QQQ | Moving-average cross fast 40 · slow 150 |
117% | 138% | -21 pts | 1.04 | -16% | lost |
| CSCO | Moving-average cross fast 40 · slow 150 |
153% | 178% | -25 pts | 0.98 | -20% | lost |
| LLY | Moving-average cross fast 20 · slow 100 |
205% | 535% | -331 pts | 0.96 | -29% | lost |
| AMAT | Moving-average cross fast 20 · slow 100 |
295% | 439% | -144 pts | 0.94 | -36% | lost |
| AVGO | Moving-average cross fast 50 · slow 100 |
314% | 846% | -532 pts | 0.93 | -43% | lost |
| GE | Moving-average cross fast 15 · slow 50 |
164% | 455% | -290 pts | 0.91 | -37% | lost |
| AMD | Moving-average cross fast 30 · slow 150 |
360% | 548% | -188 pts | 0.91 | -37% | lost |
| NFLX | Moving-average cross fast 10 · slow 150 |
197% | 50% | +147 pts | 0.89 | -29% | beat |
| SPY | Moving-average cross fast 10 · slow 75 |
57% | 104% | -46 pts | 0.82 | -20% | lost |
| CAT | Moving-average cross fast 50 · slow 100 |
140% | 366% | -226 pts | 0.80 | -38% | lost |
| GS | Moving-average cross fast 30 · slow 50 |
108% | 262% | -153 pts | 0.77 | -37% | lost |
| GILD | Moving-average cross fast 50 · slow 100 |
106% | 136% | -30 pts | 0.77 | -25% | lost |
| JPM | Moving-average cross fast 30 · slow 50 |
86% | 145% | -59 pts | 0.77 | -22% | lost |
| SPG | Moving-average cross fast 50 · slow 100 |
103% | 140% | -37 pts | 0.76 | -27% | lost |
| MPC | Moving-average cross fast 5 · slow 50 |
101% | 333% | -231 pts | 0.72 | -44% | lost |
| MRK | Moving-average cross fast 40 · slow 75 |
79% | 84% | -5 pts | 0.72 | -20% | lost |
| WMT | Moving-average cross fast 50 · slow 75 |
84% | 188% | -104 pts | 0.71 | -28% | lost |
| RTX | Moving-average cross fast 20 · slow 75 |
79% | 176% | -97 pts | 0.70 | -23% | lost |
| GOOGL | Moving-average cross fast 5 · slow 50 |
100% | 262% | -162 pts | 0.69 | -47% | lost |
| XOM | Moving-average cross fast 40 · slow 150 |
100% | 204% | -104 pts | 0.67 | -25% | lost |
| CVX | Moving-average cross fast 40 · slow 50 |
83% | 113% | -30 pts | 0.67 | -31% | lost |
| AAPL | Moving-average cross fast 10 · slow 50 |
67% | 153% | -86 pts | 0.65 | -24% | lost |
| MS | Moving-average cross fast 30 · slow 50 |
70% | 220% | -150 pts | 0.59 | -33% | lost |
| LMT | Moving-average cross fast 5 · slow 50 |
55% | 73% | -18 pts | 0.59 | -22% | lost |
| ISRG | Moving-average cross fast 5 · slow 100 |
71% | 71% | +0 pts | 0.59 | -37% | beat |
| COP | Moving-average cross fast 30 · slow 75 |
79% | 155% | -76 pts | 0.57 | -37% | lost |
| JNJ | Moving-average cross fast 40 · slow 50 |
38% | 69% | -32 pts | 0.55 | -19% | lost |
| TSLA | Moving-average cross fast 10 · slow 50 |
91% | 67% | +24 pts | 0.54 | -50% | beat |
| T | Moving-average cross fast 10 · slow 50 |
53% | 40% | +14 pts | 0.53 | -26% | beat |
| FDX | Moving-average cross fast 40 · slow 200 |
60% | 59% | +0 pts | 0.53 | -27% | beat |
| NEM | Moving-average cross fast 30 · slow 150 |
74% | 99% | -25 pts | 0.50 | -52% | lost |
| HD | Moving-average cross fast 5 · slow 50 |
40% | 29% | +11 pts | 0.48 | -21% | beat |
| C | Moving-average cross fast 5 · slow 75 |
46% | 136% | -90 pts | 0.46 | -52% | lost |
| WFC | Moving-average cross fast 10 · slow 200 |
51% | 139% | -88 pts | 0.44 | -40% | lost |
| D | Moving-average cross fast 50 · slow 150 |
36% | 17% | +19 pts | 0.44 | -28% | beat |
| DUK | Moving-average cross fast 10 · slow 200 |
27% | 63% | -36 pts | 0.39 | -25% | lost |
| MCD | Moving-average cross fast 20 · slow 50 |
23% | 44% | -21 pts | 0.38 | -14% | lost |
| AXP | Moving-average cross fast 20 · slow 200 |
36% | 158% | -122 pts | 0.37 | -39% | lost |
| AMGN | Moving-average cross fast 30 · slow 75 |
27% | 64% | -36 pts | 0.35 | -20% | lost |
| NOW | Moving-average cross fast 20 · slow 100 |
24% | -14% | +37 pts | 0.34 | -42% | beat |
| ORCL | Moving-average cross fast 50 · slow 150 |
36% | 198% | -162 pts | 0.33 | -46% | lost |
| IBM | Moving-average cross fast 30 · slow 75 |
27% | 162% | -135 pts | 0.33 | -25% | lost |
| SCHW | Moving-average cross fast 40 · slow 50 |
26% | 53% | -27 pts | 0.31 | -36% | lost |
| BLK | Moving-average cross fast 10 · slow 75 |
23% | 64% | -41 pts | 0.31 | -22% | lost |
| MSFT | Moving-average cross fast 40 · slow 50 |
22% | 72% | -49 pts | 0.30 | -31% | lost |
| ADBE | Moving-average cross fast 40 · slow 150 |
23% | -56% | +79 pts | 0.30 | -37% | beat |
| DIA | Moving-average cross fast 30 · slow 75 |
15% | 73% | -58 pts | 0.30 | -26% | lost |
| FCX | Moving-average cross fast 40 · slow 50 |
22% | 112% | -90 pts | 0.28 | -49% | lost |
| KO | Moving-average cross fast 50 · slow 75 |
15% | 84% | -69 pts | 0.27 | -28% | lost |
| COST | Moving-average cross fast 20 · slow 50 |
17% | 211% | -193 pts | 0.26 | -34% | lost |
| TMUS | Moving-average cross fast 30 · slow 75 |
17% | 53% | -35 pts | 0.26 | -38% | lost |
| SO | Moving-average cross fast 15 · slow 100 |
15% | 88% | -73 pts | 0.26 | -26% | lost |
| INTU | Moving-average cross fast 10 · slow 200 |
17% | -27% | +44 pts | 0.25 | -44% | beat |
| INTC | Moving-average cross fast 10 · slow 50 |
11% | 109% | -98 pts | 0.24 | -69% | lost |
| LIN | Moving-average cross fast 50 · slow 200 |
15% | 106% | -91 pts | 0.24 | -30% | lost |
| EOG | Moving-average cross fast 40 · slow 75 |
15% | 145% | -129 pts | 0.24 | -43% | lost |
| UNH | Moving-average cross fast 50 · slow 200 |
11% | 20% | -9 pts | 0.20 | -35% | lost |
| BA | Moving-average cross fast 5 · slow 50 |
8% | -12% | +20 pts | 0.18 | -35% | beat |
| DE | Moving-average cross fast 50 · slow 100 |
4% | 69% | -66 pts | 0.15 | -36% | lost |
| LOW | Moving-average cross fast 10 · slow 50 |
6% | 33% | -28 pts | 0.15 | -32% | lost |
| BAC | Moving-average cross fast 5 · slow 75 |
2% | 67% | -64 pts | 0.11 | -43% | lost |
| IWM | Moving-average cross fast 30 · slow 100 |
3% | 36% | -34 pts | 0.11 | -33% | lost |
| PEP | Moving-average cross fast 10 · slow 100 |
1% | 24% | -24 pts | 0.08 | -26% | lost |
| SLB | Moving-average cross fast 5 · slow 150 |
-11% | 108% | -119 pts | 0.07 | -55% | lost |
| ABBV | Moving-average cross fast 50 · slow 200 |
-4% | 74% | -78 pts | 0.06 | -28% | lost |
| CRM | Moving-average cross fast 30 · slow 100 |
-5% | -26% | +20 pts | 0.05 | -42% | beat |
| QCOM | Moving-average cross fast 15 · slow 50 |
-13% | 82% | -95 pts | 0.04 | -51% | lost |
| BMY | Moving-average cross fast 50 · slow 200 |
-5% | 9% | -13 pts | 0.03 | -29% | lost |
| TXN | Moving-average cross fast 15 · slow 50 |
-10% | 99% | -109 pts | 0.03 | -44% | lost |
| O | Moving-average cross fast 10 · slow 100 |
-3% | 32% | -35 pts | 0.02 | -37% | lost |
| SHW | Moving-average cross fast 15 · slow 100 |
-5% | 40% | -44 pts | 0.02 | -39% | lost |
| MMM | Moving-average cross fast 10 · slow 100 |
-10% | 22% | -31 pts | 0.01 | -42% | lost |
| V | Moving-average cross fast 10 · slow 75 |
-6% | 66% | -72 pts | 0.01 | -44% | lost |
| NEE | Moving-average cross fast 40 · slow 200 |
-9% | 39% | -48 pts | -0.00 | -42% | lost |
| SBUX | Moving-average cross fast 20 · slow 75 |
-10% | 6% | -16 pts | -0.01 | -40% | lost |
| MDT | Moving-average cross fast 15 · slow 100 |
-6% | -22% | +16 pts | -0.01 | -25% | beat |
| ABT | Moving-average cross fast 5 · slow 150 |
-7% | -19% | +12 pts | -0.02 | -25% | beat |
| AMZN | Moving-average cross fast 40 · slow 50 |
-17% | 54% | -71 pts | -0.02 | -48% | lost |
| DIS | Moving-average cross fast 20 · slow 75 |
-9% | -46% | +37 pts | -0.04 | -34% | beat |
| TGT | Moving-average cross fast 15 · slow 50 |
-19% | -20% | +2 pts | -0.04 | -56% | lost |
| CVS | Moving-average cross fast 40 · slow 50 |
-16% | 61% | -77 pts | -0.04 | -52% | lost |
| CMCSA | Moving-average cross fast 30 · slow 200 |
-12% | -49% | +36 pts | -0.06 | -29% | beat |
| VZ | Moving-average cross fast 40 · slow 200 |
-12% | 12% | -24 pts | -0.09 | -23% | lost |
| PLD | Moving-average cross fast 50 · slow 100 |
-19% | 63% | -82 pts | -0.10 | -69% | lost |
| PYPL | Moving-average cross fast 15 · slow 200 |
-11% | -43% | +31 pts | -0.12 | -27% | beat |
| AMT | Moving-average cross fast 40 · slow 50 |
-19% | -4% | -15 pts | -0.13 | -42% | lost |
| PFE | Moving-average cross fast 5 · slow 50 |
-21% | -5% | -16 pts | -0.17 | -57% | lost |
| APD | Moving-average cross fast 20 · slow 50 |
-22% | 17% | -39 pts | -0.22 | -37% | lost |
| UNP | Moving-average cross fast 50 · slow 100 |
-26% | 38% | -64 pts | -0.22 | -50% | lost |
| TMO | Moving-average cross fast 10 · slow 100 |
-23% | 5% | -29 pts | -0.23 | -49% | lost |
| MA | Moving-average cross fast 10 · slow 50 |
-26% | 43% | -69 pts | -0.25 | -49% | lost |
| UPS | Moving-average cross fast 50 · slow 100 |
-28% | -17% | -11 pts | -0.25 | -51% | lost |
| DHR | Moving-average cross fast 50 · slow 200 |
-26% | -7% | -19 pts | -0.26 | -52% | lost |
| PSX | Moving-average cross fast 20 · slow 50 |
-36% | 141% | -178 pts | -0.30 | -54% | lost |
| PG | Moving-average cross fast 20 · slow 100 |
-25% | 34% | -59 pts | -0.38 | -40% | lost |
| NKE | Moving-average cross fast 20 · slow 50 |
-45% | -65% | +20 pts | -0.47 | -54% | lost |
| HON | Moving-average cross fast 40 · slow 75 |
-41% | 27% | -68 pts | -0.63 | -46% | lost |
| CCI | Moving-average cross fast 40 · slow 75 |
-51% | -34% | -17 pts | -0.74 | -61% | lost |
Showing 101 of 101. Sorted by Sharpe — return per unit of risk taken.
Settings were chosen on the older 70% of each stock's history, then scored — untouched — on the newer 30%. Every number on this page comes from that unseen stretch. "Difference" is how far the strategy finished ahead of or behind simply buying the stock and waiting, in percentage points. A strategy that beat buy & hold here is not a recommendation: 101 stocks × four families is a big enough search that some winners are luck. That's exactly why Chartments lets you put an idea on trial going forward, where luck can't be backfilled.
Snapshot from the sweep engine · 101 stocks · 4,392 trading days. Research & education only — not investment advice.