Does buying when MACD crosses above zero catch new trends?
Across 214 of 220 tickers between 2015-01-01 and 2024-12-31, average return was 6.61%, average max drawdown -7.86%.
A clear edge: +6.61% mean return across 214 tickers, with -7.86% average drawdown — meaningful return for the risk taken.
What we tested
We want to catch the start of a new uptrend by watching for momentum to turn positive, using the MACD line crossing its own zero line rather than crossing its signal line. Compute MACD using the standard 12 and 26 period exponential moving averages of the close (MACD line = 12 period EMA minus 26 period EMA). Enter long when the MACD line closes above zero after closing below zero on the prior bar. On the entry bar, measure the 14 period ATR and place a protective stop 2 ATR below the entry price. Size the position so that hitting that stop loses exactly 1 percent of account equity. Round down to a whole number of shares. Take profit at 2.5R, that is two and a half times the distance between entry and stop, placed above the entry. Also exit at the next open if the MACD line closes back below zero before either level is hit. If the position has been held for 40 trading days without resolving, exit at the next open. Long only. One open position per ticker at a time. No leverage and no pyramiding.
- Window
- 2015-01-01 → 2024-12-31
- Universe
- 220 tickers
- Ranking metric
- return_pct

Overall results
Aggregated across 214 runsEqual-weighted mean of total return across symbols that completed. · 1 codegen refinement on pilot
Unweighted mean across successful runs.
214 completed · 6 failed
Mean of worst peak-to-trough per symbol.
Aggregate gross profit ÷ gross loss.
Summed over successful symbols.
Return distribution
How the 214 tickers split up across return_pct buckets. Reads left to right from worst to best.
- ≤ -10%5 (2.3%)
- -10% to -5%22 (10.3%)
- -5% to -1%25 (11.7%)
- −1% to +1%8 (3.7%)
- +1% to +5%35 (16.4%)
- +5% to +10%42 (19.6%)
- > +10%77 (36.0%)
By sector
Top and flop names per GICS sector, ranked by return_pct.
Communication Services
18 / 20 completed- NFLX23.66%
- GOOGL23.24%
- MTCH22.06%
- GOOG20.91%
- META16.45%
- WBD-21.13%
- OMC-10.52%
- VZ-6.20%
- TMUS-4.91%
- CMCSA-4.85%
Consumer Discretionary
20 / 20 completed- HD26.92%
- LOW17.79%
- GM17.19%
- AZO16.99%
- MCD14.95%
- MAR-8.43%
- NKE-6.36%
- ULTA-3.17%
- TSLA-2.73%
- AMZN0.65%
Consumer Staples
20 / 20 completed- COST31.77%
- PG18.88%
- WMT14.34%
- KMB10.12%
- MDLZ8.07%
- KHC-10.17%
- ADM-2.67%
- GIS-2.51%
- EL-2.36%
- MO-2.18%
Energy
17 / 20 completed- OKE21.90%
- PSX20.44%
- MPC17.66%
- BKR16.10%
- XOM14.95%
- FANG-9.41%
- OXY-8.59%
- CVX-2.66%
- SLB3.27%
- WMB3.75%
Financials
19 / 20 completed- ICE28.06%
- SPGI22.89%
- BLK22.16%
- SCHW21.18%
- MCO16.20%
- AON-6.68%
- WFC-0.88%
- JPM0.69%
- BK1.19%
- PNC1.78%
Health Care
20 / 20 completed- ABT21.54%
- CI20.78%
- REGN17.37%
- LLY15.46%
- BSX14.50%
- GILD-11.46%
- VRTX-10.37%
- MRK-6.42%
- CVS-4.13%
- UNH-3.95%
Industrials
20 / 20 completed- NSC21.57%
- ETN20.41%
- CMI18.96%
- ITW16.58%
- GD15.13%
- FDX-8.69%
- CSX-5.21%
- HON-1.87%
- GE-0.81%
- BA1.05%
Information Technology
20 / 20 completed- AMAT26.83%
- AAPL25.19%
- ACN20.11%
- IBM16.87%
- QCOM15.84%
- INTC-8.99%
- ORCL-2.21%
- CRM2.53%
- MU3.23%
- CSCO3.41%
Materials
20 / 20 completed- NUE13.49%
- VMC12.66%
- LIN12.65%
- NEM11.56%
- STLD10.76%
- FMC-8.69%
- DD-8.61%
- PPG-7.16%
- EMN-6.36%
- ECL-5.99%
Real Estate
20 / 20 completed- CBRE16.82%
- WELL14.11%
- EQIX11.48%
- O11.07%
- PLD9.84%
- ARE-8.63%
- UDR-6.16%
- PSA-5.24%
- AVB-2.40%
- CCI-1.47%
Utilities
20 / 20 completed- AEP26.75%
- AEE22.05%
- EIX19.84%
- XEL17.55%
- NEE17.19%
- SRE-6.33%
- CNP-5.38%
- PCG-3.90%
- PEG-1.81%
- D2.93%
Disclaimer
Past performance does not predict future results. This is a backtest over a fixed historical window and it does not model execution costs, borrowing, taxes, or survivorship of the universe. Nothing here is investment advice.
Generated Jul 29, 2026 · slug macd-zero-cross