[blackcat] L2 Ehlers Adaptive Jon Andersen R-Squared Indicator

Background
pips_v1 has proposed an interesting idea that is it possible to code an "Adaptive Jon Andersen R-Squared Indicator" where the length is determined by DCPeriod as calculated in Ehlers Sine Wave Indicator? I agree with him and starting to construct this indicator. After a study, I found "(blackcat) L2 Ehlers Autocorrelation Periodogram" script could be reused for this purpose because Ehlers Autocorrelation Periodogram is an ideal candidate to calculate the dominant cycle. On the other hand, there are two inputs for R-Squared indicator:
- Length - number of bars to calculate moment correlation coefficient R
- AvgLen - number of bars to calculate average R-square
I used Ehlers Autocorrelation Periodogram to produced a dynamic value of "Length" of R-Squared indicator and make it adaptive.
Function
One tool available in forecasting the trendiness of the breakout is the coefficient of determination (R-squared), a statistical measurement. The R-squared indicates linear strength between the security's price (the Y - axis) and time (the X - axis). The R-squared is the percentage of squared error that the linear regression can eliminate if it were used as the predictor instead of the mean value. If the R-squared were 0.99, then the linear regression would eliminate 99% of the error for prediction versus predicting closing prices using a simple moving average.
When the R-squared is at an extreme low, indicating that the mean is a better predictor than regression, it can only increase, indicating that the regression is becoming a better predictor than the mean. The opposite is true for extreme high values of the R-squared.
To make this indicator adaptive, the dominant cycle is extracted from the spectral estimate in the next block of code using a center-of-gravity ( CG ) algorithm. The CG algorithm measures the average center of two-dimensional objects. The algorithm computes the average period at which the powers are centered. That is the dominant cycle. The dominant cycle is a value that varies with time. The spectrum values vary between 0 and 1 after being normalized. These values are converted to colors. When the spectrum is greater than 0.5, the colors combine red and yellow, with yellow being the result when spectrum = 1 and red being the result when the spectrum = 0.5. When the spectrum is less than 0.5, the red saturation is decreased, with the result the color is black when spectrum = 0.
Construction of the autocorrelation periodogram starts with the autocorrelation function using the minimum three bars of averaging. The cyclic information is extracted using a discrete Fourier transform (DFT) of the autocorrelation results. This approach has at least four distinct advantages over other spectral estimation techniques. These are:
1. Rapid response. The spectral estimates start to form within a half-cycle period of their initiation.
2. Relative cyclic power as a function of time is estimated. The autocorrelation at all cycle periods can be low if there are no cycles present, for example, during a trend. Previous works treated the maximum cycle amplitude at each time bar equally.
3. The autocorrelation is constrained to be between minus one and plus one regardless of the period of the measured cycle period. This obviates the need to compensate for Spectral Dilation of the cycle amplitude as a function of the cycle period.
4. The resolution of the cyclic measurement is inherently high and is independent of any windowing function of the price data.
Key Signal
DC --> Ehlers dominant cycle.
AvgSqrR --> R-squared output of the indicator.
Remarks
This is a Level 2 free and open source indicator.
Feedbacks are appreciated.
The L2 Ehlers Adaptive Jon Andersen R-Squared Indicator is a sophisticated technical analysis tool that combines adaptive filtering with R-squared calculations to identify market cycles and trend strength. This indicator uses advanced mathematical algorithms to process price data and generate reliable trading signals. It features dynamic cycle detection, real-time R-squared calculations, and customizable parameters for optimal performance across various market conditions.
FEATURES
• Adaptive Filtering: Implements high-pass and super smoother filters for noise reduction
• Cycle Detection: Automatically identifies dominant market cycles
• R-Squared Analysis: Calculates trend strength using Pearson correlation coefficients
• Dynamic Thresholds: Adjusts signal generation based on market conditions
• Visual Alerts: Provides clear BUY/SELL signals with color-coded labels
• Alert System: Supports customizable alert notifications for trading opportunities
HOW TO USE
Setup Parameters:
Set the Price Source to your preferred price data (close, open, etc.)
Adjust Average Length for sensitivity control
Fine-tune Cycle Part for cycle detection precision
Interpret Signals:
Green Upward Arrow: Indicates potential buying opportunity
Red Downward Arrow: Suggests possible selling opportunity
Monitor the R-Squared Line crossing thresholds for confirmation
Customization Options:
Modify alert conditions in TradingView settings
Adjust threshold levels for risk management
Fine-tune parameters based on specific market conditions
LIMITATIONS
• Requires sufficient historical data for accurate cycle detection
• May produce false signals during highly volatile periods
• Best suited for trending markets rather than ranging conditions
NOTES
The indicator uses advanced mathematical calculations for optimal performance
Regular monitoring of parameter settings is recommended for different market conditions
Consider combining with other indicators for comprehensive analysis
Mã nguồn mở
Theo đúng tinh thần TradingView, người tạo ra tập lệnh này đã biến tập lệnh thành mã nguồn mở để các nhà giao dịch có thể xem xét và xác minh công năng. Xin dành lời khen tặng cho tác giả! Mặc dù bạn có thể sử dụng miễn phí, nhưng lưu ý nếu đăng lại mã, bạn phải tuân theo Quy tắc nội bộ của chúng tôi.
Để truy cập nhanh vào biểu đồ, hãy thêm tập lệnh này vào mục yêu thích của bạn — tìm hiểu thêm tại đây.
Thông báo miễn trừ trách nhiệm
Mã nguồn mở
Theo đúng tinh thần TradingView, người tạo ra tập lệnh này đã biến tập lệnh thành mã nguồn mở để các nhà giao dịch có thể xem xét và xác minh công năng. Xin dành lời khen tặng cho tác giả! Mặc dù bạn có thể sử dụng miễn phí, nhưng lưu ý nếu đăng lại mã, bạn phải tuân theo Quy tắc nội bộ của chúng tôi.
Để truy cập nhanh vào biểu đồ, hãy thêm tập lệnh này vào mục yêu thích của bạn — tìm hiểu thêm tại đây.