업데이트됨
[blackcat] L2 Ehlers Adaptive BandPass Filter

Level: 2
Background
John F. Ehlers introduced Adaptive BandPass Filter in his "Cycle Analytics for Traders" chapter 11 on 2013.
Function
Adaptive band-pass filter was designed. It just makes since to tune that filter to the measured dominant cycle to eliminate all the other frequency components that are of no interest. Here, the adaptive band-pass indicator starts with the computation of the dominant cycle using the autocorrelation periodogram approach.
One way to make a band-pass filter have a leading phase capability is to tune the filter to a period shorter than the period of the cycle being measured. In this case, the bandwidth of filter is set to 0.3. That is 30 percent of the tuned center period. Therefore, the half bandwidth is 15 percent. We tune the filter to be 10 percent toward the shorter period from the dominant cycle period to provide the phase lead while still having the data of interest be within the filter bandwidth. This provides a phase lead of the dominant cycle to be something on the order of 60 degrees, or one-sixth of a cycle. If the dominant cycle were 18 bars, for example, then the detuning of the filter would produce a 3-bar lead. This leading function is not huge, but it is significant.
A convenient trigger line is included in the adaptive band-pass filter to signal the more highly likely buy and sell points. The trigger is compute as 90 percent of the amplitude of the adaptive band-pass filter line and is delayed by one bar. While the line crossings occur after the peak of the band-pass filter, phase lead provides for the generation of a timely signal. Significant trading signals should also include the criteria that the line crossing occur at greater than the +0.7 and less than the −0.7 reference lines.
Key Signal
DominantCycle --> Dominant Cycle signal
Signal --> Adaptive BandPass Filter signal
Trigger --> lag version of Adaptive BandPass Filter sinal
LeadSignal --> Adaptive BandPass Filter Lead signal
Trigger2 --> lag version of Adaptive BandPass Filter Lead sinal
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.
Remarks
The 54th script for Blackcat1402 John F. Ehlers Week publication.
Readme
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.
Background
John F. Ehlers introduced Adaptive BandPass Filter in his "Cycle Analytics for Traders" chapter 11 on 2013.
Function
Adaptive band-pass filter was designed. It just makes since to tune that filter to the measured dominant cycle to eliminate all the other frequency components that are of no interest. Here, the adaptive band-pass indicator starts with the computation of the dominant cycle using the autocorrelation periodogram approach.
One way to make a band-pass filter have a leading phase capability is to tune the filter to a period shorter than the period of the cycle being measured. In this case, the bandwidth of filter is set to 0.3. That is 30 percent of the tuned center period. Therefore, the half bandwidth is 15 percent. We tune the filter to be 10 percent toward the shorter period from the dominant cycle period to provide the phase lead while still having the data of interest be within the filter bandwidth. This provides a phase lead of the dominant cycle to be something on the order of 60 degrees, or one-sixth of a cycle. If the dominant cycle were 18 bars, for example, then the detuning of the filter would produce a 3-bar lead. This leading function is not huge, but it is significant.
A convenient trigger line is included in the adaptive band-pass filter to signal the more highly likely buy and sell points. The trigger is compute as 90 percent of the amplitude of the adaptive band-pass filter line and is delayed by one bar. While the line crossings occur after the peak of the band-pass filter, phase lead provides for the generation of a timely signal. Significant trading signals should also include the criteria that the line crossing occur at greater than the +0.7 and less than the −0.7 reference lines.
Key Signal
DominantCycle --> Dominant Cycle signal
Signal --> Adaptive BandPass Filter signal
Trigger --> lag version of Adaptive BandPass Filter sinal
LeadSignal --> Adaptive BandPass Filter Lead signal
Trigger2 --> lag version of Adaptive BandPass Filter Lead sinal
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.
Remarks
The 54th script for Blackcat1402 John F. Ehlers Week publication.
Readme
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.
릴리즈 노트
OVERVIEW This script implements the Ehlers Adaptive BandPass Filter (EABPF) with enhanced visualization features. It provides real-time signal processing and divergence detection for technical analysis.FEATURES
• Advanced signal processing using Ehlers' adaptive filters
• Real-time BUY/SELL signals with visual indicators
• Divergence detection including:
Regular Bullish
Hidden Bullish
Regular Bearish
Hidden Bearish • Customizable alert conditions for all divergence types • Adjustable parameters for filter sensitivity
HOW TO USE
Input Parameters:
• AvgLength: Sets the average length for calculations
• Bandwidth: Controls the filter's bandwidth
• Pivot Lookback Right/Left: Adjusts pivot detection range
• Max/Min of Lookback Range: Defines the acceptable range for divergences
Visualization Options:
• Toggle visibility of bullish/bearish signals
• Enable/disable hidden divergence detection
• Customize colors and transparency levels
LIMITATIONS
• Requires sufficient historical data for accurate calculations
• Performance may vary on different timeframes
• Divergence detection is based on user-defined parameters
NOTES
• The script uses the Ehlers Adaptive BandPass Filter algorithm for signal processing
• All divergence alerts are customizable through TradingView's alert system
• The script automatically adjusts to different market conditions
릴리즈 노트
█ OVERVIEWAn adaptive Ehlers band-pass oscillator that turns dominant-cycle swings into
confirmed long and short signals, with a built-in position state machine and
volatility-based stop and target levels. It is a complete signal engine:
entries, exits, risk levels, a dashboard and a full alert set.
█ CONCEPTS
Price is detrended with a two-pole high-pass filter and smoothed with a
Super Smoother, leaving only the cyclic component. A homodyne discriminator
estimates the dominant cycle length, and the band-pass stage is re-tuned to
that length on every bar. The output is peak-normalised to roughly -1..+1 and
a fast "lead" line is derived from it.
Key principles:
• Cycle-adaptive tuning: the band follows the current cycle, not a fixed length
• Normalised amplitude: the same settings read alike on quiet and volatile symbols
• Lead vs trigger: the lead crossing its own trigger marks the swing turn
• Every signal passes a state machine, so entries never repeat while a position is open
█ HOW TO USE
1 — Add it to an empty pane; it does not overlay price.
2 — Start with the defaults. Setting Dominant Cycle Mode to Fixed Length
reproduces the classic 48-bar tuning.
3 — Read BUY / SELL labels as entries and X-L / X-S marks as exits.
4 — The dashboard shows position, entry, stop, target, cycle and cooldown.
5 — Create alerts on the conditions you trade; they fire on bar close.
Input Parameters
• Filter Core: cycle smoothing, bandwidth, cycle mode, fixed cycle, adaptive
min and max, high-pass cutoff, super smoother period
• Oscillator: lead gain, peak decays, trigger factor
• Signal Governance: cooldown bars, confirm on close, zero-line filter and exit
• Risk: ATR length, stop and take profit in ATR units, optional trailing stop
• Visual and Divergence: labels, background, dashboard, pivots, type toggles
█ FEATURES
• Adaptive dominant-cycle tracking with a fixed-length fallback
• Symmetrical long and short signals under a state machine and a cooldown
• ATR stop loss, ATR take profit, optional chandelier trailing stop
• Non-repainting option: labels and alerts fire only on closed bars
• Background tint, labelled signals with reason tags, compact dashboard
• Nine alert conditions plus dynamic messages with price, stop and target
█ SIGNALS
• BUY / SELL: lead crosses trigger; "(Flip)" means the opposite side closed on that bar
• X-L / X-S: exit tagged SL, TP or X0 (zero-line cross)
• Bull / H Bull / Bear / H Bear: regular or hidden divergence on pivots
• Background tint: green long, red short, none flat
█ IMPLEMENTATION NOTES
Built only from standard Pine v6 primitives (math, ta.atr, ta.highest,
ta.lowest, ta.pivotlow, ta.pivothigh, ta.valuewhen). No request.security call
is used, so no lookahead bias can appear. Stop and target levels are shown in
the Data Window, keeping the oscillator scale intact.
█ LIMITATIONS
• An indicator, not a backtest: stop and target levels are references, not orders
• Hits are evaluated on bar close, so intrabar spikes are not modelled exactly
• Divergence confirms after the right pivot lookback; the lag is intentional
• Cycle estimation needs history and settles over the first bars
• Best on liquid instruments where a cycle is clearly visible
█ NOTES
• Based on John Ehlers' band-pass and dominant-cycle work; the original
blackcat L2 implementation is the starting point of this version.
• Set Cooldown Bars to 0 to relax signal spacing on slow timeframes.
═════════════════════════════════════════════════════════════════════════
For questions or feedback, use the comments section below.
Feel free to use and modify — attribution appreciated.
Don't miss out! The first and most important thing to do is to join my Discord chat now! Click here to start your adventure: discord.com/invite/ZTGpQJq My new github for more pine development soon: github.com/wxt-coder
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
Don't miss out! The first and most important thing to do is to join my Discord chat now! Click here to start your adventure: discord.com/invite/ZTGpQJq My new github for more pine development soon: github.com/wxt-coder
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.