VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Indicators and signals

Elliott wave trading: can wave counts become testable rules?

Elliott wave trading can be backtested only in part. The three hard wave rules are objective, but the count itself depends on choices made by eye. A backtest can test a frozen rule built from measurable swing points, never the full method.

By · Published · updated · Editorial policy

Contents
  1. Can Elliott wave counts be turned into rules you can backtest?
  2. What are the Elliott wave rules in brief?
  3. How do you count Elliott waves, and why do two traders get different counts?
  4. Is there an indicator that counts waves automatically?
  5. How do you define a testable version of an Elliott wave rule?
  6. What win rate does Elliott wave trading have, and what does a backtest actually show?
  7. Frequently asked questions
  8. References

Can Elliott wave counts be turned into rules you can backtest?

Elliott wave trading can be backtested only in part. The three hard wave rules are objective and a computer can check them, but the wave count itself depends on choices made by eye, such as swing size and start point. A backtest can only test a frozen rule built from measurable swing points, never the full method.

Elliott wave theory is a model of price movement that says a market advances in five waves with the trend and corrects in three waves against it. The model has two layers. The lower layer is a short list of fixed rules about which wave may go where. The upper layer is the act of looking at a chart and deciding which swings are the waves. The first layer can be written as a rule; the second cannot, because the same chart allows more than one honest answer.

The claim that runs through this article is simple: a wave count is a description of the past until you freeze the swing size that defines a pivot, and only then does it become a rule a backtest can run. The guide to which technical analysis tools and indicators can actually be tested draws the same line for other chart methods: anything that needs a human to choose what counts as a swing sits on the far side of it.

Where the backtest stops: the three hard wave rules and a fixed pivot size can be coded, while wave degree, the start point of the count and picking between counts need the trader's eye; a backtest stays on the coded side of the line Where the backtest stops A computer checks only the left side Can be coded 3 hard rules Fixed pivot size Needs the eye Wave degree Start point Picking a count Backtest boundary Only the left side can be tested. So: freeze the pivot size first.
What a computer can check and what lives in the trader's judgment. A backtest stays on the left of the line.

What are the Elliott wave rules in brief?

Elliott wave theory has three hard rules and a longer list of guidelines, and only the three rules are fixed enough to code. An impulse wave is a five-part move in the direction of the larger trend, labelled 1 to 5. A corrective wave is a three-part move against that trend, labelled A, B and C. Within an impulse, the odd waves (1, 3, 5) move with the trend and the even waves (2, 4) move against it.

StatementHard rule or guidelineCan a computer check it?
Wave 2 never retraces more than all of wave 1Hard ruleYes: compare the wave 2 low with the wave 1 start
Wave 3 is never the shortest of waves 1, 3 and 5Hard ruleYes: compare three swing lengths
Wave 4 does not overlap the price range of wave 1Hard ruleYes: compare the wave 4 low with the wave 1 high
Wave 2 often retraces about half to two thirds of wave 1GuidelineOnly as a preference, not a pass or fail
Wave 3 is often the longest and strongest waveGuidelineOnly as a preference
Waves 2 and 4 tend to differ in shape (alternation)GuidelineNo: "shape" has no single measure

The hard rules are negative statements: they say what a valid count may not do. A rule that only forbids things can reject a count, but it cannot pick one count out of several that all pass. That is the gap the guidelines try to fill, and it is also where judgment enters.

An idealized five-wave impulse and three-wave correction with the three hard rules: wave 2 stays above the start of wave 1, wave 3 is not the shortest of waves 1, 3 and 5, and wave 4 does not overlap the price range of wave 1 Three hard rules to check Idealized five up, three down 1 2 3 4 5 A B C 2 Above wave 1 start 3 Not the shortest 4 No overlap with 1 Rules reject counts, never pick one. So: test a frozen rule, not a count.
The idealized five-wave impulse and three-wave correction, with the three hard rules marked where they apply.

How do you count Elliott waves, and why do two traders get different counts?

