6,867 US stocks · 3,876,380 daily bars · sample period 2024-01-01 to present · computed 2026-11-04
Every site that describes technical indicators will tell you what a golden cross is. Almost none will tell you how often it actually worked. This page is our attempt to answer that second question honestly, using our own price history rather than a textbook.
For each stock in our universe we computed the signals below from end-of-day closes, took every occurrence, then measured the forward return at 5, 10 and 20 trading days. Indicator math was cross-checked against TA-Lib (maximum deviation under 0.0002). No parameter optimisation was performed — the periods are the conventional ones, precisely because tuning them would produce flattering results that would not survive out of sample.
| Signal | Trades | Win rate | Median |
|---|---|---|---|
| RSI oversold recovery RSI(14) crosses back above 30 from below |
43,429 | 54.1% | +0.79% |
| RSI overbought reversal RSI(14) crosses back below 70 from above |
59,655 | 52.3% | +0.29% |
| MACD golden cross MACD line (12,26,9) crosses above its signal line |
144,800 | 50.6% | +0.09% |
| MACD death cross MACD line crosses below its signal line |
144,908 | 53.6% | +0.45% |
| Moving average golden cross MA20 crosses above MA60 |
31,391 | 48.8% | -0.04% |
| Moving average death cross MA20 crosses below MA60 |
32,003 | 51.7% | +0.24% |
| Combined bullish setup MACD golden cross + RSI below 50 + price above MA20 |
7,763 | 49.1% | -0.05% |
| Combined bearish setup MACD death cross + RSI above 50 + price below MA20 |
8,660 | 54.1% | +0.54% |
| Signal | Horizon | Trades | Win rate | Median |
|---|---|---|---|---|
| RSI oversold recovery | 5d | 46,097 | 49.2% | 0.00% |
| RSI oversold recovery | 10d | 45,142 | 54.2% | +0.54% |
| RSI oversold recovery | 20d | 43,429 | 54.1% | +0.79% |
| RSI overbought reversal | 5d | 60,744 | 50.5% | +0.05% |
| RSI overbought reversal | 10d | 60,287 | 52.4% | +0.20% |
| RSI overbought reversal | 20d | 59,655 | 52.3% | +0.29% |
| MACD golden cross | 5d | 148,937 | 50.2% | +0.02% |
| MACD golden cross | 10d | 147,567 | 50.3% | +0.04% |
| MACD golden cross | 20d | 144,800 | 50.6% | +0.09% |
| MACD death cross | 5d | 148,098 | 52.0% | +0.13% |
| MACD death cross | 10d | 147,208 | 53.0% | +0.27% |
| MACD death cross | 20d | 144,908 | 53.6% | +0.45% |
| Moving average golden cross | 5d | 31,993 | 46.8% | -0.12% |
| Moving average golden cross | 10d | 31,763 | 47.5% | -0.12% |
| Moving average golden cross | 20d | 31,391 | 48.8% | -0.04% |
| Moving average death cross | 5d | 33,350 | 49.9% | 0.00% |
| Moving average death cross | 10d | 32,954 | 51.1% | +0.14% |
| Moving average death cross | 20d | 32,003 | 51.7% | +0.24% |
| Combined bullish setup | 5d | 7,982 | 52.3% | +0.18% |
| Combined bullish setup | 10d | 7,914 | 52.7% | +0.29% |
| Combined bullish setup | 20d | 7,763 | 49.1% | -0.05% |
| Combined bearish setup | 5d | 8,814 | 54.3% | +0.28% |
| Combined bearish setup | 10d | 8,783 | 54.2% | +0.40% |
| Combined bearish setup | 20d | 8,660 | 54.1% | +0.54% |
The golden cross underperforms. MA20 crossing above MA60 is the single most recommended entry signal in retail technical analysis. In this sample it produced a 48.8% win rate and a slightly negative median return over 20 days. Buying the golden cross was, historically, a coin flip that landed on the wrong side more often than not.
The death cross is not a sell signal. The MACD death cross — the one tutorials say means "get out" — was followed by a positive median return and a 53.6% win rate. Selling on it would have systematically cut positions just before further gains.
Oversold recovery is the one signal with a real edge, and it is small. RSI climbing back above 30 produced a 54.1% win rate and a +0.79% median 20-day return. That is not nothing, but with typical round-trip costs of 0.1% or more, most of it disappears.
Combining signals did not rescue them. The combined bullish setup — MACD cross, RSI filter and price above MA20 — had a 49.0% win rate. Adding conditions reduced sample size without improving the outcome.
The backtest is deterministic and the indicator math is validated against TA-Lib. The methodology — exact signal definitions, periods, and statistical treatment — is documented at methodology.php. To see how these signals read on a specific company today, open any ticker from the home page.