CCI with Signals & Divergence [AIBitcoinTrend]👽 CCI with Signals & Divergence (AIBitcoinTrend)
The Hilbert Adaptive CCI with Signals & Divergence takes the traditional Commodity Channel Index (CCI) to the next level by dynamically adjusting its calculation period based on real-time market cycles using Hilbert Transform Cycle Detection. This makes it far superior to standard CCI, as it adapts to fast-moving trends and slow consolidations, filtering noise and improving signal accuracy.
Additionally, the indicator includes real-time divergence detection and an ATR-based trailing stop system, helping traders identify potential reversals and manage risk effectively.
👽 What Makes the Hilbert Adaptive CCI Unique?
Unlike the traditional CCI, which uses a fixed-length lookback period, this version automatically adjusts its lookback period using Hilbert Transform to detect the dominant cycle in the market.
✅ Hilbert Transform Adaptive Lookback – Dynamically detects cycle length to adjust CCI sensitivity.
✅ Real-Time Divergence Detection – Instantly identifies bullish and bearish divergences for early reversal signals.
✅ Implement Crossover/Crossunder signals tied to ATR-based trailing stops for risk management
👽 The Math Behind the Indicator
👾 Hilbert Transform Cycle Detection
The Hilbert Transform estimates the dominant market cycle length based on the frequency of price oscillations. It is computed using the in-phase and quadrature components of the price series:
tp = (high + low + close) / 3
smooth = (tp + 2 * tp + 2 * tp + tp ) / 6
detrender = smooth - smooth
quadrature = detrender - detrender
inPhase = detrender + quadrature
outPhase = quadrature - inPhase
instPeriod = 0.0
deltaPhase = math.abs(inPhase - inPhase ) + math.abs(outPhase - outPhase )
instPeriod := nz(3.25 / deltaPhase, instPeriod )
dominantCycle = int(math.min(math.max(instPeriod, cciMinPeriod), 500))
Where:
In-Phase & Out-Phase Components are derived from a detrended version of the price series.
Instantaneous Frequency measures the rate of cycle change, allowing the CCI period to adjust dynamically.
The result is bounded within a user-defined min/max range, ensuring stability.
👽 How Traders Can Use This Indicator
👾 Divergence Trading Strategy
Bullish Divergence Setup:
Price makes a lower low, while CCI forms a higher low.
Buy signal is confirmed when CCI shows upward momentum.
Bearish Divergence Setup:
Price makes a higher high, while CCI forms a lower high.
Sell signal is confirmed when CCI shows downward momentum.
👾 Trailing Stop & Signal-Based Trading
Bullish Setup:
✅ CCI crosses above -100 → Buy signal.
✅ A bullish trailing stop is placed at Low - (ATR × Multiplier).
✅ Exit if the price crosses below the stop.
Bearish Setup:
✅ CCI crosses below 100 → Sell signal.
✅ A bearish trailing stop is placed at High + (ATR × Multiplier).
✅ Exit if the price crosses above the stop.
👽 Why It’s Useful for Traders
Hilbert Adaptive Period Calculation – No more fixed-length periods; the indicator dynamically adapts to market conditions.
Real-Time Divergence Alerts – Helps traders anticipate market reversals before they occur.
ATR-Based Risk Management – Stops automatically adjust based on volatility.
Works Across Multiple Markets & Timeframes – Ideal for stocks, forex, crypto, and futures.
👽 Indicator Settings
Min & Max CCI Period – Defines the adaptive range for Hilbert-based lookback.
Smoothing Factor – Controls the degree of smoothing applied to CCI.
Enable Divergence Analysis – Toggles real-time divergence detection.
Lookback Period – Defines the number of bars for detecting pivot points.
Enable Crosses Signals – Turns on CCI crossover-based trade signals.
ATR Multiplier – Adjusts trailing stop sensitivity.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
Hilbertoscialltor
[blackcat] L2 Ehlers Hilbert OscillatorLevel: 2
Background
John F. Ehlers introuced Hilbert Oscillator in his "Rocket Science for Traders" chapter 8. The Hilbert Oscillator identifies every major turning point.
Function
blackcat L2 Ehlers Hilbert Oscillator is used to follow the trend. Although it will not be a leading indicator because of the 2-bar lag required to compute Q3, it does prove itself to be superior to most currently available oscillators. The bandwidth for the computation of Value1 is twice the bandwidth of I3. Therefore, the amplitude compensation will be less, approximately the square root of 1.57, which is about 1.25. The Hilbert Oscillator identifies every major turning point.
Key Signal
Smooth --> 4 bar WMA w/ 1 bar lag
Detrender --> The amplitude response of a minimum-length HT can be improved by adjusting the filter coefficients by
trial and error. HT does not allow DC component at zero frequency for transformation. So, Detrender is used to remove DC component/ trend component.
Q1 --> Quadrature phase signal
I1 --> In-phase signal
Value1 ---> Hilbert Oscillator fast line
I3 ---> Hilbert Oscillator 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.
Remarks
The 7th 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.