Moving Average Strategies: SMA vs EMA Crossover Guide

Table of Contents

Moving Average Trading Strategies

Moving averages are among the most widely used indicators in forex trading, smoothing price action to help identify trend direction and entry points. What they cannot do — and what most introductions to the topic skip — is tell you the future. Understanding what an MA actually is mechanically explains both why crossover systems work at all and why they lose most of their individual trades.

This guide assumes the basics from our forex trading for beginners roadmap and goes one level deeper into a single indicator family.

What a Moving Average Actually Is

A moving average is a lagging, low-pass filter. It averages recent prices, which by construction means it responds to a trend only after that trend has already been under way for some of the averaging period. A crossover — the fast average moving above or below the slow one — is a description of the recent past crossing a threshold, not a prediction. This is not a flaw to be engineered around; it is the entire mechanism. Any strategy built on moving averages inherits this lag, and every design choice in this guide is really a choice about how much lag to accept in exchange for how much noise to filter out.

Simple Moving Average (SMA) weights every price in the window equally, reacts slowest, and is more common for identifying long-term trend direction. Exponential Moving Average (EMA) weights recent prices more heavily, reacts faster, and is what our SteadyPips EA uses for its 12/26/200 setup.

Golden Cross / Death Cross: a shorter MA crossing above a longer one is read as bullish (golden cross); crossing below is read as bearish (death cross). Common combinations: 50/200 SMA for long-term positioning, 12/26 EMA for medium-term signals (SteadyPips), 5/20 EMA for short-term entries.

The Whipsaw Problem, Quantified

A crossover system’s central weakness is that it cannot distinguish a trend from a range — it reacts identically to both, which means it produces its worst results in exactly the market condition it can’t detect. In a trend, one crossover captures the whole move. In a range, price crosses back and forth across both averages repeatedly, and each crossing generates a trade with no follow-through to pay for it.

Diagram comparing a moving average crossover system in a trending market, producing one clean signal, against a ranging market, producing five false signals
Same crossover logic, opposite outcome depending on market regime — one clean signal in a trend, five false crosses with no follow-through in a range

This is also why a sub-50% win rate is the normal shape of a trend-following system, not evidence something is wrong. Our own DualHorizon EA — an EMA-cross strategy filtered by the H4 trend — currently backtests at a 34.1% win rate on EUR/USD with a profit factor of 1.41, the only pair among the three it was tested on that clears our recommendation threshold (see the current, corrected figures on our performance page). Roughly two losing trades for every winner, and the system still clears the bar, because the winners run further than the losers cost. A crossover strategy that instead shows an unusually high win rate on paper is the one to look at sceptically — it usually means the take-profit is set so close that wins are frequent and small while a single bad loss can erase many of them.

Strategy 1: Dual EMA Crossover

The core logic behind SteadyPips: fast EMA (12), slow EMA (26), trend filter (200 EMA). Buy when the 12 EMA crosses above the 26 EMA and price is above the 200 EMA; sell on the mirrored condition below it. Stop loss at 1.5x ATR, take profit at 2.0x ATR.

What the 200 EMA filter actually does, mechanically: it restricts entries to trades aligned with the longer-term trend and removes some counter-trend crossover signals. An earlier version of this page claimed this filter “significantly improves the win rate” — we have not measured that in isolation, by running the same 12/26 crossover with and without the 200 EMA filter and comparing results, and we are not going to repeat an unsupported claim just because it sounds intuitive. Until that comparison exists, treat the filter’s contribution to win rate, profit factor, or drawdown as untested, not established.

Strategy 2: Pullback to the MA

Setup: a single MA (20 or 50 EMA) on H4 or Daily. In an established uptrend, wait for a pullback to the MA and enter long on a bullish rejection candle; stop below the MA, target the prior swing high or a 2:1 reward.

Strategy 3: MA as a Trailing Filter

Setup: fast (5 EMA), medium (21 EMA), slow (55 EMA), all three required to align in trend direction before entry, with the fast/medium cross also used to trail the exit once in a position.

