Variations

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.

Beat buy & hold on unseen data 21.3%

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.

9,393settings tested
404best-of finalists
86still won on unseen data
101stocks
4,392days of history

Bollinger bands

Trade the band: buy the lower band, exit at the middle or upper.

26 of 101 beat buy & hold 25.7%

Donchian breakout

Buy an N-day high, sell an N-day low — the classic turtle breakout.

15 of 101 beat buy & hold 14.9%

Moving-average cross

Buy when the fast average crosses above the slow one, sell when it crosses back.

19 of 101 beat buy & hold 18.8%

RSI mean-reversion

Buy when RSI says oversold, sell when it says overbought.

26 of 101 beat buy & hold 25.7%
🏆 Winners only All finalists Bollinger bands Donchian breakout Moving-average cross RSI mean-reversion
StockStrategy & settings Strategy returnBuy & hold DifferenceSharpeWorst 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.

How to read this honestly

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.