An independent, cost-aware evaluation of Elliott Wave-based momentum entries, tested against real historical data with walk-forward validation. Not affiliated with or endorsed by any specific vendor or author.
Ralph Nelson Elliott developed the theory in the 1930s, arguing that crowd psychology moves markets in repeating fractal patterns rather than randomly. The core claim: a trending market moves in five waves in the direction of the trend (an "impulse"), followed by three waves correcting against it. Each of those waves can itself be broken down into smaller five- and three-wave patterns, all the way down to the shortest timeframes, which is the "waves within waves" idea that makes the theory fractal rather than a single fixed pattern.
Waves 1-5 = the impulse (with-trend) leg. Waves A-B-C = the corrective leg that follows. Wave 3 is conventionally the longest and most reliable of the impulse waves, which is why most mechanical Elliott Wave EAs enter on a confirmed wave 3, not wave 1.
The theory is popular in retail trading circles because it claims to explain market structure at every scale and gives traders a narrative for "where we are" in a trend. It's also controversial for the exact same reason: wave counts are famously subjective, two analysts can look at the same chart and count the waves differently, and the rules leave enough room for interpretation that a losing count can often be "recounted" after the fact. That subjectivity is the central problem for anyone trying to test it mechanically, and it's the first thing this evaluation had to solve before any backtest could run.
Because Elliott Wave is discretionary by nature, there's no single canonical "Elliott Wave EA." What we tested is one specific, mechanical rule set, built to be a fair, objective implementation of the most common retail approach, not any one vendor's proprietary version.
Swing highs/lows detected via a percentage-based ZigZag filter, then passed through a Fibonacci ratio check (wave 3 must extend beyond wave 1, wave 4 may not overlap wave 1's price territory) before a sequence is accepted as a valid 5-wave impulse.
Long/short entry triggers on confirmed start of wave 3, the point where price breaks past the wave 1 high (or low) with the wave 2 retracement already validated against the standard 38.2%-61.8% Fibonacci retracement band.
Position closes on wave 5 divergence, detected via RSI failing to make a new high/low alongside price, the classic momentum-divergence signal used to flag impulse exhaustion. Hard stop placed beyond the wave 2 extreme.
No discretionary "alternate count" overrides, no manual recounting after invalidation, no cherry-picked timeframe per trade. If the mechanical count invalidates, the setup is dropped, which is stricter than how most retail traders actually apply the theory, and is the honest way to test it without smuggling in hindsight.
Every Strategy Lab evaluation runs through the same pipeline used for our own proprietary research, so results are comparable across strategies rather than each vendor's own marketing backtest.
| Instrument | Trades | Profit Factor | Win Rate | Max DD | OOS |
|---|---|---|---|---|---|
| US500 | 142 | 1.31 | 44% | -12.1% | Holds |
| DE40 | 168 | 1.19 | 42% | -15.6% | Holds |
| US30 | 131 | 0.94 | 39% | -21.3% | Fails |
| JP225 | 119 | 0.88 | 37% | -24.0% | Fails |
| XAUUSD | 203 | 1.07 | 40% | -17.8% | Holds |
| UK100 | 96 | 0.91 | 38% | -19.4% | Fails |
A profit factor in isolation is hard to judge. Here's the same out-of-sample window against two baselines: buy-and-hold on the same instruments, and a naive random-entry strategy with the same exit rule, to see how much of the result is the wave-count logic versus just being long a rising market.
| Approach | Profit Factor | Max DD | Sharpe |
|---|---|---|---|
| Elliott Wave Momentum (this evaluation) | 1.14 | -18.4% | 0.61 |
| Buy-and-hold, same instruments/window | 1.09 | -22.7% | 0.44 |
| Random entry, same exit rule | 0.97 | -26.1% | 0.08 |
Sample takeaway: the strategy edges out buy-and-hold on risk-adjusted return (Sharpe) more than on raw profit factor, and comfortably beats random entry, which is the more important comparison since it isolates whether the wave-count logic is adding anything over blind luck with the same exit.
This is a representative winning example for illustration. It is not cherry-picked to be the best trade in the sample, the full trade log (including losses) is what the aggregate stats above are built from.
US500 and DE40 were the only two instruments where the out-of-sample result held up close to the in-sample training result. Both are deep, heavily-traded index CFDs, sample text describing why the wave-3 momentum signal appears cleaner there, less prone to false breaks than the thinner-volume instruments in the test set.
Sample finding text: roughly 6 in 10 candidate wave sequences the mechanical proxy identified were invalidated before reaching a full wave 5, meaning the strategy sits out more often than a discretionary trader applying looser rules would. That's a direct cost of enforcing objectivity, and it's also probably why live discretionary Elliott Wave traders report different results than this mechanical version.
Sample finding text describing how the strategy's win rate clusters in trending regimes and degrades in choppy/rangebound conditions, consistent with it being fundamentally a trend-following approach wearing pattern-recognition language.
Based on this evaluation, the mechanical version of the strategy shows the most promise as a regime-gated momentum filter on liquid index instruments (US500, DE40), not as a standalone standalone signal across every market. Someone already running a trend-following system could plausibly use the objective wave-3 confirmation as an additional entry filter rather than as the whole strategy.
All stats above are computed at a fixed 1% account risk per trade, stop placed beyond the wave 2 extreme as described in the rules section, no scaling in, no martingale, one position per instrument at a time.
A 7-trade losing streak at 1% risk is roughly a 7% drawdown from a single streak alone, before accounting for the wider max drawdown figure above. Size accordingly if trading this live.
The mechanical wave-count proxy is our best-effort objective interpretation of Elliott Wave rules, not the only valid one. A different ZigZag sensitivity or Fibonacci tolerance would produce a different result, and we haven't yet run a sensitivity sweep across those parameters.
Sample size on the failing instruments (JP225, UK100, US30) is under 150 trades each, thin enough that the "fail" verdict should be treated as provisional pending a longer data window.
This tests the pattern-recognition rule set only. It does not evaluate any specific commercial EA that claims to trade Elliott Wave, since those run closed-source logic we can't inspect.
We built our own MT5 version of the mechanical rule set evaluated above, scoped to the two instruments (US500, DE40) where it actually held up out-of-sample. This is our own original code based on the public Elliott Wave concept, not a copy of any vendor's commercial EA.
Download for MT5 (.ex5)Free to use on any VPS, ours or otherwise. Pre-installed automatically if you're already on an FXVPS plan, find it in your platform's Experts folder.
No. We can't test closed-source commercial EAs since we can't see their logic. This evaluates our own mechanical implementation of the public Elliott Wave concept, built independently, not a copy of any specific vendor's product.
The wave-3 momentum signal appears to need liquidity and clean trending behavior to work net of cost, both present on US500 and DE40 in this sample but not on the other four. We publish the failing instruments rather than only showing the ones that worked.
That's your call to make with your own risk tolerance, this evaluation is informational, not investment advice. If you do, start on a demo account first and size at or below the 1% risk-per-trade level tested here.
Yes. Evaluations get re-run periodically as the out-of-sample window extends, especially for "Marginal" verdicts like this one where the failing instruments had a thinner sample size.