Tickfloor

20 EMA Pullback: does it work?

None of these versions passed. Sample: 1,662 completed trades over 2016-09-15 to 2025-03-14 (8.5 years).

Swing-trading videos teach buying a dip to the rising 20-day EMA in an uptrend, with the 50 EMA as the line in the sand.

The rule we tested. In an uptrend (20 EMA above 50 EMA), buy a touch of the 20 EMA that closes back above it, and exit on a close below the 50 EMA, on daily bars across 40 US stocks.

See a full worked example of one of these reads (free, no account)

Receipt: parameters, data, window and result file
Run id
t1010-ema20-pullback-s, run 2026-10-10
Frozen parameters
timeframe 1d; fast=20, slow=50
Data source
vendor not recorded in the result file; data fingerprint sha256 f8bd56551e6502b2...
Instruments and coverage
40 assets: AAPL, NVDA, AMZN, GOOGL, META, TSLA, JPM, V, UNH, XOM, JNJ, COST and 28 more (full list in the result file). 9 corrupt vendor bar-day(s) across 9 assets were dropped, never repaired
Date window
2016-09-15 to 2025-03-14 (discovery cutoff 2025-03-15)
Sample
1,662 completed trades over 2016-09-15 to 2025-03-14 (8.5 years)
Cost rule
0.05% per side; charged on every change in position; benchmark pays none; no funding/borrow on shorts
Fill rule
not recorded
Benchmark
equal-weight long of the same assets, rebalanced daily across assets trading that day (no costs)
Rule source (public)
not published yet
Run record (public)
research/hunt2/ledger.jsonl, line with id t1010-ema20-pullback-s
Full result file
not published yet

None of these versions passed. US stocks −13.3 pts/yr vs the benchmark (unadjusted p=1.000, BH-adjusted q=1.000). None cleared our Benjamini-Hochberg q<0.10 bar once counted alongside every other rule we tested. That covers the versions, costs and benchmark described here, not every version of the rule. These are historical diagnostics, not validation under Testing Standard v2: the backtest harness predates that standard and has not been re-run to meet it.

Failed: only the tested version above. Not tested: Other EMA lengths; crypto; stop-loss and profit-target variants. A result for the tested version says nothing about these.

This is one line in a bigger check. The research desk has run 694 strategies, most against an equal-weight benchmark of the same assets rebalanced daily that pays no costs (the strategies pay theirs). After correcting for how many we tried (Benjamini-Hochberg, 777 tests), 0 passed. That does not prove no strategy works, and it says nothing about versions we did not test. These are historical diagnostics, not validation under Testing Standard v2: the backtest harness predates that standard and has not been re-run to meet it.

General information only. It doesn't consider your objectives, finances or needs. Tickfloor holds no financial services licence and never places trades.

Short answers: the verdict and the rule, as questions

Does buying the pullback to the 20 EMA work?

None of these versions passed. US stocks −13.3 pts/yr vs the benchmark (unadjusted p=1.000, BH-adjusted q=1.000). None cleared our Benjamini-Hochberg q<0.10 bar once counted alongside every other rule we tested. That covers the versions, costs and benchmark described here, not every version of the rule. These are historical diagnostics, not validation under Testing Standard v2: the backtest harness predates that standard and has not been re-run to meet it.

What exact rule did Tickfloor test?

In an uptrend (20 EMA above 50 EMA), buy a touch of the 20 EMA that closes back above it, and exit on a close below the 50 EMA, on daily bars across 40 US stocks.

Is this financial advice?

No. This measures a publicly claimed strategy rule, not a recommendation. General information only, not personal advice.

See the full numbers on the Tests 1010 family page, or the full method and every result.

Linked from this page

Other rules we've tested

All the rules we tested