# Bessel Filter

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

Bessel Filter smooths price with a delay-normalized two- or four-pole Bessel low-pass whose near-constant group delay shifts the whole waveform sideways without distorting its shape. Defaults to a 20-bar cutoff with slope-based coloring, offers an optional 10-bar fast line for crossovers, and a dashboard states the filter's nominal delay in bars.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jun 8, 2026.
- Access: free.
- Concepts: [Bessel Filter](https://www.luxalgo.com/library/concept/bessel-filter/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=st1931ygd54zitg3c7evy6o4
- Page: https://www.luxalgo.com/library/indicator/bessel-filter/

**Bessel Filter** brings the [Bessel filter](https://www.luxalgo.com/library/concept/bessel-filter/) to price charts as the first purpose-built implementation of the design in the library: a low-pass smoother whose defining property (very nearly the same delay for every passed frequency) keeps the shape of the smoothed move intact instead of smearing it. The line is computed from the delay-normalized second- and fourth-order analog prototypes via the bilinear transform, pre-warped so the −3 dB point lands exactly on the requested cutoff period. The Bessel Filter plot colors by slope by default; an optional Fast Bessel Filter line supports crossover logic, and a dashboard reports order, cutoff, and the nominal passband delay in bars.

## How to Trade the Bessel Filter?

- **Slope color flip**: the filter turning up or down marks a smoothed turning point, with matching Turned Up / Turned Down alerts.
- **Price crossing the filter**: classic moving-average-style cross rules, alertable in both directions; optional triangles mark the crossings.
- **Fast line crossing the slow line**: enable Show Fast Line for a two-line crossover system in which the main filter acts as the slow line.

The dashboard's delay row states roughly how many bars the line trails price, useful for judging how late any crossing will arrive.

## Bessel Filter Settings

- **Source** (default close): series the filter smooths.
- **Cutoff Period** (default 20): approximate −3 dB cutoff wavelength in bars; slower swings pass, faster fluctuations are attenuated.
- **Order** (default 2): four poles sharpen the rolloff but add delay, running as two cascaded second-order sections.
- **Show Fast Line** (default disabled) with **Fast Cutoff Period** (default 10): the shorter-cutoff companion line.
- **Show Dashboard** (default enabled) plus its Location and Size.
- **Line Coloring** (default Directional) and **Crossing Markers** (default disabled) round out the style options.

## Frequently Asked Questions

### How does this differ from the Butterworth design?

The [Butterworth build](https://www.luxalgo.com/library/indicator/butterworth-filter/) is tuned for amplitude flatness and a steeper rolloff at equal order; the Bessel design gives that up to keep the delay flat. Choose Bessel when the smoothed line feeds shape-sensitive logic.

### What does the dashboard delay figure mean?

It is the nominal passband group delay in bars: every passed component is delayed by roughly that amount, which is what preserves the line's shape. On sampled data the property is approximate, least so at short cutoff periods.

### Should I use two poles or four?

Two poles are the common starting point. Four attenuate fast noise more decisively (useful on choppy intraday series), at the price of more delay, which the dashboard makes explicit.

## Related indicators

- [Chebyshev Filters](https://www.luxalgo.com/library/indicator/chebyshev-filters/) (Trend): markdown at https://www.luxalgo.com/library/indicator/chebyshev-filters.md
- [Laguerre Filter](https://www.luxalgo.com/library/indicator/laguerre-filter/) (Trend): markdown at https://www.luxalgo.com/library/indicator/laguerre-filter.md
- [Elliptic Filter](https://www.luxalgo.com/library/indicator/elliptic-filter/) (Trend): markdown at https://www.luxalgo.com/library/indicator/elliptic-filter.md
- [Gaussian Filter](https://www.luxalgo.com/library/indicator/gaussian-filter/) (Trend): markdown at https://www.luxalgo.com/library/indicator/gaussian-filter.md
- [Swiss Army Knife Filter](https://www.luxalgo.com/library/indicator/swiss-army-knife-filter/) (Trend): markdown at https://www.luxalgo.com/library/indicator/swiss-army-knife-filter.md
- [Ehlers SuperSmoother](https://www.luxalgo.com/library/indicator/ehlers-supersmoother/) (Trend): markdown at https://www.luxalgo.com/library/indicator/ehlers-supersmoother.md
- [Ehlers Instantaneous Trendline](https://www.luxalgo.com/library/indicator/ehlers-instantaneous-trendline/) (Trend): markdown at https://www.luxalgo.com/library/indicator/ehlers-instantaneous-trendline.md
- [Whittaker Envelope](https://www.luxalgo.com/library/indicator/whittaker-envelope/) (Whittaker–Henderson Smoother): markdown at https://www.luxalgo.com/library/indicator/whittaker-envelope.md

---

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