Moving Average Strategy for Scalping Tested: All Six Popular EMA Pairs Lost Before the Spread on EURUSD M5, and a 9 EMA Pullback Made $0.40 an Ounce on Gold

Key takeaways
- I tested 20 moving average scalping rules on 16,926 EURUSD 5-minute bars and 13,736 gold 5-minute bars, with a real cost on every trade: 1 pip on EURUSD, $0.30 an ounce on gold.
- The six EMA pairs brokers recommend for scalping (5/9, 5/20, 7/14, 8/21, 9/20, 9/21) lost on EURUSD before the spread was even charged, at every exit I tried. After the spread they lost 1.28 to 1.66 pips a trade held one hour.
- All six did worse than random entries with the same exit at a 15-minute hold. The cross on EURUSD M5 arrives after the move, not before it.
- On gold one rule held up: a pullback to the 9 EMA while the 9 was above the 21 made +$0.40 an ounce per trade over 2,554 trades held one hour, positive in both halves and above the best 5% of random entries.
- The difference is mostly the cost. On EURUSD M5 a 1-pip spread was 20% of the average one-hour move. On gold $0.30 was 3.4%.
Most moving average scalping strategies I could find recommend fast pairs like 5/20, 8/21 or 9/21 on the 5-minute chart. I tested those and 14 other moving average rules on EURUSD and gold with a spread on every trade. On EURUSD none of the 20 rules made money at a 15 or 30-minute hold, and the popular fast pairs lost even before the spread. On gold a 9/21 pullback rule was the one result that beat random entries and held in both halves of the data.
How was the test run?

- Data: EURUSD M5, June 3 to August 26, 2026, 16,926 bars. Gold (XAUUSD) M5, June 16 to August 26, 2026, 13,736 bars. Split at July 15 into two halves.
- Entries: at the close of the signal bar. Four families of rules:
- Crossover: fast EMA crosses slow EMA. Pairs 5/9, 5/20, 7/14, 8/21, 9/20, 9/21, 20/50 and 50/200, plus 5/20, 9/20 and 9/21 on SMA.
- Price cross: the close crosses a single EMA of 5, 9, 20, 50 or 200.
- Pullback: the fast EMA is above the slow one, the previous bar closed above the fast EMA, and the current bar dips to it and closes above it (mirror for shorts). Pairs 9/21, 20/50 and 20/200.
- Ribbon: EMA 5, 8 and 13 line up in order.
- Exits: after 15, 30, 60 or 120 minutes; a scalping bracket of a 1 ATR stop and a 1.5 ATR target (stop checked first, closed after 2 hours if neither hit); and for crossovers, the opposite cross.
- Cost: 1 pip per EURUSD trade, $0.30 per ounce of gold. Typical numbers are in my spread and swap guide.
- Control: the same number of random entries, random direction, same exit, 200 runs. A rule “beats random” if it finishes above the best 5% of those runs.
Did the popular fast EMA pairs make money on EURUSD M5?

