Does the 9/21 EMA crossover work? We tested it on thousands of trades
It did not pass. On hourly crypto the plain cross made 15.0% a year before costs and -51.3% after. On daily US stocks it made 9.1% a year against 18.0% for the stocks it traded. The filtered version beat every random copy but lost to the basket in both halves of the test.
What people say
The 9/21 EMA cross is one of the first strategies new traders meet: two moving averages, buy when the fast one crosses above the slow one, sell when it crosses back. This autumn a run of videos tested it "on 100 trades" and reported real results.
- "9-21 EMA Strategy Tested on 100 Trades | REAL Results" (Trade Hunter, YouTube, 22 Sep 2026 (video title))
- "9-21 EMA Intraday Trading Strategy" (Trade Hunter, YouTube, 24 Aug 2026 (video title))
- "EMA 9 and EMA 21 aligned with the direction" (r/algotrading post, 20 Sep 2026)
Trade Hunter's two 9-21 EMA videos passed 25,000 and 21,000 views in August and September 2026. Moving averages came up in 101 posts on the trading subreddits in the same five weeks, including an r/Daytrading thread asking whether RSI, MACD and EMAs are outdated.
What we tested
A hundred trades is a small sample: a rule with no edge at all lands well above or below break-even over 100 trades quite often. We ran the cross over 21,714 hourly trades on crypto, plus the filtered version and a daily version on US stocks. The rules and pass bar were written down before running.
- 9/21 EMA cross on hourly crypto, long and short. Hourly crypto, always in the market: long while the 9-period EMA is above the 21-period EMA, short while it is below.
- Same cross, long only, above the 200 EMA (earlier run). The same cross, long only, and only while price is above the 200-period EMA. This is the filtered version many videos teach. Reused from an earlier batch.
- 9/21 EMA cross on daily US large caps, long only. Daily bars on 40 large US stocks, long while the 9-day EMA is above the 21-day EMA, cash otherwise.
Results
| Version | Market (assets) | Trades | Rule, a year (after costs) | Benchmark, a year | Ahead or behind, a year | Same, before costs | Random copies beaten | p | q (all tests) |
|---|---|---|---|---|---|---|---|---|---|
| 9/21 EMA cross on hourly crypto, long and short | crypto (8) | 21,714 | -51.3% | 84.7% | -136.0 pts | -69.7 pts | 20% | 1.00 | 1.00 |
| Same cross, long only, above the 200 EMA (earlier run) | crypto (8) | 9,911 | 21.8% | 84.7% | -62.9 pts | -3.8 pts | 100% | 1.00 | 1.00 |
| 9/21 EMA cross on daily US large caps, long only | US stocks (40) | 1,862 | 9.1% | 18.0% | -8.9 pts | -8.3 pts | 4% | 1.00 | 1.00 |
- 9/21 EMA cross on hourly crypto, long and short
- Market (assets)
- crypto (8)
- Trades
- 21,714
- Rule, a year (after costs)
- -51.3%
- Benchmark, a year
- 84.7%
- Ahead or behind, a year
- -136.0 pts
- Same, before costs
- -69.7 pts
- Random copies beaten
- 20%
- p
- 1.00
- q (all tests)
- 1.00
- Same cross, long only, above the 200 EMA (earlier run)
- Market (assets)
- crypto (8)
- Trades
- 9,911
- Rule, a year (after costs)
- 21.8%
- Benchmark, a year
- 84.7%
- Ahead or behind, a year
- -62.9 pts
- Same, before costs
- -3.8 pts
- Random copies beaten
- 100%
- p
- 1.00
- q (all tests)
- 1.00
- 9/21 EMA cross on daily US large caps, long only
- Market (assets)
- US stocks (40)
- Trades
- 1,862
- Rule, a year (after costs)
- 9.1%
- Benchmark, a year
- 18.0%
- Ahead or behind, a year
- -8.9 pts
- Same, before costs
- -8.3 pts
- Random copies beaten
- 4%
- p
- 1.00
- q (all tests)
- 1.00
One thing to know before reading the numbers. The benchmark is always fully invested, and from 2017 to early 2025 crypto rose a lot, so any rule that spends much of its time in cash trails it by a wide margin almost automatically. That is why we also compare each rule with 200 copies of itself: the same number of trades, the same holding times and the same costs, moved to random dates. Those copies are in the market exactly as much as the rule is, so they answer the fairer question: did the rule pick better moments than chance? The always-in version is never in cash, so for it the benchmark gap is pure timing and costs.
The plain cross beat 39 of 200 random copies. The filtered version (not charted) beat 200 of 200, but it still trailed the basket in both halves of the test window.
What costs do to it
Crypto pays 0.10% a side plus a measured slippage for each coin; US stocks and ETFs pay 0.05% a side. The cost is charged every time the position changes, including a flip from long to short. The always-in cross flips between long and short 21,714 times in seven and a half years. Before costs it made 15.0% a year; after costs -51.3%. The filtered version trades less and kept more: 80.9% before costs, 21.8% after, against 84.7% for the basket.
Why it did not hold up
A moving average cross is a late signal by design. By the time the 9 crosses the 21, part of the move is over, and in a choppy market the cross flips back and forth and pays costs each time.
On daily US stocks the cross cut the worst drop from 32.2% to 13.8%, because it was in cash for part of every big fall. It also missed a lot of the gains, 9.1% a year against 18.0%. That is a smaller, smoother ride, not a better one, and its trades beat only 8 of 200 random copies.
The filtered hourly version is the most interesting result on this page. It kept far more than the plain cross and beat all 200 random copies. It still trailed the basket by a wide margin in both halves of the window, so it did not pass, and on its own it is not evidence of an edge.
What a beginner should take away
- 100 trades cannot tell skill from luck for a rule like this. Look for thousands, over different market conditions, with costs.
- Lower drawdown is not the same as a better strategy. Check what you gave up in return.
- A trend filter (only buy above the 200 EMA) changed the result a lot here, and it still did not pass. One good-looking variant out of several is what luck alone tends to produce.
Try it yourself
This one you can run exactly in the Backtest Lab on daily bars: on QQQ, set the entry to ema(9) crosses above ema(21) and the exit to ema(9) crosses below ema(21). The Lab compares it with holding QQQ and with 1,000 random entries.
The Lab tests one rule on one stock, fills at the next open and compares against holding that stock after costs, so its number will not match the basket results above.
A pass opens every course lesson, the full research tabs and more Lab runs on all 50 Lab stocks. It does not include trade signals or a system that wins.
Receipt: data, costs, files
- Engine
- Tickfloor research harness (research/hunt2), the one behind the published strategy registry
- Pre-registration
- docs/research/trending-1005/prereg.md, committed before any new run
- Window
- 2017-08-17 to 2025-03-14 for the best-faith version; data stops before 2025-03-15 (later data is held back)
- Cells
- tr5-ema921-1h-both, h3-hourly-ema-9-21-cross (earlier run, reused), tr5-ema921-daily-stocks
- Multiple testing
- q is Benjamini-Hochberg over all 719 tests in the published family, these included
- Result files
- docs/research/trending-1005/results.json and charts.json (Tickfloor's private repo)
Limits and caveats
Limits
The videos trade the cross on intraday stock and futures charts with discretion. We tested a mechanical version on hourly crypto and daily US stocks.
Shorts pay no borrowing or funding cost here.
The 40 stocks are today's large companies, which flatters any long rule a little (survivorship bias).
General information only. It doesn't consider your objectives, finances or needs. Tickfloor holds no financial services licence and never places trades.
Short answers (FAQ)
Does the 9/21 EMA crossover work?
Not in our tests. None of the three versions passed the bar we set in advance, after costs.
Is 100 trades enough to test a strategy?
Rarely. With 100 trades, a rule with no edge can easily show a profit by chance. We used thousands and compared with random entries.
Is the 9/21 EMA better on stocks or crypto?
Neither passed. On daily US stocks it lowered the worst drop and also lowered the return.
Is this advice?
No. It reports what happened to a set of rules in the past. General information only.
More trending techniques we tested
- Does the opening range breakout work? We tested the version everyone is posting
- Does the ICT Asia session liquidity sweep work? We backtested it
- Does the VWAP and 9 EMA strategy work? We backtested it
- Bitcoin's 200-day line, the golden cross and Uptober: we tested all three
- The 5 most-talked-about trading techniques of autumn 2026, tested
- Every popular rule we tested
How we set the rules, costs and pass bar before running anything: the Tickfloor testing standard. The wider record is on the evidence page.