[blackcat] L2 Ehlers Three Pole Butterworth Filter

Level: 2


John F. Ehlers introuced Three-Pole Butterworth Filter in his "Cybernetic Analysis for Stocks and Futures" chapter 13 on 2004.


The transfer responses of Butterworth filters have polynomials in both the numerator and denominator. There is a polynomial in the numerator as well as the denominator. The significance of the polynomial in the numerator is that it represents the finite impulse response (FIR) part of the filter. This part is like a simple moving average . The denominator forms the iterative part of the filter calculation and is the infinite impulse response (IIR) part of the filter. The FIR part of the filter sharpens the filter rejection response, but it also contributes to lag in the response. Recognizing that the parts of a Butterworth filter are separable, Dr . Ehlers formed the multipole super smoothing filters by simply deleting the polynomial in the numerator. Butterworth filters can have an arbitrarily large number of poles. The passband of Butterworth filters is prescribed by a single parameter. That parameter is the Cutoff Period, where the attenuation of the filter is 3 dB .

Key Signal

Butter ---> Two Pole Butterworth Filter fast line
Trigger ---> Two Pole Butterworth Filter slow line

Pros and Cons

100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.


The 30th script for Blackcat1402 John F. Ehlers Week publication.


In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.

The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.

Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.

Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.

Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.

Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.

Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Phát hành các Ghi chú: thanks to @sal157011 reminding, i corrected line #37 into Butter := coef1*(Price + 3*nz(Price(1)) + 3*nz(Price(2)) + nz(Price(3))) + coef2*nz(Butter(1)) + coef3*nz(Butter(2)) + coef4*nz(Butter(3))
Gỡ bỏ khỏi Script Ưa thích Add to favorite indicators
"Win$ & Donate w/ This" Address:

BTC / USDT(OMNI): 3DsouvyXoT4T2u8qdWvs9TXVD4hUozAKTc

ETH / ERC20 Coin: 0xfE2240fb97F11d81A324C6d3881de43E09EadEF9

LTC: LchnDmA2rnZ5ULdqbr9UbnTX4fFcP2yrJf

TRX: TEeUzBUvfYbqb8LyL7iGZbJewr9tWnxEuF

EOS: blackcatjust

Bình luận

line 37, where is written 2*nz should be 3*nz
+1 Phản hồi
blackcat1402 sal157011
@sal157011, i double checked with Ehlers original work, you are correct! Thanks for reminding, i had updated the script accrodingly:D
Phản hồi
Trang chủ Bộ lọc cổ phiếu Bộ lọc Forex Bộ lọc Tiền điện tử Lịch kinh tế Cách thức hoạt động Tính năng Biểu đồ Trả phí Giới thiệu bạn Quy tắc Áp dụng Trung tâm Trợ giúp Giải pháp cho Website & Nhà môi giới Widget Giải pháp biểu đồ Thư viện Biểu đồ Lightweight Blog & Tin tức Twitter
Hồ sơ Tùy chỉnh Hồ sơ Tài khoản và Thanh toán Giới thiệu bạn Xu Ticket Hỗ trợ của tôi Trung tâm Trợ giúp Các ý tưởng đã đăng Người theo dõi Đang theo dõi Tin nhắn riêng Trò chuyện Đăng xuất