A count starts with a choice of swing size, and because that choice is free, two skilled traders can label one chart differently while both obey every rule. Degree is the size of the move you are labelling: a wave on a 5-minute chart is one small piece of a wave on a daily chart. A pivot is a swing high or swing low large enough to count as the end of one wave and the start of the next. Before any wave gets a number, the trader has already decided, usually without saying so, how large a swing must be to count as a pivot.

  1. Choose the degree. Decide how large a swing you are looking for. This fixes which small wiggles are ignored.
  2. Find the start. Pick a major low (for an upward impulse) as the end of the previous correction. A different start gives a different count.
  3. Label the swings 1 to 5. Check each label against the three hard rules. If a rule breaks, move a label or change the start.
  4. Apply the guidelines. Among the counts that pass the rules, prefer the one that fits the guidelines best.
  5. Keep an alternate count. Most practitioners carry a second valid labelling and switch when price breaks the first.

Step 1 and step 2 are free choices. Step 5 admits that more than one count fits. The result is that the method is internally consistent but not reproducible: give the same chart to two traders and you often get two valid counts that imply opposite trades. Lo, Mamaysky and Wang (2000) showed that visual chart patterns can be made reproducible when the smoothing that defines a swing is fixed in advance; that is the step the usual wave-counting practice leaves to the eye.

Hypothetical example

On an NQ daily chart, trader A treats any swing of at least 150 points as a pivot and labels a six-week rally as a complete 1-2-3-4-5 impulse. Trader B treats only swings of 500 points or more as pivots and labels the same six weeks as a single wave 3 inside a larger count. Both counts pass all three hard rules. Trader A is now looking for a correction; trader B is looking for wave 4 and then another leg up.

The same price path drawn twice: with a small pivot size it is counted as a full five-wave impulse, with a large pivot size the whole leg is a single wave 3; both counts obey all three hard rules and imply opposite next trades One chart, two counts Both pass all three hard rules Small pivot Large pivot 1 2 3 4 5 3 Both valid, opposite next trades. So: freeze the pivot size first.
One price path, two pivot sizes, two valid counts. Both obey all three hard rules.

Is there an indicator that counts waves automatically?

Yes, and every one of them is a pivot finder first and a labeller second, which means the most recent label can change after the fact. A swing detector (often called a zigzag) is a routine that marks a new pivot when price has reversed by at least a set amount, in points, percent or bars, from the last extreme. An auto-count indicator runs such a detector, then numbers the pivots 1 to 5 and A to C and checks the hard rules. The labelling is mechanical; the swing size is still a setting the user picks, so the indicator inherits the same degree problem from the previous section.

The second issue matters more for a backtest. The last pivot is provisional. If price makes a new high after the detector marked a swing high, the pivot moves to the new bar and every label that depended on it is recomputed. Repainting is this behaviour: a signal that is drawn on a historical chart at a bar where it was not yet known. A chart viewed today shows a clean count that was never visible in real time. A backtest that reads these labels as if they were known on the bar they are drawn on is leaking future information, which is the leak described in look-ahead bias in backtests and the one-bar check.

The fix is to act only on confirmed pivots, meaning a pivot that the detector can no longer move because price has already reversed by the full swing size. The price of that fix is lag: by the time wave 1 is confirmed, wave 2 is already well under way. Any honest test of an auto-count rule has to accept that lag, and to fill orders on the bar after the signal, not on the bar where the label appears.

An auto-count indicator first finds pivots, then numbers them 1 to 5, and when a new high prints the last pivot shifts, so the label 5 moves to a later bar and its old position is crossed out Why the last label moves Pivots first, labels second Find pivots Label them Label moves 1 2 3 4 5 5 5 The newest label is provisional. So: trade only confirmed pivots.
An auto-count indicator detects pivots first and labels them second. The last pivot moves as new bars arrive, so the live label can change.

How do you define a testable version of an Elliott wave rule?

