OPEN-SOURCE SCRIPT
[GYTS] Ultimate Smoother (3-poles + 2 poles)

Ultimate Smoother (3-pole)
🌸 Part of GoemonYae Trading System (GYTS) 🌸
🌸 --------- INTRODUCTION --------- 🌸
💮 Release of 3-Pole Ultimate Smoother
This indicator presents a new 3-pole version of John Ehlers' Ultimate Smoother (2024). This results in an unconventional filter that exhibits effectively zero lag in practical trading applications, regardless of the set period. By using a 2-pole high-pass filter in its design, it responds to price direction changes on the same bar, while still allowing the user to control smoothness.
💮 What is the Ultimate Smoother?
The original Ultimate Smoother is a revolutionary filter designed by John Ehlers (2024) that smooths price data with virtually zero lag in the pass band. While conventional filters always introduce lag when removing market noise, the Ultimate Smoother maintains phase alignment at low frequencies while still providing excellent noise reduction.
💮 Mathematical Foundation
The Ultimate Smoother achieves its remarkable properties through a clever mathematical approach:
1. Instead of directly designing a low-pass filter (like traditional moving averages), it subtracts a high-pass filter from an all-pass filter (the original input data).
2. At very low frequencies, the high-pass filter contributes almost nothing, so the output closely matches the input in both amplitude and phase.
3. At higher frequencies, the high-pass filter's response increasingly matches the input data, resulting in cancellation through subtraction.
The 3-pole version extends this principle by using a higher-order high-pass filter, requiring additional coefficients and handling more terms in the numerator of the transfer function.
🌸 --------- USAGE GUIDE --------- 🌸
💮 Period Parameter Behaviour
The period parameter in the 3-pole Ultimate Smoother works somewhat counterintuitively:
- Longer periods: Result in less smooth, but more responsive following of the price. The filter output more closely tracks the input data.
- Shorter periods: Produce smoother output but may exhibit overshooting (extrapolating price movement) for larger movements.
This is different from most filters where longer periods typically produce smoother outputs with more lag.

💮 When to Choose 3-Pole vs. 2-Pole
- Choose the 3-pole version when you need zero-lag but want to control the smoothness
- Choose the 2-pole version when you are okay with some lag with the benefit of more smoothness.

🌸 --------- ACKNOWLEDGEMENTS --------- 🌸
This indicator builds upon the pioneering work of John Ehlers, particularly from his article April 2024 edition of TASC's Traders' Tips. The original version is published on TradingView by PineCodersTASC .
This 3-pole extension was developed by GoemonYae . Feedback is highly appreciated!
🌸 Part of GoemonYae Trading System (GYTS) 🌸
🌸 --------- INTRODUCTION --------- 🌸
💮 Release of 3-Pole Ultimate Smoother
This indicator presents a new 3-pole version of John Ehlers' Ultimate Smoother (2024). This results in an unconventional filter that exhibits effectively zero lag in practical trading applications, regardless of the set period. By using a 2-pole high-pass filter in its design, it responds to price direction changes on the same bar, while still allowing the user to control smoothness.
💮 What is the Ultimate Smoother?
The original Ultimate Smoother is a revolutionary filter designed by John Ehlers (2024) that smooths price data with virtually zero lag in the pass band. While conventional filters always introduce lag when removing market noise, the Ultimate Smoother maintains phase alignment at low frequencies while still providing excellent noise reduction.
💮 Mathematical Foundation
The Ultimate Smoother achieves its remarkable properties through a clever mathematical approach:
1. Instead of directly designing a low-pass filter (like traditional moving averages), it subtracts a high-pass filter from an all-pass filter (the original input data).
2. At very low frequencies, the high-pass filter contributes almost nothing, so the output closely matches the input in both amplitude and phase.
3. At higher frequencies, the high-pass filter's response increasingly matches the input data, resulting in cancellation through subtraction.
The 3-pole version extends this principle by using a higher-order high-pass filter, requiring additional coefficients and handling more terms in the numerator of the transfer function.
🌸 --------- USAGE GUIDE --------- 🌸
💮 Period Parameter Behaviour
The period parameter in the 3-pole Ultimate Smoother works somewhat counterintuitively:
- Longer periods: Result in less smooth, but more responsive following of the price. The filter output more closely tracks the input data.
- Shorter periods: Produce smoother output but may exhibit overshooting (extrapolating price movement) for larger movements.
This is different from most filters where longer periods typically produce smoother outputs with more lag.
💮 When to Choose 3-Pole vs. 2-Pole
- Choose the 3-pole version when you need zero-lag but want to control the smoothness
- Choose the 2-pole version when you are okay with some lag with the benefit of more smoothness.
🌸 --------- ACKNOWLEDGEMENTS --------- 🌸
This indicator builds upon the pioneering work of John Ehlers, particularly from his article April 2024 edition of TASC's Traders' Tips. The original version is published on TradingView by PineCodersTASC .
This 3-pole extension was developed by GoemonYae . Feedback is highly appreciated!
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội Quy.
🌸 ---- GoemonYae Trading System (GYTS) ---- 🌸
🌐 Website: goemonyae.com
📖 Documentation: goemonyae.com/docs
💬 Discord server (including YaeBot): discord.gg/ef6Tu4kha3
👔 personal LinkedIn: linkedin.com/in/arthur-nazarian
🌐 Website: goemonyae.com
📖 Documentation: goemonyae.com/docs
💬 Discord server (including YaeBot): discord.gg/ef6Tu4kha3
👔 personal LinkedIn: linkedin.com/in/arthur-nazarian
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội Quy.
🌸 ---- GoemonYae Trading System (GYTS) ---- 🌸
🌐 Website: goemonyae.com
📖 Documentation: goemonyae.com/docs
💬 Discord server (including YaeBot): discord.gg/ef6Tu4kha3
👔 personal LinkedIn: linkedin.com/in/arthur-nazarian
🌐 Website: goemonyae.com
📖 Documentation: goemonyae.com/docs
💬 Discord server (including YaeBot): discord.gg/ef6Tu4kha3
👔 personal LinkedIn: linkedin.com/in/arthur-nazarian
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.