Failure Modes by Variant

VariantWhat it’s good atHow it specifically fails
Crossover (Strategy 1)Capturing a trend once it’s establishedWhipsaws repeatedly in a range — no mechanism to detect one
Pullback-to-MA (Strategy 2)Better entry price within a confirmed trendThe pullback can be the trend actually reversing, not pausing — no built-in way to tell the two apart until after entry
MA-as-trailing-filter (Strategy 3)Locking in profit as a trend extendsTrails too tightly in a choppy trend, exiting winners early on noise that never threatened the trend

Choosing Periods Without Curve-Fitting

Test a range of plausible period combinations and look at the shape of the results, not just the best single result. A robust setting sits on a plateau — many nearby combinations (11/25, 12/26, 13/27) perform similarly — which suggests whatever edge exists comes from market behaviour, not from fitting one specific historical stretch. A single sharp peak surrounded by mediocre or losing results on either side is the signature of curve-fitting: it found noise in that dataset, not a real pattern. Our backtesting guide covers the out-of-sample testing that catches this before it costs real money.

Automating a Moving Average Strategy

Our SteadyPips EA implements the Dual EMA Crossover strategy described above, with an ATR volatility filter, dynamic stop loss and take profit, and a trailing stop. Its published figures, where they exist, are on our performance page — hypothetical backtest results, not a projection of what any account will do.

Frequently Asked Questions

Is a low win rate a sign that a moving average strategy is broken?

Not by itself. Trend-following systems typically win less than half their trades and rely on a small number of large winners to outrun a larger number of small losses. Our own DualHorizon EA’s current backtest — EURUSD, profit factor 1.41, win rate 34.1% — clears our recommendation threshold with a win rate under 35%. The profit factor, not the win rate, is what determines whether a system works.

Does the 200 EMA trend filter actually improve win rate?

We don’t know, and we’re not going to claim otherwise. Earlier versions of this page asserted it significantly improves win rate; we have never isolated the filter’s contribution by testing the same entry logic with and without it, so that claim was unsupported and we’ve removed it. What we can say mechanically: it restricts entries to the direction of the longer-term trend and removes some counter-trend signals. Whether that raises the win rate, the profit factor, both, or neither, is untested.

What is the biggest risk of a moving average crossover system?

Whipsaw in a ranging market. A crossover strategy has no concept of whether the market is trending or ranging — it reacts to whatever the two averages do. In a range, price crosses back and forth across both averages repeatedly, generating a string of small losing trades with no trend to pay for them. This is the normal failure mode of the entire strategy family, not a bug in any one implementation.

How should I choose moving average periods without curve-fitting?

Test a plausible range of period combinations and look for a broad plateau of similar results, not a single sharp peak. A plateau means many nearby settings perform similarly, which suggests the edge (if any) comes from the underlying market behaviour rather than from tuning to one specific historical stretch. A lone spike surrounded by poor results on either side is the signature of curve-fitting, not of a robust setting.

Further Reading


This article is for educational purposes only and does not constitute financial advice. Past performance is not indicative of future results.

Automate Your Trading with Free Expert Advisors

Our free EAs execute a defined rule set 24/5 with configurable risk limits. Automation removes the manual work, not the risk — test on demo first.

Automated trading carries real risk of loss — review the risks before running any EA.

Download Free EAs Open Free XM Account
Join Telegram for Daily Signals | Explore Our EAs

Disclaimer: The information provided on this website is for educational and informational purposes only. Nothing on this site constitutes financial advice, investment advice, trading advice, or any other sort of advice. You should not treat any of the website's content as such. SteadyPips does not recommend that any financial instrument should be bought, sold, or held by you. Do conduct your own due diligence and consult your financial advisor before making any investment decisions.

Past performance is not indicative of future results. Trading results shown on this website are hypothetical and do not guarantee future performance.

Affiliate Disclosure: This website contains affiliate links. If you sign up with a broker through our links, we may receive a commission at no additional cost to you. This helps us maintain this website and continue providing free trading tools and educational content.