Replace the count with measurable swing points and a fixed order of events, and the wave idea becomes a swing breakout rule that a backtest can run bar by bar. The version below keeps the part of the theory that is a rule (wave 2 may not retrace all of wave 1) and drops the parts that are judgment (degree chosen by eye, alternate counts). Every step uses a number the rule can read from completed bars.

  1. Fix the pivot size. State the minimum swing, in points or in multiples of average range, that marks a pivot. This is the only replacement for "degree".
  2. Define wave 1. Wave 1 is the first confirmed swing up after a confirmed pivot low. Record its low and its high.
  3. Define the wave 2 condition. The pullback after wave 1 must stay above the wave 1 low. If it does not, the setup is cancelled.
  4. Define the entry. Enter long when a bar closes above the wave 1 high, with the fill on the open of the next bar.
  5. Define the exit. Use one fixed exit, such as a trailing stop of a set distance or a time exit after a set number of bars. The exit never depends on a wave label.
Five measurable steps turn a wave idea into a testable rule: fix the pivot size, define wave 1 as the first swing up, require the pullback to stay above the wave 1 low, buy on the next bar after a close above the wave 1 high, and exit by a fixed stop or time rule Five measurable steps Each reads only completed bars 1 2 3 4 5 Fix the pivot size Wave 1 = first swing up Pullback stays above 1's low Close above 1's high: buy at next open Exit by fixed stop or time No step needs a count by eye. So: search pivot size and exit range.
The ordered steps that turn a wave idea into a rule a backtest can run bar by bar. Each step uses a number read from completed bars.

Hypothetical example

Pivot size is set at 300 NQ points. A confirmed pivot low prints at 18,000 (example price). Price rises to 18,400 and then reverses by more than 300 points, so wave 1 is confirmed with a low of 18,000 and a high of 18,400. The pullback bottoms at 18,150, above 18,000, so the setup stays alive. A later bar closes at 18,420, above the wave 1 high; the rule buys at the next open and trails a stop 250 points below the highest close. If the pullback had reached 17,950, the setup would have been cancelled, because a full retracement of wave 1 breaks the hard rule.

Written this way, the rule has two or three free parameters: pivot size, trailing distance, and perhaps a maximum pullback depth. Written as a list of entry conditions, exit conditions and parameter ranges, those steps are exactly what AlphaPrime (Valynox) takes as input in strategy generation, so pivot size and exit distance can be searched over a range rather than guessed once. Once the idea is a swing breakout, it also becomes comparable with its relatives: the Donchian channel breakout rules and settings buy a break of the highest high of the last N bars; the exact rules for a double bottom breakout buy a break of a neckline after two lows; and the anchored VWAP rules tested on ES futures anchor a reference price to a chosen pivot. All four start from a pivot the trader defines and act on a break of a level that pivot creates.

Three swing-based rules side by side: the wave 1 rule buys a break of the wave 1 high after a pullback that held, the Donchian rule buys a break of the N-bar high with no extra condition, and the double bottom rule buys a break of the neckline after two lows All buy a break of a level Three swing rules, side by side Breaks Also needs Wave 1 rule Wave 1 high Held pullback Donchian N-bar high Nothing Double bottom Neckline Two lows Same skeleton, so they compare. So: test the wave rule against them.
The testable wave rule is a close relative of other swing-based rules, which is what makes it comparable in a backtest.

What win rate does Elliott wave trading have, and what does a backtest actually show?

No reliable win rate exists for discretionary Elliott wave trading, because the counts cannot be reproduced and so the trades cannot be replayed. Any win rate you read for the method comes from one trader's own trades under one trader's own counts. Park and Irwin (2007) reviewed the research on technical trading rules and found that reported results are sensitive to how the rule is specified and to how many rules were tried; a method with no fixed specification cannot be tested at all in that sense.

What can be shown is what a stand-in trend rule produced. The run below used a Parabolic SAR rule as its only entry and exit, on NQ daily bars from 2019-01-02 to 2025-06-30, long and short, one contract, with $20 commission and $10 slippage per trade. It is a stand-in for the trend-following side of a wave idea built from a standard indicator, not a wave count itself. It is also the one candidate the search kept out of 1,024 it tried, chosen for its return against its drawdown, and picking the kept one after the fact flatters it. Bailey et al. (2014) show how large that flattery can be when many variants are compared on one history. The numbers describe that one kept candidate on that period; they are not what the rule or the indicator earned for anyone, and not what a reader can expect.

Source: AlphaPrime product engine (CPU), run 2026-10-31. NQ daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $10 slippage per trade.

