OPEN-SOURCE SCRIPT

Updated

STD-Filtered, Variety FIR Digital Filters w/ ATR Bands [Loxx] is a FIR Digital Filter indicator with ATR bands. This indicator contains 12 different digital filters. Some of these have already been covered by indicators that I've recently posted. The difference here is that this indicator has ATR bands, allows for frequency filtering, adds a frequency multiplier, and attempts show causality by lagging price input by 1/2 the period input during final application of weights. Period is restricted to even numbers.

The 3 most important parameters are the frequency cutoff, the filter window type and the "causal" parameter.

**Included filter types:**

- Hamming

- Hanning

- Blackman

- Blackman Harris

- Blackman Nutall

- Nutall

- Bartlet Zero End Points

- Bartlet Hann

- Hann

- Sine

- Lanczos

- Flat Top

Frequency cutoff can vary between 0 and 0.5. General rule is that the greater the cutoff is the "faster" the filter is, and the smaller the cutoff is the smoother the filter is.

You can read more about discrete-time signal processing and some of the windowing functions in this indicator here:

Window function

Window Functions and Their Applications in Signal Processing

**What are FIR Filters?**

In discrete-time signal processing, windowing is a preliminary signal shaping technique, usually applied to improve the appearance and usefulness of a subsequent Discrete Fourier Transform. Several window functions can be defined, based on a constant (rectangular window), B-splines, other polynomials, sinusoids, cosine-sums, adjustable, hybrid, and other types. The windowing operation consists of multipying the given sampled signal by the window function. For trading purposes, these FIR filters act as advanced weighted moving averages.

A finite impulse response (FIR) filter is a filter whose impulse response (or response to any finite length input) is of finite duration, because it settles to zero in finite time. This is in contrast to infinite impulse response (IIR) filters, which may have internal feedback and may continue to respond indefinitely (usually decaying).

The impulse response (that is, the output in response to a Kronecker delta input) of an Nth-order discrete-time FIR filter lasts exactly {\displaystyle N+1}N+1 samples (from first nonzero element through last nonzero element) before it then settles to zero.

FIR filters can be discrete-time or continuous-time, and digital or analog.

A FIR filter is (similar to, or) just a weighted moving average filter, where (unlike a typical equally weighted moving average filter) the weights of each delay tap are not constrained to be identical or even of the same sign. By changing various values in the array of weights (the impulse response, or time shifted and sampled version of the same), the frequency response of a FIR filter can be completely changed.

An FIR filter simply CONVOLVES the input time series (price data) with its IMPULSE RESPONSE. The impulse response is just a set of weights (or "coefficients") that multiply each data point. Then you just add up all the products and divide by the sum of the weights and that is it; e.g., for a 10-bar SMA you just add up 10 bars of price data (each multiplied by 1) and divide by 10. For a weighted-MA you add up the product of the price data with triangular-number weights and divide by the total weight.

**What is a Standard Deviation Filter?**

If price or output or both don't move more than the (standard deviation) * multiplier then the trend stays the previous bar trend. This will appear on the chart as "stepping" of the moving average line. This works similar to Super Trend or Parabolic SAR but is a more naive technique of filtering.

**Included**

**Related indicators**

*STD/C-Filtered, N-Order Power-of-Cosine FIR Filter [Loxx]*

*STD/C-Filtered, Power-of-Cosine FIR Filter [Loxx]*

*STD/C-Filtered, Truncated Taylor Family FIR Filter [Loxx]*

*STD/Clutter-Filtered, Variety FIR Filters [Loxx]*

*STD/Clutter-Filtered, Kaiser Window FIR Digital Filter [Loxx]*

The 3 most important parameters are the frequency cutoff, the filter window type and the "causal" parameter.

- Hamming

- Hanning

- Blackman

- Blackman Harris

- Blackman Nutall

- Nutall

- Bartlet Zero End Points

- Bartlet Hann

- Hann

- Sine

- Lanczos

- Flat Top

Frequency cutoff can vary between 0 and 0.5. General rule is that the greater the cutoff is the "faster" the filter is, and the smaller the cutoff is the smoother the filter is.

You can read more about discrete-time signal processing and some of the windowing functions in this indicator here:

Window function

Window Functions and Their Applications in Signal Processing

In discrete-time signal processing, windowing is a preliminary signal shaping technique, usually applied to improve the appearance and usefulness of a subsequent Discrete Fourier Transform. Several window functions can be defined, based on a constant (rectangular window), B-splines, other polynomials, sinusoids, cosine-sums, adjustable, hybrid, and other types. The windowing operation consists of multipying the given sampled signal by the window function. For trading purposes, these FIR filters act as advanced weighted moving averages.

A finite impulse response (FIR) filter is a filter whose impulse response (or response to any finite length input) is of finite duration, because it settles to zero in finite time. This is in contrast to infinite impulse response (IIR) filters, which may have internal feedback and may continue to respond indefinitely (usually decaying).

The impulse response (that is, the output in response to a Kronecker delta input) of an Nth-order discrete-time FIR filter lasts exactly {\displaystyle N+1}N+1 samples (from first nonzero element through last nonzero element) before it then settles to zero.

FIR filters can be discrete-time or continuous-time, and digital or analog.

A FIR filter is (similar to, or) just a weighted moving average filter, where (unlike a typical equally weighted moving average filter) the weights of each delay tap are not constrained to be identical or even of the same sign. By changing various values in the array of weights (the impulse response, or time shifted and sampled version of the same), the frequency response of a FIR filter can be completely changed.

An FIR filter simply CONVOLVES the input time series (price data) with its IMPULSE RESPONSE. The impulse response is just a set of weights (or "coefficients") that multiply each data point. Then you just add up all the products and divide by the sum of the weights and that is it; e.g., for a 10-bar SMA you just add up 10 bars of price data (each multiplied by 1) and divide by 10. For a weighted-MA you add up the product of the price data with triangular-number weights and divide by the total weight.

If price or output or both don't move more than the (standard deviation) * multiplier then the trend stays the previous bar trend. This will appear on the chart as "stepping" of the moving average line. This works similar to Super Trend or Parabolic SAR but is a more naive technique of filtering.

- Bar coloring
- Loxx's Expanded Source Types
- Signals
- Alerts

Release Notes

Corrected small SMA error.In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Public Telegram Group, t.me/algxtrading_public

VIP Membership Info: patreon.com/algxtrading/membership

VIP Membership Info: patreon.com/algxtrading/membership

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.