TradingView chart patterns

Elliott Wave on TradingView: counts, rules and invalidation

Elliott wave theory organizes price swings into motive and corrective structures at nested degrees. On TradingView, a useful count records the selected swing anchors, the pattern rules, a competing interpretation and the price that rejects each scenario. A plausible label sequence or Fibonacci ratio does not establish that the next move will occur. Keep counts provisional until their required subwaves are visible.

See the decision guide

One structure map: motive waves, corrections and ratios

A degree is a level of nesting: a wave at one degree contains smaller waves. The numbers below describe those internal subdivisions, not the number of candles. An upward correction can occur inside a larger decline; direction alone cannot distinguish an impulse from a correction.

Structural map, not executable Pine Script. Leading-diagonal subdivisions require a stated convention; they are not settled by the wedge outline alone.text
Elliott wave count at one chosen degree
|
+-- Motive: 1 -> 2 -> 3 -> 4 -> 5
|   +-- Impulse: 5-3-5-3-5; wave 4 avoids wave 1 territory
|   +-- Diagonal: five legs; overlap is characteristic
|       +-- Leading: wave 1 or A of a zigzag
|       +-- Ending: wave 5 or C; typically 3-3-3-3-3
|
+-- Corrective
|   +-- Zigzag: A -> B -> C; 5-3-5
|   +-- Flat: A -> B -> C; 3-3-5
|   +-- Triangle: A -> B -> C -> D -> E; 3-3-3-3-3
|   +-- Double three: W -> X -> Y; two corrections + connector
|
+-- Ratio overlay, after the structure check
    Retracement = correction length / preceding wave length
    Projection  = new anchor +/- ratio x reference length

Separate hard impulse rules from guidelines

For a conventional bullish cash-market impulse, wave 2 must remain above the origin of wave 1, wave 3 must exceed the end of wave 1, and wave 4 must avoid wave 1 price territory. Wave 3 cannot be the shortest of waves 1, 3 and 5. Reverse the price comparisons for a bearish count. A ratio match cannot rescue a broken rule.

  • Use highs and lows for structural breaches. A wick through a forbidden level is not erased by a close back inside; a close-only alert is a different operational rule.
  • Declare arithmetic or percentage wave length. For arithmetic lengths, reject when L3 < L1 and L3 < L5. A tie does not make wave 3 uniquely shortest.
  • This page uses strict separation at boundaries: a touch of the wave 1 endpoint rejects the example wave 4 candidate. That conservative touch policy should be stated rather than hidden in an alert.
  • Waveopedia discusses rare futures-market overlap exceptions. Do not silently import those exceptions into a cash-market rule set to preserve a preferred count.
CheckStatusWhat to do with a failure
Wave 2 fully retraces wave 1Hard structural rejectionReject this impulse from the saved origin.
Wave 3 is shorter than both 1 and 5Hard structural rejectionRelabel only after saving the failed count.
Wave 4 enters wave 1 territoryReject the conventional impulseA diagonal is a separate hypothesis requiring its own location and subdivisions.
Wave 3 reaches 1.618 times wave 1Ratio guidelineA different length does not by itself invalidate the structure.
Waves 2 and 4 differ in corrective formAlternation guidelineSimilar corrections need closer review, not automatic rejection.

Distinguish the corrective patterns before choosing labels

An A-B-C label alone leaves out the internal structure. Inspect a lower timeframe without changing the chosen degree merely to make a count fit. If the subwaves are not readable, record the classification as unresolved.

  • For a triangle, connect A to C and B to D. Contracting, barrier and expanding forms have different boundary geometry; wave E need not end exactly on the A-C line.
  • Waveopedia describes ending diagonals as 3-3-3-3-3 and notes uncertainty over a strict leading-diagonal subdivision definition. Record the convention used rather than claiming one universal automated test.
PatternStructure and positionCommon misreading
ZigzagA-B-C with 5-3-5 subdivisions; B does not retrace all of A.Treating every three-swing pullback as a zigzag without inspecting A and C.
Flat correctionA-B-C with 3-3-5 subdivisions. Regular B returns near the start of A; expanded B exceeds it and C exceeds the end of A.Rejecting every new high in B as impossible. A running flat is a rarer case where C falls short of the end of A.
TriangleFive corrective legs A-B-C-D-E. Typical positions include wave 4, B, or the final component of a combination.Calling a standalone wave 2 triangle valid merely because the trendlines converge. A triangle inside a larger combination is different.
Double threeW-X-Y joins two corrective patterns through a corrective X. A triangle may be the final component.Counting W and Y as single swings. They each contain a complete correction; a sideways combination differs from two directional zigzags.
DiagonalA five-leg motive structure. Ending diagonals occupy 5 or C; leading diagonals occupy 1 or zigzag A.Using any overlapping wedge to excuse a failed impulse. Verify its larger-degree position and internal legs.

Work through fixed anchors and Fibonacci ratios