| EURUSD M5 | Trades | Before cost, 15 min | Before cost, 1 hour | After 1 pip, 1 hour | Won, 1 hour |
|---|---|---|---|---|---|
| EMA 5/9 cross | 1,695 | -0.16 | -0.28 | -1.28 | 40.2% |
| EMA 5/20 cross | 1,163 | -0.27 | -0.55 | -1.55 | 40.3% |
| EMA 7/14 cross | 1,185 | -0.25 | -0.56 | -1.56 | 39.8% |
| EMA 8/21 cross | 932 | -0.43 | -0.64 | -1.64 | 39.7% |
| EMA 9/20 cross | 906 | -0.42 | -0.66 | -1.66 | 39.5% |
| EMA 9/21 cross | 878 | -0.41 | -0.65 | -1.65 | 39.4% |
| EMA 20/50 cross | 312 | +0.03 | +0.29 | -0.71 | 45.5% |
| EMA 50/200 cross | 101 | +0.01 | +1.63 | +0.63 | 55.4% |
Pips per trade. “Before cost” is the price move alone. The 1-hour column after cost for 50/200 was +0.35 in the first half and +0.88 in the second.
No. Every fast pair lost before the spread was charged, at all four hold times, with the bracket and with the opposite-cross exit. A random entry loses about nothing before cost, so these pairs did worse than chance. At a 15-minute hold all six finished below the worst 5% of random runs. At one hour five of the six did.
Only the slow 50/200 cross made money after the spread, on 101 trades. That matches my earlier moving average crossover test, where 50/200 was also the one pair in profit. It is a trend trade that fires once or twice a day, not a scalp.
Why do fast crossovers lose before the spread?
A 5/20 or 9/21 cross on M5 needs several bars moving one way before it happens. By the time it prints, a short M5 burst is often done and the price slips back. I checked this by taking the opposite side of every fast cross:
| EURUSD M5, trade against the cross | Before cost, 15 min | Before cost, 1 hour | After 1 pip, 1 hour |
|---|---|---|---|
| EMA 5/9 | +0.16 | +0.28 | -0.72 |
| EMA 5/20 | +0.27 | +0.55 | -0.45 |
| EMA 8/21 | +0.43 | +0.64 | -0.37 |
| EMA 9/21 | +0.41 | +0.65 | -0.35 |
Fading the cross had a real edge before cost, up to 0.66 pips on 9/20. It still lost after a 1-pip spread. The spread is the bigger problem: the average EURUSD move over one hour was 5.0 pips, so a 1-pip cost took 20% of it before the trade started.
Did price crosses, pullbacks or ribbons do better on EURUSD?
| EURUSD M5, 1-hour hold | Trades | Before cost | After 1 pip |
|---|---|---|---|
| Price crosses EMA 5 | 4,501 | -0.23 | -1.23 |
| Price crosses EMA 9 | 3,517 | -0.32 | -1.32 |
| Price crosses EMA 20 | 2,391 | -0.27 | -1.27 |
| Price crosses EMA 200 | 663 | -0.18 | -1.18 |
| Pullback to EMA 9, 9/21 trend | 1,732 | -0.25 | -1.25 |
| Pullback to EMA 20, 20/50 trend | 829 | -0.15 | -1.15 |
| Ribbon 5/8/13 lines up | 1,478 | -0.49 | -1.49 |
No. All of them were negative before cost too. Across all 20 rules on EURUSD M5, 0 were positive after the spread at a 15 or 30-minute hold, 0 with the ATR bracket, and only 50/200 at the one and two-hour holds.
What changed on gold?
| Gold M5, 1-hour hold | Trades | Before cost | After $0.30 | 1st half | 2nd half | Random, best 5% |
|---|---|---|---|---|---|---|
| Pullback to EMA 9, 9/21 trend | 2,554 | +$0.70 | +$0.40 | +$0.32 | +$0.45 | +$0.13 |
| EMA 50/200 cross | 81 | +$1.93 | +$1.63 | +$4.24 | +$0.25 | +$2.13 |
| Price crosses EMA 200 | 500 | +$0.45 | +$0.15 | +$0.07 | +$0.23 | +$0.60 |
| EMA 9/20 cross | 590 | +$0.33 | +$0.03 | -$0.47 | +$0.33 | +$0.53 |
| EMA 9/21 cross | 574 | +$0.19 | -$0.11 | -$0.42 | +$0.08 | +$0.55 |
| EMA 5/20 cross | 834 | -$0.02 | -$0.32 | -$0.65 | -$0.12 | +$0.44 |
| EMA 5/9 cross | 1,244 | -$0.32 | -$0.62 | -$1.32 | -$0.18 | +$0.30 |
Dollars per ounce per trade. The halves are after cost. “Random, best 5%” is where the top 5% of random-entry runs with the same number of trades and the same exit finished.
On gold the same fast crosses were roughly break-even before cost instead of clearly negative, and 5 of 20 rules were positive after cost at a one-hour hold. Three of those five were positive in both halves. Only the 9/21 pullback also finished above the best 5% of random entries. The 50/200 cross made more per trade, but on 81 trades a random entry did as well in its best 5% of runs.
Two checks on the pullback before you trust it:
- Neighbouring settings. I ran the pullback with fast EMAs of 5, 8, 9, 10, 12 and 13 against slow EMAs of 21, 26, 34 and 50. All 12 combinations with a fast EMA of 8, 9 or 10 were positive in both halves, from +$0.24 to +$0.48 a trade. With 13 all four lost. The edge is not one lucky pair, but it is limited to a fast EMA around 8 to 10.
- Which side paid. Long pullbacks made +$0.99 and short ones lost $0.15 over the whole period, and the halves flipped: shorts paid in the first half, longs in the second. The rule followed whichever way gold was trending, which is what a pullback rule is for. In a sideways month I would expect it to fade.
- Overlapping trades. The rule fired about 49 times a day, so many trades overlapped. Taking one trade at a time, skipping signals while a trade was open, left 731 trades at +$0.63 each, still above the best 5% of random entries (+$0.39).
Which exit worked best for the gold pullback?
| Gold M5, pullback to EMA 9 | After $0.30 | 1st half | 2nd half |
|---|---|---|---|
| Exit after 15 minutes | -$0.08 | -$0.08 | -$0.08 |
| Exit after 30 minutes | -$0.08 | -$0.14 | -$0.04 |
| Exit after 1 hour | +$0.40 | +$0.32 | +$0.45 |
| Exit after 2 hours | +$0.79 | +$0.16 | +$1.22 |
| Stop 1 ATR, target 1.5 ATR | -$0.42 | -$0.76 | -$0.19 |
The pullback only paid when the trade was given an hour or more. A classic scalping exit of 15 or 30 minutes lost a little, and the tight 1:1.5 ATR bracket lost $0.42 a trade. So this is a 5-minute entry with an intraday hold, not a quick scalp. My stop loss distance test found the same thing on EURUSD: a 5-pip stop on M5 was hit on 66.8% of trades.
What should you take from this?
- Do not scalp EURUSD M5 with a fast EMA cross. All six popular pairs lost before the spread, and the spread is 20% of an average hour’s move. Changing EMA to SMA did not help: SMA 5/20, 9/20 and 9/21 also lost before cost. The broader EMA versus SMA comparison is in EMA vs SMA.
- If you scalp with moving averages, the market matters more than the periods. The same rules on gold paid a much smaller cost relative to the move. The gold vs EURUSD test with one rule found the same gap.
- On gold, use the pullback, not the cross, and hold for about an hour. The setup step by step is in my EMA pullback scalping setup for MT4.
- Check a slower chart before a faster one. What happened to the same rules on M15 and H1 is in moving average scalping vs day trading.
If you want to see how a busy hour changes gold results, my gold scalping session test splits them hour by hour. Settings in the MT4 moving average window itself are covered in moving average settings for MT4.
Frequently asked questions
What is the best moving average for scalping?
On EURUSD M5 none of the 20 rules I tested paid a 1-pip spread at a 15 or 30-minute hold. On gold M5 a pullback to the 9 EMA while the 9 EMA was above the 21 made +$0.40 an ounce per trade held one hour, positive in both halves of the data.
Does the 9/21 EMA crossover work for scalping?
Not on EURUSD M5 in this test. The 9/21 cross lost 0.65 pips per trade before cost and 1.65 after a 1-pip spread, held one hour. On gold it lost $0.11 per trade after cost.
Is the 5/20 EMA strategy profitable on the 5-minute chart?
No. EMA 5/20 lost before the spread at every exit on EURUSD and lost $0.32 an ounce per trade on gold after cost, held one hour.
Why do moving average crossovers lose on M5?
The cross comes after the move. On EURUSD M5, taking the opposite side of fast crosses made up to 0.66 pips per trade before cost, so the price tended to slip back after a cross. A 1-pip spread then took the rest.
Which moving average is best for gold scalping?
In this test, a pullback to the 9 EMA in a 9/21 trend with a one-hour hold. Fast EMAs of 8 to 10 against slow EMAs of 21 to 50 all stayed positive in both halves.
Want a clean indicator to install right now?
It is my own enhanced DeMARK Trend Line indicator for MetaTrader 4 and 5. Non repaint, clean, and free.