NumberResult
Net profit (closed trades)$174,335
Max drawdown$128,220
Trades53
Win rate69.81%
Profit factor1.673
Average trade$3,289.34
Time in market94.54%
Look at how much of the climb comes in a few long stretches, how deep the drawdown runs against the net profit, and how the curve behaves in the out-of-sample stretch compared with the earlier part.
Look at how much of the climb comes in a few long stretches, how deep the drawdown runs against the net profit, and how the curve behaves in the out-of-sample stretch compared with the earlier part. NQ · daily · 2019-01-02 to 2025-06-30 · CPU engine backtest

Three things in the box deserve a careful reading. Time in market of 94.54% means the rule was almost always holding a position, long or short, with no stop or target; on a market that mostly rose over the period, a rule like that collects much of the rise and then gives part of it back, which is what a max drawdown of $128,220 against a net profit of $174,335 describes. The average trade of $3,289.34 is large against the $30 of costs per trade, so costs are not what decides this result. And 53 trades is a small sample, which is the reason the win rate cannot be pinned down.

The one formula worth knowing for this is the uncertainty of a win rate:

uncertainty of the win rate ≈ √(p × (1 − p) ÷ N)

Here p is the measured win rate written as a fraction, 1 − p is the loss rate, N is the number of trades, and √ is the square root. Because N sits under a square root, four times as many trades are needed to halve the uncertainty. Put 69.81% and 53 trades into it and the uncertainty is about 6 percentage points for one standard deviation, so true win rates anywhere from the high fifties to the low eighties would be consistent with these 53 trades. The same 69.81% from several hundred trades would sit in a band only a few points wide. To see how an average trade moves when the win rate moves within such a band, the free win rate and expectancy calculator lets you try the ends of the range.

The same win rate of about 70 percent has a likely true range of about 57 to 82 percent from 53 trades, but only about 66 to 74 percent from 500 trades Fewer trades, wider range Likely range of the true win rate 53 trades 500 trades 57–82% 66–74% 0% 50% 100% 53 trades give a band, not a number. So: count trades before win rate.
Fewer trades, wider range of plausible true win rates. A win rate from a few dozen trades is a band, not a number.

The next step is to build your own frozen version. Write down one pivot size, the five steps from the previous section and one exit, run the rule on your own daily or intraday bar data, and count the completed trades before you read any other number. Then run the two neighbouring pivot sizes. If the three results look alike, the rule is measuring something about swings in that market; if only one works, you have found a lucky setting, not a wave.

Frequently asked questions

Can Elliott wave theory be backtested?

Only a frozen rule version can be. The three hard rules are objective and can be coded, but the wave count itself depends on a swing size and a start point that the trader picks by eye. Once you fix the pivot size and write the entry and exit as conditions on completed bars, the result is a swing breakout rule that a backtest can run. What it tests is that rule, not the full method.

What are the three Elliott wave rules?

Wave 2 never retraces more than all of wave 1. Wave 3 is never the shortest of waves 1, 3 and 5. Wave 4 does not overlap the price range of wave 1. Everything else in the theory, including the common retracement levels and the idea that waves 2 and 4 alternate in shape, is a guideline, which means a preference rather than a pass-or-fail test.

Do Elliott wave indicators repaint?

The most recent label usually does. An auto-count indicator finds pivots with a swing detector and then numbers them, and the last pivot moves whenever price makes a new extreme before reversing by the full swing size. A chart viewed later shows labels at bars where they were not yet known. For a backtest, act only on confirmed pivots and fill orders on the next bar.

Is a testable Elliott wave rule just trend following?

Mostly, yes. Once the count is replaced by measurable swing points, the rule buys a break of a recent swing high after a pullback that held above a recent swing low. That is a close relative of a Donchian channel breakout or a double bottom breakout. The useful question becomes whether the extra wave condition improves on those simpler rules on your market and bar size, which is something a side-by-side backtest can answer.

References

  • Lo, A. W., Mamaysky, H., & Wang, J. (2000). Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical Implementation. The Journal of Finance, 55(4), 1705–1765.
  • Park, C.-H., & Irwin, S. H. (2007). What Do We Know About the Profitability of Technical Analysis? Journal of Economic Surveys, 21(4), 786–826.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.