Assume hypothetical cash-market swing prices on a linear scale: origin 100, wave 1 at 120, wave 2 at 110, wave 3 at 142.36, wave 4 at 130 and wave 5 at 150. Assume their required internal subdivisions have been inspected. Endpoint arithmetic alone cannot establish those subdivisions.

  • A wave 2 low at 99.90 rejects the 100-origin count even if a later rally reaches a Fibonacci projection. At 100, the full-retracement boundary also fails the strict rule used here.
  • A proposed wave 4 at 119.90 overlaps wave 1 and rejects this impulse. Under the stated touch policy, 120.00 fails too; 120.01 passes the endpoint separation check only.
  • Ratios are undefined when the reference length is zero. Reject duplicate-price anchors instead of dividing by zero. Keep price rounding separate from the unrounded ratio calculation.
  • Percentage lengths produce different comparisons: wave 1 is 20/100 = 20%, wave 3 is 32.36/110 ≈ 29.42%, and wave 5 is 20/130 ≈ 15.38%. Do not mix these with arithmetic distances.
MeasurementCalculationMeaning
Wave 1 length120 - 100 = 20Reference price distance, not a return percentage.
Wave 2 retracement(120 - 110) / 20 = 0.5050% retracement; a common reference, not a Fibonacci-sequence ratio or a required level.
Wave 3 projection110 + 1.618 × 20 = 142.36The example matches the 1.618 guideline exactly by construction.
Wave 4 retracement(142.36 - 130) / (142.36 - 110) ≈ 0.38195About 38.2%; 130 remains above the saved wave 1 endpoint of 120.
Motive lengthsL1 = 20; L3 = 32.36; L5 = 20Wave 3 is not the shortest. This passes one structural check.
Wave 5 equality reference130 + 20 = 150A comparison level, not a promised destination.

Keep an alternate count before the next swing arrives

Stop the example at 142.36. The rise from 100 through 120 and 110 can be labeled 1-2-3 of an unfinished bullish impulse. If the larger trend is down, the same 5-3-5 sequence can instead be A-B-C of an upward zigzag. Both interpretations require lower-degree evidence; the endpoints do not choose between them.

  • The later hypothetical sequence 130 then 150 supports the five-wave interpretation and rejects the fixed C-endpoint claim. It does not retroactively make the earlier choice certain.
  • Save instrument, exchange feed, timeframe, chart type, degree, anchor times/prices, observation time and invalidation for both counts. Retain the previous version when relabeling.
  • Structural invalidation is not an execution guarantee. A stop order can fill beyond its level, and a rule-valid count can still produce a losing trade.
Scenario saved at 142.36Next observationRejection condition
Primary: wave 3 ended; wave 4 is pendingA correction above 120, then a possible wave 5A low at or below 120 rejects this conventional impulse under the saved touch policy.
Alternate: zigzag C ended at 142.36A decline away from the proposed completed correctionA high above 142.36 rejects the specific claim that C ended there; an extended C would be a revised count.
Neither has sufficient internal detailWait for more bars or inspect the smaller degreeNo classified pattern and no structure-based trade signal yet.

Apply the count on TradingView, then define objective alerts

In TradingView, open Patterns on the left drawing toolbar and choose the impulse, correction, triangle or combo tool matching your hypothesis. Place anchors in chronological order and save the alternate separately. Drawing labels records your interpretation; it does not validate it.

  • The built-in Elliott wave indicator searches impulse and zigzag structures. Its in-progress projections and earlier counts can change with new data or settings. Save the observation timestamp before evaluating later outcomes.
  • Use AI Chart Analysis with a readable chart screenshot to review visible structure and price levels. Compare its output with your own anchors and invalidation; the product does not certify an Elliott count.
  • For Pine Script AI Coding Agent, specify only measurable parts: fixed input levels, whether low/high or close triggers a breach, equality handling, bar-close timing and one alert per saved count. Pine cannot infer your discretionary wave degree from a label alone.
  • An example alert brief is: monitor the saved bullish wave 4 candidate at level 120; on each completed bar, flag low ≤ 120 once, then require an explicit reset before monitoring a revised count. A bar with low 119.90 and close 121 still breaches this rule; a low of 120.01 does not.
  • Review any generated script and its syntax result, then inspect alert timing in TradingView. A pivot that requires later bars becomes available after its extreme; placing its label on the earlier bar must not backdate the alert.
Where Pineify fits

AI Chart Analysis

Review visible chart structure and price levels from a clear screenshot, then compare the output with your saved anchors and invalidation. Keep responsibility for the wave count and its alternate.

Also useful: Pine Script AI Coding Agent. Turn explicitly defined level and timing rules into a Pine Script draft for review. Automated threshold checks do not resolve discretionary Elliott labels.

Review a chart screenshot

Frequently asked questions

Educational information, not investment advice. All price examples are hypothetical and demonstrate arithmetic, not measured trading performance. Wave counts are interpretive, can be revised, and do not guarantee a price move or a profitable trade.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.