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.
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
| Variant | What it’s good at | How it specifically fails |
|---|---|---|
| Crossover (Strategy 1) | Capturing a trend once it’s established | Whipsaws repeatedly in a range — no mechanism to detect one |
| Pullback-to-MA (Strategy 2) | Better entry price within a confirmed trend | The 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 extends | Trails 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
- Forex Trading for Beginners — the roadmap this indicator guide builds on
- SteadyPips EA: Dual EMA Crossover Automated — an EA built on the 12/26/200 setup described above
- DualHorizon EA — current backtest figures for a moving-average system
- Backtesting Guide for Forex EAs — testing a crossover rule before trading it live
This article is for educational purposes only and does not constitute financial advice. Past performance is not indicative of future results.