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 | |
|---|---|---|---|---|---|---|---|
| LLY | Bollinger bands period 50 · width 1.5 |
147% | 535% | -388 pts | 1.06 | -16% | lost |
| COP | Bollinger bands period 30 · width 2.0 |
129% | 155% | -26 pts | 1.01 | -18% | lost |
| NVDA | Bollinger bands period 20 · width 2.0 |
224% | 1,499% | -1,275 pts | 1.00 | -40% | lost |
| XOM | Bollinger bands period 30 · width 2.0 |
71% | 204% | -133 pts | 0.99 | -12% | lost |
| MPC | Bollinger bands period 50 · width 2.0 |
63% | 333% | -270 pts | 0.91 | -10% | lost |
| SO | Bollinger bands period 50 · width 1.5 |
59% | 88% | -30 pts | 0.89 | -15% | lost |
| META | Bollinger bands period 20 · width 1.5 |
123% | 168% | -45 pts | 0.88 | -20% | lost |
| V | Bollinger bands period 20 · width 1.5 |
83% | 66% | +17 pts | 0.86 | -14% | beat |
| CVS | Bollinger bands period 20 · width 3.0 |
28% | 61% | -33 pts | 0.83 | -7% | lost |
| PG | Bollinger bands period 30 · width 2.0 |
44% | 34% | +9 pts | 0.80 | -14% | beat |
| GS | Bollinger bands period 20 · width 1.5 |
76% | 262% | -185 pts | 0.76 | -20% | lost |
| MRK | Bollinger bands period 20 · width 1.5 |
56% | 84% | -28 pts | 0.76 | -20% | lost |
| MA | Bollinger bands period 20 · width 1.5 |
70% | 43% | +27 pts | 0.75 | -18% | beat |
| DE | Bollinger bands period 50 · width 1.5 |
82% | 69% | +13 pts | 0.75 | -24% | beat |
| UNP | Bollinger bands period 20 · width 1.5 |
57% | 38% | +20 pts | 0.71 | -15% | beat |
| WFC | Bollinger bands period 30 · width 2.0 |
69% | 139% | -70 pts | 0.69 | -20% | lost |
| MU | Bollinger bands period 20 · width 2.5 |
70% | 1,082% | -1,012 pts | 0.67 | -14% | lost |
| VZ | Bollinger bands period 50 · width 1.5 |
49% | 12% | +37 pts | 0.66 | -25% | beat |
| TXN | Bollinger bands period 30 · width 3.0 |
13% | 99% | -86 pts | 0.64 | -3% | lost |
| AVGO | Bollinger bands period 50 · width 1.5 |
73% | 846% | -773 pts | 0.63 | -31% | lost |
| DUK | Bollinger bands period 50 · width 1.5 |
37% | 63% | -26 pts | 0.63 | -17% | lost |
| AMAT | Bollinger bands period 30 · width 1.5 |
86% | 439% | -354 pts | 0.61 | -29% | lost |
| SBUX | Bollinger bands period 20 · width 1.5 |
61% | 6% | +55 pts | 0.59 | -26% | beat |
| QCOM | Bollinger bands period 30 · width 3.0 |
34% | 82% | -48 pts | 0.59 | -11% | lost |
| O | Bollinger bands period 50 · width 1.5 |
34% | 32% | +2 pts | 0.59 | -19% | beat |
| TMUS | Bollinger bands period 30 · width 2.0 |
41% | 53% | -12 pts | 0.55 | -21% | lost |
| CVX | Bollinger bands period 50 · width 1.5 |
40% | 113% | -73 pts | 0.55 | -15% | lost |
| IWM | Bollinger bands period 30 · width 2.0 |
40% | 36% | +4 pts | 0.55 | -20% | beat |
| ABBV | Bollinger bands period 30 · width 1.5 |
29% | 74% | -45 pts | 0.54 | -17% | lost |
| SPY | Bollinger bands period 30 · width 1.5 |
35% | 104% | -68 pts | 0.54 | -16% | lost |
| AMD | Bollinger bands period 30 · width 2.0 |
73% | 548% | -475 pts | 0.52 | -36% | lost |
| QQQ | Bollinger bands period 30 · width 1.5 |
43% | 138% | -95 pts | 0.52 | -22% | lost |
| JPM | Bollinger bands period 20 · width 1.5 |
38% | 145% | -107 pts | 0.50 | -16% | lost |
| MS | Bollinger bands period 30 · width 2.0 |
42% | 220% | -178 pts | 0.49 | -25% | lost |
| GOOGL | Bollinger bands period 30 · width 1.5 |
44% | 262% | -218 pts | 0.49 | -26% | lost |
| HON | Bollinger bands period 30 · width 2.0 |
31% | 27% | +4 pts | 0.48 | -13% | beat |
| BA | Bollinger bands period 20 · width 3.0 |
13% | -12% | +25 pts | 0.48 | -9% | beat |
| MSFT | Bollinger bands period 30 · width 1.5 |
41% | 72% | -31 pts | 0.47 | -18% | lost |
| GILD | Bollinger bands period 20 · width 2.0 |
23% | 136% | -113 pts | 0.45 | -16% | lost |
| AAPL | Bollinger bands period 30 · width 1.5 |
41% | 153% | -112 pts | 0.45 | -25% | lost |
| DIA | Bollinger bands period 30 · width 1.5 |
24% | 73% | -49 pts | 0.44 | -14% | lost |
| INTC | Bollinger bands period 50 · width 1.5 |
53% | 109% | -55 pts | 0.44 | -49% | lost |
| PSX | Bollinger bands period 20 · width 2.0 |
27% | 141% | -115 pts | 0.42 | -19% | lost |
| RTX | Bollinger bands period 30 · width 1.5 |
28% | 176% | -148 pts | 0.41 | -26% | lost |
| WMT | Bollinger bands period 20 · width 2.5 |
15% | 188% | -173 pts | 0.40 | -11% | lost |
| D | Bollinger bands period 50 · width 1.5 |
25% | 17% | +8 pts | 0.38 | -31% | beat |
| LOW | Bollinger bands period 30 · width 1.5 |
29% | 33% | -5 pts | 0.38 | -19% | lost |
| FCX | Bollinger bands period 20 · width 3.0 |
18% | 112% | -94 pts | 0.37 | -18% | lost |
| AMGN | Bollinger bands period 20 · width 1.5 |
24% | 64% | -39 pts | 0.37 | -22% | lost |
| APD | Bollinger bands period 20 · width 1.5 |
26% | 17% | +9 pts | 0.35 | -28% | beat |
| SLB | Bollinger bands period 50 · width 3.0 |
18% | 108% | -90 pts | 0.35 | -10% | lost |
| LIN | Bollinger bands period 50 · width 1.5 |
20% | 106% | -86 pts | 0.35 | -16% | lost |
| ABT | Bollinger bands period 50 · width 1.5 |
22% | -19% | +41 pts | 0.33 | -32% | beat |
| BMY | Bollinger bands period 50 · width 1.5 |
21% | 9% | +12 pts | 0.32 | -25% | beat |
| NEE | Bollinger bands period 50 · width 1.5 |
22% | 39% | -17 pts | 0.31 | -31% | lost |
| UNH | Bollinger bands period 50 · width 1.5 |
22% | 20% | +2 pts | 0.29 | -47% | beat |
| DIS | Bollinger bands period 30 · width 2.0 |
20% | -46% | +66 pts | 0.29 | -28% | beat |
| LMT | Bollinger bands period 30 · width 1.5 |
16% | 73% | -57 pts | 0.29 | -21% | lost |
| C | Bollinger bands period 30 · width 1.5 |
20% | 136% | -116 pts | 0.28 | -27% | lost |
| MMM | Bollinger bands period 50 · width 2.5 |
14% | 22% | -7 pts | 0.27 | -18% | lost |
| GE | Bollinger bands period 30 · width 3.0 |
11% | 455% | -444 pts | 0.26 | -13% | lost |
| CRM | Bollinger bands period 20 · width 1.5 |
14% | -26% | +40 pts | 0.23 | -32% | beat |
| PFE | Bollinger bands period 20 · width 2.0 |
11% | -5% | +16 pts | 0.22 | -24% | beat |
| AXP | Bollinger bands period 50 · width 1.5 |
13% | 158% | -145 pts | 0.22 | -26% | lost |
| CSCO | Bollinger bands period 30 · width 1.5 |
11% | 178% | -168 pts | 0.21 | -25% | lost |
| KO | Bollinger bands period 20 · width 2.0 |
6% | 84% | -77 pts | 0.19 | -26% | lost |
| TSLA | Bollinger bands period 50 · width 2.0 |
1% | 67% | -66 pts | 0.19 | -57% | lost |
| MCD | Bollinger bands period 30 · width 1.5 |
7% | 44% | -37 pts | 0.18 | -13% | lost |
| PEP | Bollinger bands period 30 · width 1.5 |
7% | 24% | -17 pts | 0.18 | -14% | lost |
| SCHW | Bollinger bands period 20 · width 1.5 |
8% | 53% | -46 pts | 0.17 | -40% | lost |
| PLD | Bollinger bands period 50 · width 2.0 |
6% | 63% | -57 pts | 0.15 | -25% | lost |
| DHR | Bollinger bands period 50 · width 1.5 |
4% | -7% | +11 pts | 0.13 | -32% | beat |
| BAC | Bollinger bands period 20 · width 1.5 |
4% | 67% | -63 pts | 0.13 | -35% | lost |
| EOG | Bollinger bands period 30 · width 3.0 |
4% | 145% | -141 pts | 0.12 | -13% | lost |
| AMT | Bollinger bands period 20 · width 1.5 |
2% | -4% | +6 pts | 0.11 | -34% | beat |
| ORCL | Bollinger bands period 50 · width 1.5 |
-1% | 198% | -199 pts | 0.11 | -44% | lost |
| SPG | Bollinger bands period 30 · width 1.5 |
1% | 140% | -139 pts | 0.10 | -29% | lost |
| JNJ | Bollinger bands period 50 · width 1.5 |
3% | 69% | -67 pts | 0.10 | -20% | lost |
| MDT | Bollinger bands period 50 · width 1.5 |
-1% | -22% | +21 pts | 0.06 | -27% | beat |
| FDX | Bollinger bands period 30 · width 1.5 |
-4% | 59% | -64 pts | 0.06 | -45% | lost |
| ISRG | Bollinger bands period 30 · width 1.5 |
-6% | 71% | -76 pts | 0.06 | -29% | lost |
| SHW | Bollinger bands period 20 · width 1.5 |
-2% | 40% | -42 pts | 0.05 | -32% | lost |
| AMZN | Bollinger bands period 20 · width 1.5 |
-9% | 54% | -64 pts | 0.04 | -41% | lost |
| COST | Bollinger bands period 20 · width 1.5 |
-2% | 211% | -212 pts | 0.03 | -29% | lost |
| IBM | Bollinger bands period 20 · width 2.5 |
-1% | 162% | -163 pts | 0.03 | -21% | lost |
| PYPL | Bollinger bands period 20 · width 3.0 |
-1% | -43% | +42 pts | 0.01 | -18% | beat |
| HD | Bollinger bands period 20 · width 1.5 |
-4% | 29% | -33 pts | 0.01 | -26% | lost |
| CAT | Bollinger bands period 20 · width 3.0 |
-1% | 366% | -367 pts | 0.01 | -13% | lost |
| UPS | Bollinger bands period 20 · width 1.5 |
-8% | -17% | +9 pts | -0.01 | -32% | lost |
| TMO | Bollinger bands period 20 · width 2.5 |
-6% | 5% | -12 pts | -0.05 | -29% | lost |
| NOW | Bollinger bands period 50 · width 1.5 |
-23% | -14% | -9 pts | -0.06 | -59% | lost |
| CCI | Bollinger bands period 50 · width 1.5 |
-17% | -34% | +17 pts | -0.11 | -40% | beat |
| CMCSA | Bollinger bands period 50 · width 1.5 |
-20% | -49% | +29 pts | -0.14 | -30% | beat |
| INTU | Bollinger bands period 50 · width 1.5 |
-33% | -27% | -6 pts | -0.14 | -59% | lost |
| NKE | Bollinger bands period 30 · width 1.5 |
-34% | -65% | +31 pts | -0.22 | -45% | beat |
| TGT | Bollinger bands period 20 · width 1.5 |
-33% | -20% | -13 pts | -0.24 | -47% | lost |
| NFLX | Bollinger bands period 20 · width 1.5 |
-47% | 50% | -98 pts | -0.24 | -70% | lost |
| T | Bollinger bands period 30 · width 2.0 |
-18% | 40% | -58 pts | -0.26 | -27% | lost |
| BLK | Bollinger bands period 20 · width 1.5 |
-27% | 64% | -91 pts | -0.27 | -42% | lost |
| NEM | Bollinger bands period 20 · width 1.5 |
-34% | 99% | -133 pts | -0.29 | -52% | lost |
| ADBE | Bollinger bands period 20 · width 1.5 |
-56% | -56% | -0 pts | -0.49 | -59% | 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.