# Pennant

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

Detects complete pennants objectively: a pole at least 4 ATRs tall with one-sided momentum, then a 4-15 bar coil that converges by 25%, stays within a tilt tolerance and gives back under half the pole. Breakouts confirm on a close through the fitted boundary with a 1.25x volume expansion by default, drawing the pole, boundaries, a measured-move target and six alerts.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jul 1, 2026.
- Access: free.
- Concepts: [Pennant](https://www.luxalgo.com/library/concept/pennant/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=hk97bw3szhu2yg2esg0jbgpb
- Page: https://www.luxalgo.com/library/indicator/pennant/

**Pennant** encodes the classical [pennant](https://www.luxalgo.com/library/concept/pennant/) (sharp pole, small converging coil, breakout in the pole's direction) as a measurable sequence rather than an eyeballed shape. A pole qualifies only when it clears a height and one-sidedness test against the volatility baseline; the coil is then fitted with least-squares boundaries and must converge, stay nearly flat and retrace only a fraction of the pole. A close through the fitted boundary in the pole's direction, on expanding volume, completes the pattern.

## How to Trade the Pennant?

- **Forming preview**: dotted converging boundaries appear once a live coil passes the geometry and quiet-volume tests, with a Forming alert on each side.
- **Bull Pennant / Bear Pennant label**: the breakout close confirmed the pattern; the pole, both boundaries and the fill are drawn in place.
- **Target**: a dotted line offsets the breakout close by the pole's length, the flagpole measure rule.
- **Invalidated**: a close through the wrong boundary, a coil outgrowing its bar budget, or a retracement past the limit cancels the setup with its own alert.

Because every threshold is explicit, the build rejects the sloppy consolidations discretionary eyes often accept, deliberately the strict reading of the [classical patterns](https://www.luxalgo.com/library/family/patterns/) canon.

## Pennant Settings

- **Pole Scan Window** (default 10), **Pole Height (x ATR)** (default 4), **Pole One-Sidedness** (default 0.5) and **Volatility Baseline Length** (default 50): what counts as a pole.
- **Minimum / Maximum Pennant Bars** (defaults 4 / 15): the coil's allowed duration.
- **Maximum Pole Retracement %** (default 50): how much of the pole the coil may give back.
- **Minimum Convergence %** (default 25) and **Maximum Coil Tilt (ATR/Bar)** (default 0.15): the narrowing and flatness tests.
- **Volume Filter** (default on) with **Breakout Volume (x Coil Average)** (default 1.25): quiet digestion, expanding break.
- **Show Forming Pennant** and **Measured-Move Target** (both on).

## Frequently Asked Questions

### What separates a pennant from a flag?

The boundaries. A [flag](https://www.luxalgo.com/library/indicator/bull-bear-flag/) drifts between roughly parallel lines, while a pennant compresses. This build enforces that with the Minimum Convergence test. Both trade the same way: break in the pole's direction, target from the pole.

### Does it work on symbols without volume?

Yes. The volume conditions are skipped automatically when the symbol provides no volume data, leaving the geometric tests in charge.

### Do the preview boundaries move?

While a coil is forming, the boundaries are refitted on every new bar, so the dotted preview adjusts. Completed pennants are different: they are drawn from the confirmed breakout close and stay put.

## Related indicators

- [Channel Continuation](https://www.luxalgo.com/library/indicator/channel-continuation/) (Chart & Candlestick Patterns): markdown at https://www.luxalgo.com/library/indicator/channel-continuation.md
- [Bull/bear Flag](https://www.luxalgo.com/library/indicator/bull-bear-flag/) (Chart & Candlestick Patterns): markdown at https://www.luxalgo.com/library/indicator/bull-bear-flag.md
- [Rectangle](https://www.luxalgo.com/library/indicator/rectangle/) (Chart & Candlestick Patterns): markdown at https://www.luxalgo.com/library/indicator/rectangle.md
- [Wolfe Wave Detector](https://www.luxalgo.com/library/indicator/wolfe-wave-detector/) (Rising/falling Wedge): markdown at https://www.luxalgo.com/library/indicator/wolfe-wave-detector.md
- [Half Cup](https://www.luxalgo.com/library/indicator/half-cup/) (Cup & Handle): markdown at https://www.luxalgo.com/library/indicator/half-cup.md
- [Scallop](https://www.luxalgo.com/library/indicator/scallop/) (Chart & Candlestick Patterns): markdown at https://www.luxalgo.com/library/indicator/scallop.md
- [Measured-move Up/down](https://www.luxalgo.com/library/indicator/measured-move-up-down/) (Chart & Candlestick Patterns): markdown at https://www.luxalgo.com/library/indicator/measured-move-up-down.md
- [Gap Fill Breakouts](https://www.luxalgo.com/library/indicator/gap-fill-breakouts/) (Chart & Candlestick Patterns): markdown at https://www.luxalgo.com/library/indicator/gap-fill-breakouts.md

---

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