# Elliott Hard Rules

Elliott Hard Rules is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Validates the six most recent swing points as a five-wave Elliott count against the three hard rules and draws the exact invalidation prices: the wave-1 origin, the wave-5 cap active while wave 3 lags wave 1, and the wave-1 extreme that wave 4 must not re-enter. Levels turn solid when broken, a dashboard renders the verdict, and every breach fires a recount alert.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jun 2, 2026.
- Access: free.
- Concepts: [Elliott Hard Rules](https://www.luxalgo.com/library/concept/elliott-hard-rules/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=d403huteq68qmv7lw9as5h8y
- Page: https://www.luxalgo.com/library/indicator/elliott-hard-rules/

**Elliott Hard Rules** is the gate of the wave framework: it validates the six most recent swing points as a candidate five-wave count against the three constraints every impulse must satisfy and, more usefully, draws the exact price where each would break. The [Elliott hard rules](https://www.luxalgo.com/library/concept/elliott-hard-rules/) are binary by design: wave 2 holding the wave-1 origin, wave 3 never the shortest, wave 4 staying clear of wave-1 territory. A breach makes the labeling wrong rather than weak, and the build latches it the moment price prints there, even intrabar.

## How to Trade the Elliott Hard Rules?

- **VALID IMPULSE verdict**: the tracked candidate currently satisfies all three rules; the validation itself is alertable.
- **Invalidation levels as stops**: R1 (the wave-1 origin) is the structural stop for wave-2 and wave-3 positions, R3 (the wave-1 extreme) for wave-4 positions.
- **R2 cap**: while wave 3 measures shorter than wave 1, wave 5 wears a hard cap at the wave-3 length; the cap line exists only while that condition is live.
- **Solid line = broken rule**: a dashed level turning solid is the record of a breach, the instruction to relabel rather than rationalize.

Alerts fire per rule, on any rule break, and when a candidate first passes all three.

## Elliott Hard Rules Settings

- **Pivot Length** (default 10): swing confirmation width anchoring the count.
- **Count Selection** (default Auto): Auto re-anchors on every new swing; Bullish or Bearish locks onto counts ending on a high or a low.
- **Diagonal Count (tolerate W1-W4 overlap)** (default disabled): reports wave-4 overlap as tolerated instead of a failure; rules 1 and 2 still apply in full.
- **Invalidation Levels** (default enabled): the R1, R2 cap and R3 lines with their prices.
- **Display toggles**: Candidate Wave Structure and Wave Numbers default on; Show Dashboard defaults on with Position and Size options.

## Frequently Asked Questions

### Should I run this build or the guidelines scorecard?

Ideally both, in sequence. This build answers whether a labeling is allowed to exist and prices its falsification, while the [Elliott Guidelines scorecard](https://www.luxalgo.com/library/indicator/elliott-guidelines/) ranks the counts that survive.

### What does the diagonal toggle actually change?

Only rule 3's consequence. Diagonals are the one structure permitted to overlap, so with it on, wave-4 overlap into wave-1 territory reads OVERLAP OK instead of failing the count. The other two rules are never relaxed.

### Why did the tracked count suddenly change?

In Auto mode the candidate re-anchors whenever a new swing confirms, so the whole labeling can shift forward at once. Lock Count Selection to Bullish or Bearish to keep one count under watch while its final wave develops.

## Related indicators

- [Elliott Wave](https://www.luxalgo.com/library/indicator/elliott-wave/) (Impulse): markdown at https://www.luxalgo.com/library/indicator/elliott-wave.md
- [Truncation](https://www.luxalgo.com/library/indicator/truncation/) (Elliott & Harmonics): markdown at https://www.luxalgo.com/library/indicator/truncation.md
- [Triangle](https://www.luxalgo.com/library/indicator/triangle/) (Elliott & Harmonics): markdown at https://www.luxalgo.com/library/indicator/triangle.md
- [Wave Degree Hierarchy](https://www.luxalgo.com/library/indicator/wave-degree-hierarchy/) (Elliott & Harmonics): markdown at https://www.luxalgo.com/library/indicator/wave-degree-hierarchy.md
- [Diagonals](https://www.luxalgo.com/library/indicator/diagonals/) (Elliott & Harmonics): markdown at https://www.luxalgo.com/library/indicator/diagonals.md
- [Motive Wave](https://www.luxalgo.com/library/indicator/motive-wave/) (Elliott & Harmonics): markdown at https://www.luxalgo.com/library/indicator/motive-wave.md
- [Wave Extension](https://www.luxalgo.com/library/indicator/wave-extension/) (Elliott & Harmonics): markdown at https://www.luxalgo.com/library/indicator/wave-extension.md
- [NeoWave Logic](https://www.luxalgo.com/library/indicator/neowave-logic/) (Elliott & Harmonics): markdown at https://www.luxalgo.com/library/indicator/neowave-logic.md

---

Source: https://www.luxalgo.com/library/indicator/elliott-hard-rules/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
