Based on Ralph Nelson Elliott, Elliott Wave Principle (èŸç„çčæłąæ”Șçèźș) Originally published in the 1930s-1940s; modern treatment by A.J. Frost and Robert Prechter, Elliott Wave Principle: Key to Market Behavior (1978, updated editions)
The complete wave theory framework â impulse waves, corrective waves, wave degrees, Fibonacci relationships, counting rules and guidelines, and practical application for market timing and trading.
Elliott discovered that stock market prices unfold in recognizable patterns that reflect the natural rhythm of human collective psychology. These patterns are fractal â the same patterns appear at every degree of trend, from minute-by-minute to century-long movements.
"The Wave Principle is not primarily a forecasting tool; it is a detailed description of how markets behave."
BULL MARKET (8 waves total):
Wave 5
/\
/ \ Wave B
/ \ /\
/ \ A / \
/ Wave 3 \ | / \
/\ \ | / \
/ \ \|/ C \
/ \ 4 \ \
1 \ / \ \
\/ \
Wave 2 End of cycle
Impulse Phase: Waves 1-2-3-4-5 (with the trend)
Corrective Phase: Waves A-B-C (against the trend)
Each wave subdivides into smaller waves:
Wave 1: 5 sub-waves (impulse)
Wave 2: 3 sub-waves (correction)
Wave 3: 5 sub-waves (impulse)
Wave 4: 3 sub-waves (correction)
Wave 5: 5 sub-waves (impulse)
Wave A: 5 sub-waves (impulse â but in corrective direction)
Wave B: 3 sub-waves (correction within correction)
Wave C: 5 sub-waves (impulse â in corrective direction)
Total sub-waves: 5+3+5+3+5+5+3+5 = 34
(34 is a Fibonacci number)
Each 5-wave impulse can be expanded into 21 sub-waves. Each 3-wave correction can be expanded into 13 sub-waves. Together: 21 + 13 = 34. Further subdivision yields 89 waves â all Fibonacci numbers.
An impulse wave consists of 5 sub-waves:
Wave 1 â The Start
Wave 2 â The Retest
Wave 3 â The Power Wave
Wave 4 â The Consolidation
Wave 5 â The Final Push
One of the three motive sub-waves (1, 3, or 5) often "extends" â meaning it subdivides into an elongated 5-wave pattern of its own, making it significantly longer than the other two motive waves.
Most common: Wave 3 extends (stock markets)
Second most common: Wave 5 extends (commodity markets)
Least common: Wave 1 extends
When one wave extends, the other two tend to be roughly equal in length and time.
Corrective waves are more complex and variable than impulse waves. Three primary forms:
Zigzag (5-3-5)
A Structure: A = 5 waves, B = 3 waves, C = 5 waves
/\ Character: Sharp, deep correction
/ \ B Typical retracement: 50-78.6% of prior impulse
/ \ /\
/ \/ \
\ C
\ /
\/
Flat (3-3-5)
B
/\ Structure: A = 3 waves, B = 3 waves, C = 5 waves
/ \ Character: Sideways, shallow correction
/ \ Typical retracement: 38.2% of prior impulse
A------\
\
C
Triangle (3-3-3-3-3)
A C E
/\ /\ /
/ \ / \ /
/ \/ \/
B D
The guideline of alternation states: if Wave 2 is a sharp correction (zigzag), Wave 4 tends to be a flat or triangle (and vice versa).
IF Wave 2 = Zigzag (sharp, deep):
EXPECT Wave 4 = Flat or Triangle (sideways, shallow)
IF Wave 2 = Flat (sideways):
EXPECT Wave 4 = Zigzag (sharp)
This is a guideline, not a rule â but it is remarkably reliable.
These are inviolable. If any is violated, the wave count is wrong.
IF Wave_2_low < Wave_1_start (in uptrend):
â INVALID COUNT. Start over.
This means: The retracement of Wave 2 cannot go below the origin of Wave 1.
Rationale: If Wave 2 goes below Wave 1's start, the "new trend" never actually began.
IF Wave_3_length < Wave_1_length AND Wave_3_length < Wave_5_length:
â INVALID COUNT.
This means: Wave 3 must be longer than at least one of Wave 1 or Wave 5.
In practice: Wave 3 is usually the longest wave.
Rationale: Wave 3 is the recognition wave â the most powerful thrust.
IF Wave_4_low < Wave_1_high (in uptrend):
â INVALID COUNT (for standard impulse waves).
Exception: Diagonal triangles (leading and ending diagonals) allow overlap.
Rationale: If Wave 4 enters Wave 1's territory, the impulsive structure has broken down.
FUNCTION validate_impulse(wave_1, wave_2, wave_3, wave_4, wave_5):
# Rule 1: Wave 2 doesn't retrace beyond Wave 1 start
IF uptrend:
IF wave_2.low < wave_1.start:
RETURN INVALID("Rule 1 violated: Wave 2 below Wave 1 start")
# Rule 2: Wave 3 is not the shortest
len_1 = wave_1.end - wave_1.start
len_3 = wave_3.end - wave_3.start
len_5 = wave_5.end - wave_5.start
IF len_3 < len_1 AND len_3 < len_5:
RETURN INVALID("Rule 2 violated: Wave 3 is shortest")
# Rule 3: Wave 4 doesn't overlap Wave 1
IF uptrend:
IF wave_4.low < wave_1.high:
RETURN INVALID("Rule 3 violated: Wave 4 overlaps Wave 1")
RETURN VALID
Unlike rules, guidelines are frequently observed tendencies but can be violated:
Wave 2 retracement of Wave 1:
Common: 50%, 61.8%, 78.6%
Rare: 38.2% (usually too shallow for Wave 2)
Wave 4 retracement of Wave 3:
Common: 23.6%, 38.2%
Rare: 50% (usually too deep for Wave 4)
Wave B retracement of Wave A:
In zigzag: 38.2%, 50%, 61.8%
In flat: 78.6%, 100%, or > 100% (expanded flat)
Elliott defined nine degrees of waves, from the smallest visible on intraday charts to the largest spanning centuries:
Degree Approx Duration Symbol Convention
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Grand Supercycle Multi-century [I] [II] [III]...
Supercycle 40-70 years (I) (II) (III)...
Cycle 1-10 years I II III IV V
Primary Months to years â ⥠⹠⣠â€
Intermediate Weeks to months (1) (2) (3) (4) (5)
Minor Weeks 1 2 3 4 5
Minute Days i ii iii iv v
Minuette Hours (i) (ii) (iii) (iv) (v)
Sub-minuette Minutes [i] [ii] [iii] [iv] [v]
Each wave of any degree subdivides into waves of the next smaller degree. Wave 1 at the Primary degree contains 5 waves at the Intermediate degree, each of which contains 5 or 3 waves at the Minor degree, and so on.
This means a single "Wave 3" on a weekly chart might contain hundreds of tradeable sub-waves on a 5-minute chart.
Sequence: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233...
Key Ratios:
0.236 (23.6%) â Minor retracement
0.382 (38.2%) â Common retracement
0.500 (50.0%) â Common retracement
0.618 (61.8%) â The Golden Ratio; most important ratio
0.786 (78.6%) â Deep retracement (sqrt of 0.618)
1.000 (100%) â Full retracement / equality
1.272 (127.2%) â sqrt of 1.618
1.618 (161.8%) â Golden extension; most important extension
2.618 (261.8%) â 1.618 squared
4.236 (423.6%) â 2.618 x 1.618
Wave 3 relative to Wave 1:
Most common: 1.618 x Wave 1
When extending: 2.618 x Wave 1 or 4.236 x Wave 1
Minimum: Must be longer than Wave 1 unless Wave 5 is shorter
Wave 5 relative to Wave 1:
Common: Equal to Wave 1 (1.000 ratio)
When Wave 3 extends: Wave 5 â Wave 1
Sometimes: 0.618 x Wave 1 (if Wave 3 was extended)
Sometimes: 1.618 x Wave 1 (if Wave 5 extends)
Wave C relative to Wave A:
In zigzag: Often equal (1.000) or 1.618 x Wave A
In flat: Often 1.000 to 1.618 x Wave A
In expanded flat: Often 1.618 x Wave A
Wave B relative to Wave A:
In zigzag: 38.2-78.6% of Wave A
In flat: 78.6-100% of Wave A
In expanded flat: > 100% of Wave A (up to 138.2%)
FUNCTION project_wave_3(wave_1_start, wave_1_end, wave_2_end):
wave_1_length = wave_1_end - wave_1_start
targets = {
'minimum': wave_2_end + wave_1_length * 1.000, # 100% of Wave 1
'common': wave_2_end + wave_1_length * 1.618, # 161.8% of Wave 1
'extended': wave_2_end + wave_1_length * 2.618, # 261.8% of Wave 1
}
RETURN targets
FUNCTION project_wave_5(wave_1_start, wave_1_end, wave_4_end):
wave_1_length = wave_1_end - wave_1_start
targets = {
'equality': wave_4_end + wave_1_length * 1.000, # Equal to Wave 1
'fibonacci': wave_4_end + wave_1_length * 0.618, # 61.8% of Wave 1
'extended': wave_4_end + wave_1_length * 1.618, # 161.8% of Wave 1
}
RETURN targets
Fibonacci ratios also apply to the time dimension:
An extension occurs when one of the motive sub-waves (1, 3, or 5) elongates into an extended five-wave structure, making it dramatically longer than the other two motive waves.
IF one motive wave is significantly longer than the others (typically > 1.618x):
â That wave is "extended"
â It will show clear 5-sub-wave internal structure
â The other two motive waves tend to be roughly equal
Stock markets: Wave 3 extensions are most common
Commodity markets: Wave 5 extensions are most common
5
/\ Wave 3 is the extended wave
/ \ Sub-waves iii of 3 is typically the strongest part
/ 3 \
/\/\/\ \
/ 1 4 \4
/ 2 \ /
/ 2 \/ 5
/
1
Occurs in the Wave 5 position (or Wave C position). Structure: 3-3-3-3-3.
5
/\
/ 3\
/\/ \ Converging lines
/ 1 4 \ Each sub-wave subdivides into 3 (not 5)
/ 2 \ Wave 4 overlaps Wave 1 territory (exception to Rule 3)
5
Occurs in the Wave 1 position (or Wave A position). Structure: 5-3-5-3-5.
Similar visual to ending diagonal but:
- Sub-waves 1, 3, 5 are impulses (5-wave structure)
- Less common than ending diagonals
- Indicates strong beginning of a new trend despite the overlapping waves
ENDING DIAGONAL (Wave 5) TRADE:
Setup: Identify converging trendlines in Wave 5 position
Signal: Price breaks below the lower trendline of the diagonal
Entry: Short on break below the diagonal (or when Wave 5 completes near upper line)
Target: At minimum, back to the start of the diagonal (Wave 4 start)
Stop: Above the high of the diagonal
LEADING DIAGONAL (Wave 1) TRADE:
Setup: Identify diagonal in what appears to be Wave 1
Signal: Wait for Wave 2 correction after the diagonal completes
Entry: Buy near the end of Wave 2 (38.2-78.6% retracement of the diagonal)
Target: Wave 3 = 1.618x the diagonal's length
Stop: Below Wave 2's low (or below the diagonal's start)
When a single corrective pattern (zigzag, flat, or triangle) is insufficient to complete the correction, the market links two or three simple patterns together with connecting waves labeled "X."
Double Zigzag: Zigzag - X - Zigzag
Double Three: [Zigzag/Flat] - X - [Zigzag/Flat/Triangle]
Triple Three: [Simple] - X - [Simple] - X - [Simple/Triangle]
After Waves 1 and 2 are complete:
1. Draw a line through the end of Wave 1 and the end of Wave 2.
2. Draw a parallel line through the start of Wave 1.
3. Wave 3 is expected to exceed the upper parallel line (in an uptrend).
4. When Wave 3 exceeds the line, a new channel is drawn using Waves 1, 2, and 3.
After Waves 1 through 4 are complete:
1. Draw a line connecting the ends of Waves 2 and 4 (the lower channel line).
2. Draw a parallel line through the end of Wave 3 (the upper channel line).
3. Wave 5 is expected to terminate at or near the upper channel line.
4. A "throw-over" (Wave 5 exceeding the upper line) is possible but rare.
5. A "failure" (Wave 5 falling short of the upper line) indicates weakness.
FUNCTION channel_analysis(wave_2_end, wave_3_end, wave_4_end):
# Draw 2-4 trendline
lower_channel = line_through(wave_2_end, wave_4_end)
# Draw parallel through Wave 3
upper_channel = parallel_line(lower_channel, wave_3_end)
# Wave 5 target zone
wave_5_target = upper_channel.price_at_projected_time
RETURN {
'lower_support': lower_channel,
'upper_target': upper_channel,
'wave_5_target': wave_5_target
}
Each wave has a characteristic "personality" that helps with identification:
"The market tops on good news and bottoms on bad news. Wave 5 peaks when the news couldn't be better. Wave A begins when the first doubts appear."
STEP 1: Identify the Trend Direction at the Highest Visible Degree
- Look at the monthly/weekly chart.
- Is the market in a multi-year impulse or correction?
- This sets the context for all lower-degree analysis.
STEP 2: Count the Waves on the Daily Chart
- Identify clear impulse and corrective structures.
- Label the waves provisionally.
- Check against the three cardinal rules.
STEP 3: Subdivide Each Wave
- Zoom into each wave and count its internal structure.
- Impulse waves should have 5 sub-waves.
- Corrective waves should have 3 sub-waves.
- If the internal structure does not match, re-evaluate.
STEP 4: Apply Guidelines
- Check alternation between Waves 2 and 4.
- Check Fibonacci relationships.
- Check channeling.
- Check wave personality against market behavior.
STEP 5: Develop the Preferred Count and an Alternate Count
- The preferred count is the highest-probability interpretation.
- The alternate count is the second-best interpretation.
- Define the price level at which the preferred count is invalidated and the alternate becomes primary.
STEP 6: Trade Based on the Preferred Count
- Enter when the wave position is favorable.
- Place stops at the level where the count is invalidated.
- Adjust the count as new price data arrives.
Setup 1: Wave 3 Entry (The Power Trade)
Context: Wave 1 is complete. Wave 2 is nearing completion.
Signal: Wave 2 retraces 50-78.6% of Wave 1 and shows reversal patterns.
Entry: Buy as Wave 2 completes (reversal candle pattern at Fibonacci support).
Stop: Below the start of Wave 1 (Rule 1: Wave 2 cannot go beyond).
Target 1: 1.618 x Wave 1 length (common Wave 3 target).
Target 2: 2.618 x Wave 1 length (if Wave 3 extends).
Risk:Reward: Typically 1:3 to 1:5+ (extremely favorable).
Setup 2: Wave 5 Entry (The Completion Trade)
Context: Waves 1-2-3-4 are complete. Wave 4 has held above Wave 1's territory.
Signal: Wave 4 correction appears complete (triangle or flat at 38.2% retracement).
Entry: Buy as Wave 4 completes.
Stop: Below Wave 4's low (or below Wave 1's high for more conservative stop).
Target: Wave 5 â Wave 1 (or Fibonacci extension from Wave 4).
Risk:Reward: Typically 1:2 to 1:3.
Note: Less powerful than the Wave 3 trade. Watch for divergences.
Setup 3: Post-Wave-5 Reversal (The Correction Trade)
Context: Wave 5 appears complete (divergences, exhaustion, ending diagonal).
Signal: Price breaks below the 2-4 trendline.
Entry: Short on break below the Wave 4 low.
Stop: Above the Wave 5 high.
Target: Wave 4 area of one larger degree (common correction target).
Risk:Reward: Typically 1:2 to 1:4.
Every Elliott Wave trade has a clear invalidation level:
IF long at end of Wave 2:
Invalidation = Wave 1 start (below this, the count is wrong)
IF long at end of Wave 4:
Invalidation = Wave 1 high (below this, impulse rules are violated)
IF short after Wave 5:
Invalidation = new high above Wave 5 (may indicate extension, not reversal)
The market moves in waves of 5 (impulse) and 3 (correction). This is the fundamental pattern at every degree of trend, from minutes to centuries.
Three rules are inviolable. Wave 2 never retraces past Wave 1's start. Wave 3 is never the shortest impulse wave. Wave 4 never overlaps Wave 1's territory (in a standard impulse).
Fibonacci ratios govern wave relationships. Wave 3 commonly equals 1.618x Wave 1. Wave 2 commonly retraces 50-61.8% of Wave 1. Wave 5 commonly equals Wave 1.
Wave 3 is the most powerful and most tradeable wave. The entry at the end of Wave 2 is the highest-probability, highest-reward trade in the entire Elliott Wave framework.
Alternation guides expectations. If Wave 2 is a sharp zigzag, expect Wave 4 to be a sideways flat or triangle. This helps anticipate the corrective pattern before it unfolds.
Wave personality aids identification. Each wave has characteristic sentiment, volume, and momentum patterns. Use these to confirm or reject a wave count.
Always maintain a preferred and an alternate count. The market will tell you which one is correct. Define the price level that distinguishes them and adapt when the market speaks.
Corrections are more complex than impulses. They take more forms, last longer in time, and are harder to count. When in doubt during a correction, wait for clarity before trading.
The fractal nature means analysis at multiple degrees is essential. The wave count on the daily chart must be consistent with the count on the weekly and monthly charts.
Elliott Wave is a framework, not a crystal ball. It identifies probable paths and high-reward trade locations. It does not guarantee outcomes. Always use stops and manage risk.
"The Wave Principle is the finest forecasting tool, but it is not primarily a forecasting tool. It is a detailed description of how markets behave."