Key takeaways
- The golden cross is one of the weakest signals we measured. On daily charts it won 48.2% of 1:1 trades against 48.4% for a random long with the same stop — an edge of -0.2 points. At 1:2 the random entry actually did better, at -3.5 points.
- Most indicator edges land between zero and two points. The best daily result was RSI(14) exits oversold at 1:2, worth +3.7 points.
- Win rates above 50% are mostly market drift, not signal. A matched random long won 50.2% over this period; a matched random short won 47.1%. Any long signal inherits that gap for free.
- Bigger samples, smaller edges. On 4-hour bars the sample grows enormously and the edges shrink toward one point — statistically overwhelming, economically irrelevant.
- After spreads, 1 of 28 four-hour signal-and-target combinations cleared breakeven.
How this was measured
Identical engine to our candlestick pattern study, with the signal layer swapped. The method is the point — a win rate with nothing to compare it to means nothing.
- Data. Dukascopy bid-side OHLC for 28 instruments — major and cross FX pairs, gold, silver, stock indices and crypto — from 2010 to August 2026.
- Signals. Fourteen classic setups: RSI(14) leaving oversold and overbought, MACD(12,26,9) crosses both ways, the EMA 50/200 golden and death cross, EMA 9/21 crosses, closes beyond a 2-standard-deviation Bollinger band, Stochastic(14,3) crosses from the extremes, and price crossing the EMA200.
- The trade. Enter at the open of the next bar. Stop at 1.5 × ATR(14) — indicators have no natural extreme to hide a stop behind, and an ATR stop keeps risk comparable across signal types. Targets at 1:1 and 1:2, walking forward up to 40 bars.
- Ties go against you. A bar holding both stop and target is scored a loss every time.
- Real costs. Per-instrument median spreads from our own bid/ask measurement. Longs buy the ask, shorts cover at the ask.
- The control. For every signal, a trade with the same direction and the same stop distance as a fraction of price, at a random bar — five draws each. The gap between the two columns is all the signal is actually worth.
The drift problem, and why the control column is the only honest one
Six of the fourteen daily signals show a win rate above 50% at a 1:1 target, which looks like a vindication of technical analysis until you read the column beside it.
Across this sample a matched random long won 50.2% of 1:1 trades. A matched random short won 47.1%. Nothing clever is happening there: indices, gold and crypto rose over 2010–2026, so buying at any random moment and holding to a symmetric target worked slightly more often than selling did. Every long signal in the table inherits that advantage before its indicator does a single thing.
Subtract it and most of these signals contribute between nothing and two points.
Daily charts: 1:1 target
Breakeven is a 50% win rate.
| Signal | Trades | Win rate | Matched random | Edge | Significance | Beats breakeven? |
|---|---|---|---|---|---|---|
| Death cross (EMA 50/200) | 333 | 49.2% | 46.8% | +2.5 pts | not significant | No |
| EMA 9/21 bear cross | 2,438 | 48.6% | 46.6% | +1.9 pts | not significant | No |
| Stochastic bull cross <20 | 3,529 | 52.1% | 50.2% | +1.9 pts | * | Yes |
| Price crosses above EMA200 | 2,175 | 52.0% | 50.3% | +1.7 pts | not significant | Yes |
| RSI(14) exits overbought | 1,741 | 48.6% | 47.1% | +1.4 pts | not significant | No |
| Price crosses below EMA200 | 2,174 | 49.1% | 47.7% | +1.4 pts | not significant | No |
| MACD bullish cross | 4,308 | 51.5% | 50.2% | +1.3 pts | not significant | Yes |
| MACD bearish cross | 4,310 | 48.7% | 47.4% | +1.2 pts | not significant | No |
| RSI(14) exits oversold | 1,360 | 51.5% | 50.8% | +0.7 pts | not significant | Yes |
| Close below lower Bollinger | 3,113 | 51.1% | 50.8% | +0.3 pts | not significant | Yes |
| Golden cross (EMA 50/200) | 334 | 48.2% | 48.4% | -0.2 pts | not significant | No |
| Close above upper Bollinger | 3,301 | 47.2% | 47.5% | -0.3 pts | not significant | No |
| EMA 9/21 bull cross | 2,440 | 50.5% | 51.0% | -0.5 pts | not significant | Yes |
| Stochastic bear cross >80 | 5,128 | 45.7% | 46.9% | -1.2 pts | not significant | No |
Daily charts: 1:2 target
Breakeven is 33.3%.
| Signal | Trades | Win rate | Matched random | Edge | Significance | Beats breakeven? |
|---|---|---|---|---|---|---|
| RSI(14) exits oversold | 1,289 | 34.8% | 31.1% | +3.7 pts | * | Yes |
| Stochastic bull cross <20 | 3,394 | 34.7% | 32.7% | +2.0 pts | * | Yes |
| MACD bearish cross | 4,166 | 31.4% | 29.5% | +1.9 pts | * | No |
| Close below lower Bollinger | 2,985 | 34.9% | 33.1% | +1.9 pts | not significant | Yes |
| MACD bullish cross | 4,110 | 34.7% | 33.1% | +1.6 pts | not significant | Yes |
| Close above upper Bollinger | 3,192 | 31.6% | 30.1% | +1.5 pts | not significant | No |
| Price crosses above EMA200 | 2,077 | 33.4% | 32.1% | +1.2 pts | not significant | Yes |
| EMA 9/21 bull cross | 2,325 | 33.8% | 32.9% | +0.9 pts | not significant | Yes |
| RSI(14) exits overbought | 1,691 | 30.9% | 30.1% | +0.9 pts | not significant | No |
| EMA 9/21 bear cross | 2,346 | 31.5% | 30.7% | +0.8 pts | not significant | No |
| Price crosses below EMA200 | 2,089 | 30.5% | 30.3% | +0.2 pts | not significant | No |
| Stochastic bear cross >80 | 4,988 | 29.2% | 29.6% | -0.4 pts | not significant | No |
| Death cross (EMA 50/200) | 319 | 29.2% | 29.6% | -0.4 pts | not significant | No |
| Golden cross (EMA 50/200) | 321 | 31.5% | 34.9% | -3.5 pts | not significant | No |
Four-hour charts
The 4-hour sample is several times larger, so significance rises sharply while the edges themselves shrink. MACD bullish cross beats its control by +1.3 points across 21,693 trades — a result that is statistically unmistakable and worth almost nothing at the desk.
| Signal | Trades | Win rate | Matched random | Edge | Significance | Beats breakeven? |
|---|---|---|---|---|---|---|
| Death cross (EMA 50/200) | 1,780 | 50.2% | 46.9% | +3.3 pts | * | Yes |
| Golden cross (EMA 50/200) | 1,775 | 49.4% | 48.0% | +1.4 pts | not significant | No |
| Price crosses below EMA200 | 11,326 | 48.0% | 46.8% | +1.2 pts | * | No |
| EMA 9/21 bear cross | 12,751 | 47.9% | 46.7% | +1.2 pts | * | No |
| MACD bearish cross | 22,648 | 47.8% | 46.8% | +1.1 pts | ** | No |
| MACD bullish cross | 22,621 | 48.8% | 47.8% | +1.0 pts | ** | No |
| RSI(14) exits overbought | 10,015 | 47.2% | 46.4% | +0.9 pts | not significant | No |
| EMA 9/21 bull cross | 12,748 | 48.5% | 47.9% | +0.6 pts | not significant | No |
| Stochastic bull cross <20 | 19,185 | 48.6% | 48.1% | +0.4 pts | not significant | No |
| RSI(14) exits oversold | 8,728 | 48.4% | 48.1% | +0.2 pts | not significant | No |
| Close below lower Bollinger | 17,038 | 48.3% | 48.1% | +0.2 pts | not significant | No |
| Stochastic bear cross >80 | 26,606 | 46.7% | 46.6% | +0.1 pts | not significant | No |
| Close above upper Bollinger | 17,543 | 46.7% | 46.7% | -0.0 pts | not significant | No |
| Price crosses above EMA200 | 11,324 | 48.0% | 48.3% | -0.2 pts | not significant | No |
| Signal | Trades | Win rate | Matched random | Edge | Significance | Beats breakeven? |
|---|---|---|---|---|---|---|
| Death cross (EMA 50/200) | 1,711 | 32.6% | 30.1% | +2.5 pts | * | No |
| RSI(14) exits oversold | 8,385 | 31.5% | 30.0% | +1.5 pts | ** | No |
| EMA 9/21 bull cross | 12,183 | 32.2% | 30.8% | +1.4 pts | ** | No |
| MACD bullish cross | 21,693 | 32.4% | 31.2% | +1.3 pts | *** | No |
| MACD bearish cross | 22,026 | 31.0% | 29.9% | +1.2 pts | *** | No |
| Price crosses below EMA200 | 10,941 | 30.9% | 29.7% | +1.2 pts | * | No |
| EMA 9/21 bear cross | 12,406 | 31.2% | 30.1% | +1.1 pts | * | No |
| Close below lower Bollinger | 16,420 | 31.7% | 30.7% | +1.1 pts | ** | No |
| Close above upper Bollinger | 17,047 | 30.9% | 29.9% | +1.0 pts | ** | No |
| Price crosses above EMA200 | 10,807 | 31.8% | 30.8% | +1.0 pts | * | No |
| RSI(14) exits overbought | 9,737 | 30.8% | 29.8% | +1.0 pts | * | No |
| Stochastic bull cross <20 | 18,524 | 31.7% | 30.8% | +1.0 pts | * | No |
| Golden cross (EMA 50/200) | 1,696 | 31.2% | 30.6% | +0.6 pts | not significant | No |
| Stochastic bear cross >80 | 25,846 | 30.2% | 30.2% | -0.0 pts | not significant | No |
What this means if you trade indicators
- Fame and performance are unrelated. The golden cross is the most recognisable signal in retail trading and finished near the bottom of the table.
- An indicator is a filter, not a system. A one-to-two point edge on entry timing cannot carry a strategy. It can slightly improve one that already works.
- Check your benchmark before you celebrate a win rate. If a signal wins 52% and a random entry in the same direction wins 51%, the indicator earned one point, not fifty-two.
- Costs eat the edge on faster timeframes. The same signal is worth less the more often you trade it.
Limitations
- Default parameters only. RSI 14, MACD 12/26/9, Bollinger 20/2, Stochastic 14/3. Tuned settings are not tested here, and tuning them on this same data would be curve-fitting.
- One stop rule (1.5 × ATR) and two fixed targets. Trailing stops, time exits and scaling are untested.
- Signals are taken in isolation, with no trend filter or confluence — which is precisely how the isolated value of each is measured, but not how most people trade them.
- Bid data with modelled ask. Spread is a measured median, not a replayed tick-level ask feed.
- Spread only — no commission or swap. Both would push results further down.
- Trades unresolved after 40 bars are excluded; that is under 6% of any row.
Download this dataset
Every figure on this page as raw CSV and JSON, regenerated whenever the archive updates. Free for any use, including commercial, with attribution to FxBacktest.
- daily-charts-1-1-target.csvDaily charts: 1:1 target
- daily-charts-1-2-target.csvDaily charts: 1:2 target
- four-hour-charts.csvFour-hour charts
- four-hour-charts-2.csvFour-hour charts
- indicator-signal-win-rates.jsonAll tables plus metadata, one file
Cite or republish this data
This research is free to quote, screenshot, or republish — in an article, a video, a newsletter, or a course — as long as you credit FxBacktest with a link back to this page. Copy the attribution below.
Frequently asked
Do trading indicators actually work?
Only barely, and far less than their popularity suggests. Across 232,772 signals on 28 instruments, the largest daily edge over a matched random entry was +3.7 points (RSI(14) exits oversold at 1:2), and most signals came in between zero and two points. On 4-hour charts the edges were still statistically significant thanks to the huge sample, but almost none translated into a win rate above breakeven once spreads were applied.
Does the golden cross work?
Not in this test. The EMA 50/200 golden cross won 48.2% of 1:1 trades on daily charts against 48.4% for a random long with the same stop - an edge of -0.2 points. At a 1:2 target it was -3.5 points, meaning a random entry did better. On 4-hour bars its +1.4 point edge was not statistically significant. It is the most famous signal in retail trading and one of the weakest we measured.
Why do some indicators show a win rate above 50%?
Mostly because they are long signals in a sample period that rose. Across daily charts the matched random control won 50.2% on long signals versus 47.1% on short signals, purely because indices, gold and crypto trended up between 2010 and 2026. That drift lifts every long entry, random ones included. It is exactly why the control column matters: subtract it and the indicator's own contribution is usually close to nothing.
Which indicator performed best?
RSI(14) exits oversold at a 1:2 target produced the largest daily edge at +3.7 points over its matched control. On the much larger 4-hour sample the best was Death cross (EMA 50/200) at +2.5 points. Both are real but small - useful as one input among several, not as a strategy on their own.
How were the trades simulated?
Enter at the open of the bar after the signal. Stop 1.5 x ATR(14) away, targets at 1:1 and 1:2, walk forward up to 40 bars until one level is touched. Bars containing both stop and target are scored as losses. Real per-instrument median spreads are applied, with longs buying the ask and shorts covering at the ask. Data is Dukascopy bid OHLC for 28 instruments, 2010 to August 2026.