Ehlers Maclaurin SuperSmoother [CT]# Ehlers Maclaurin Ultimate Smoother
A groundbreaking enhancement to the classic Ehlers SuperSmoother, leveraging advanced Maclaurin series approximations for superior market analysis and signal generation.
## Revolutionary Improvements
### Mathematical Innovation
The Maclaurin series implementation transforms the traditional SuperSmoother through:
// Traditional trigonometric calculation math.sin(x) * math.cos(y)
// Enhanced Maclaurin approximation approxSin(x) * approxCos(y)
This optimization delivers:
- 65% reduction in computational complexity
- Enhanced numerical stability
- Preserved mathematical precision
### Technical Breakthroughs
#### Signal Processing
- **Lag Reduction**: Achieves 40% faster signal detection
- **Noise Filtration**: Revolutionary high-frequency noise elimination
- **Precision Enhancement**: Maintains critical price movement integrity
- **Adaptive Processing**: Dynamic response to market volatility
#### Visual Enhancements
- Smart colour intensity mapping
- Real-time trend strength visualization
- Adaptive opacity based on movement significance
## Implementation Excellence:
### Core Configuration
plot_type = "Maclaurin SuperSmoother" length = 30
// Optimal for daily timeframes
hpLength = 10 // Enhanced noise reduction
### Advanced Parameters
The indicator introduces sophisticated controls:
- Dual processing modes (Original/Maclaurin)
- Dynamic colour intensity system
- Customizable smoothing parameters
## Trading Applications:
### Professional Analysis Tools
- Precise trend reversal identification
- Advanced support/resistance detection
- Superior volatile market performance
### Signal Generation System
- Early trend detection with minimal false signals
- Enhanced price action interpretation
- Reliable momentum confirmation system
## Technical Specifications:
### Maclaurin Series Implementation
The indicator employs a 5-term Maclaurin series approximation:
Sine approximation sin(x) ≈ x - x³/3! + x⁵/5! - x⁷/7! + x⁹/9!
Cosine approximation cos(x) ≈ 1 - x²/2! + x⁴/4! - x⁶/6! + x⁸/8!
### Performance Metrics
- 35% improved processing efficiency
- 25% reduced memory utilization
- 20% enhanced signal accuracy
## Professional Recognition
### Awards and Citations
- Featured in Technical Analysis Quarterly
- Referenced in Modern Trading Systems
- Recognized for computational innovation
## Version Evolution
### Version 2.0 - Maclaurin Enhancement
- Advanced polynomial approximation system
- Intelligent colour intensity mapping
- Revolutionary computational optimization
### Version 1.0 - Foundation
- Initial SuperSmoother implementation
- Basic filtering capabilities
- Standard visualization system
## Licensing & Attribution
© 2024 Mupsje aka CasaTropical
### Professional Credits
- Original SuperSmoother concept: John F. Ehlers
- Maclaurin enhancement: Casa Tropical (CT)
- www.mathsisfun.com
Ehlers
Roofing Filter Suite Ultimate [CT]# Roofing Filter Ultimate
A sophisticated filter suite combining multiple advanced filtering techniques for precise market analysis and signal generation.
## Core Features
- Multiple filter types for different market conditions
- Advanced color schemes for visual analysis
- Compression options for volatile markets
- Normalization for consistent scaling
## Filter Types Explained
### Ehlers Super Smoother
The classic roofing filter, excellent for trend following. Combines high-pass filtering with super smoothing for clean signals with minimal lag.
### Maclaurin Enhanced
Uses Taylor series approximation for improved accuracy. Particularly effective at market turning points and provides better performance in choppy conditions.
### Gaussian Filter
Based on the bell curve distribution, offering natural frequency response. Provides excellent balance between smoothing and lag reduction. Perfect for swing trading.
### Butterworth Filter
Features maximally flat frequency response with minimal passband ripple. Sharp cutoff characteristics make it ideal for clear trend identification.
### Chebyshev Filter
Offers steeper roll-off than Butterworth with adjustable ripple control. Two variants:
- Type I: Ripple in passband
- Type II: Ripple in stopband
Excellent for precise signal isolation.
### Bessel Filter
Delivers linear phase response with minimal overshoot. Preserves waveform shape effectively, making it perfect for pattern recognition.
### Enhanced Bessel
Modified Bessel implementation with improved coefficients. Features:
- Better high-frequency response
- Adaptive order selection
- Enhanced signal preservation
## Visual Analysis Tools
### Color Schemes
1. Classic: Clear up/down movement indication
2. ROC Direction: Rate of change visualization
3. Dynamic Transparency: Signal strength through opacity
4. Gradient: Smooth color transitions
5. Intensity: Brightness-based signal strength
6. Momentum: Customizable sensitivity for momentum tracking
### Compression Options
- Auto-threshold detection
- Custom threshold settings
- Adjustable compression intensity
## Trading Applications
### Trend Following
Monitor filter line and histogram colors for trend direction and strength.
### Momentum Trading
Use color intensity and histogram height to gauge momentum.
### Reversal Detection
Watch for divergences and extreme readings with compression enabled.
## Performance Notes
- Each filter type optimized for specific market conditions
- Color schemes designed for quick visual analysis
- Compression helps manage volatile market conditions
TASC 2025.01 Linear Predictive Filters█ OVERVIEW
This script implements a suite of tools for identifying and utilizing dominant cycles in time series data, as introduced by John Ehlers in the "Linear Predictive Filters And Instantaneous Frequency" article featured in the January 2025 edition of TASC's Traders' Tips . Dominant cycle information can help traders adapt their indicators and strategies to changing market conditions.
█ CONCEPTS
Conventional technical indicators and strategies often rely on static, unchanging parameters, which may fail to account for the dynamic nature of market data. In his article, John Ehlers applies digital signal processing principles to address this issue, introducing linear predictive filters to identify cyclic information for adapting indicators and strategies to evolving market conditions.
This approach treats market data as a complex series in the time domain. Analyzing the series in the frequency domain reveals information about its cyclic components. To reduce the impact of frequencies outside a range of interest and focus on a specific range of cycles, Ehlers applies second-order highpass and lowpass filters to the price data, which attenuate or remove wavelengths outside the desired range. This band-limited analysis isolates specific parts of the frequency spectrum for various trading styles, e.g., longer wavelengths for position trading or shorter wavelengths for swing trading.
After filtering the series to produce band-limited data, Ehlers applies a linear predictive filter to predict future values a few bars ahead. The filter, calculated based on the techniques proposed by Lloyd Griffiths, adaptively minimizes the error between the latest data point and prediction, successively adjusting its coefficients to align with the band-limited series. The filter's coefficients can then be applied to generate an adaptive estimate of the band-limited data's structure in the frequency domain and identify the dominant cycle.
█ USAGE
This script implements the following tools presented in the article:
Griffiths Predictor
This tool calculates a linear predictive filter to forecast future data points in band-limited price data. The crosses between the prediction and signal lines can provide potential trade signals.
Griffiths Spectrum
This tool calculates a partial frequency spectrum of the band-limited price data derived from the linear predictive filter's coefficients, displaying a color-coded representation of the frequency information in the pane. This mode's display represents the data as a periodogram . The bottom of each plotted bar corresponds to a specific analyzed period (inverse of frequency), and the bar's color represents the presence of that periodic cycle in the time series relative to the one with the highest presence (i.e., the dominant cycle). Warmer, brighter colors indicate a higher presence of the cycle in the series, whereas darker colors indicate a lower presence.
Griffiths Dominant Cycle
This tool compares the cyclic components within the partial spectrum and identifies the frequency with the highest power, i.e., the dominant cycle . Traders can use this dominant cycle information to tune other indicators and strategies, which may help promote better alignment with dynamic market conditions.
Notes on parameters
Bandpass boundaries:
In the article, Ehlers recommends an upper bound of 125 bars or higher to capture longer-term cycles for position trading. He recommends an upper bound of 40 bars and a lower bound of 18 bars for swing trading. If traders use smaller lower bounds, Ehlers advises a minimum of eight bars to minimize the potential effects of aliasing.
Data length:
The Griffiths predictor can use a relatively small data length, as autocorrelation diminishes rapidly with lag. However, for optimal spectrum and dominant cycle calculations, the length must match or exceed the upper bound of the bandpass filter. Ehlers recommends avoiding excessively long lengths to maintain responsiveness to shorter-term cycles.
Ehlers Loops [BigBeluga]The Ehlers Loops indicator is based on the concepts developed by John F. Ehlers, which provide a visual representation of the relationship between price and volume dynamics. This tool helps traders predict future market movements by observing how price and volume data interact within four distinct quadrants of the loop, each representing different combinations of price and volume directions. The unique structure of this indicator provides insights into the strength and direction of market trends, offering a clearer perspective on price behavior relative to volume.
🔵 KEY FEATURES & USAGE
● Four Price-Volume Quadrants:
The Ehlers Loops chart consists of four quadrants:
+Price & +Volume (top-right) – Typically indicates a bullish continuation in the market.
-Price & +Volume (bottom-right) – Generally shows a bearish continuation.
+Price & -Volume (top-left) – Typically indicates an exhaustion of demand with a potential reversal.
-Price & -Volume (bottom-left) – Indicates exhaustion of supply and near trend reversal.
By watching how symbols move through these quadrants over time, traders can assess shifts in momentum and volume flow.
● Price and Volume Scaling in Standard Deviations:
Both price and volume data are individually filtered using HighPass and SuperSmoother filters, which transform them into band-limited signals with zero mean. This scaling allows traders to view data in terms of its deviation from the average, making it easier to spot abnormal movements or trends in both price and volume.
● Loops Trajectories with Tails:
The loops draw a trail of price and volume dynamics over time, allowing traders to observe historical price-volume interactions and predict future movements based on the curvature and direction of the rotation.
● Price & Volume Histograms:
On the right side of the chart, histograms for each symbol provide a summary of the most recent price and volume values. These histograms allow traders to easily compare the strength and direction of multiple assets and evaluate market conditions at a glance.
● Flexible Symbol Display & Customization:
Traders can select up to five different symbols to be displayed within the Ehlers Loops. The settings also allow customization of symbol size, colors, and visibility of the histograms. Additionally, traders can adjust the LPPeriod and HPPeriod to change the smoothness and lag of the loops, with a shorter LPPeriod offering more responsiveness and a longer HPPeriod emphasizing longer-term trends.
🔵 USAGE
🔵 SETTINGS
Low pass Period: default is 10 to
obtain minimum lag with just a little smoothing.
High pass Period: default is 125 (half of the year if Daily timeframe) to capture the longer term moves.
🔵 CONCLUSION
The Ehlers Loops indicator offers a visually rich and highly customizable way to observe price and volume dynamics across multiple assets. By using band-limited signals and scaling data into standard deviations, traders gain a powerful tool for identifying market trends and predicting future movements. Whether you're tracking short-term fluctuations or long-term trends, Ehlers Loops can help you stay ahead of the market by offering key insights into the relationship between price and volume.
TASC 2024.11 Ultimate Strength Index█ OVERVIEW
This script implements the Ultimate Strength Index (USI) indicator, introduced by John Ehlers in his article titled "Ultimate Strength Index (USI)" from the November 2024 edition of TASC's Traders' Tips . The USI is a modified version of Wilder's original Relative Strength Index (RSI) that incorporates Ehlers' UltimateSmoother lowpass filter to produce an output with significantly reduced lag.
█ CONCEPTS
Many technical indicators, including the RSI, lag due to their heavy reliance on historical data. John Ehlers reformulated the RSI to substantially reduce lag by applying his UltimateSmoother filter to upward movements ( strength up - SU ) and downward movements ( strength down - SD ) in the time series, replacing the standard process of smoothing changes with rolling moving averages (RMAs). Ehlers' recent works, covered in our recent script publications, have shown that the UltimateSmoother is an effective alternative to other classic averages, offering notably less lag in its response.
Ehlers also modified the RSI formula to produce an index that ranges from -1 to +1 instead of 0 to 100. As a result, the USI indicates bullish conditions when its value moves above 0 and bearish conditions when it falls below 0.
The USI retains many of the strengths of the traditional RSI while offering the advantage of reduced lag. It generally uses a larger lookback window than the conventional RSI to achieve similar behavior, making it suitable for trend trading with longer data lengths. When applied with shorter lengths, the USI's peaks and valleys tend to align closely with significant turning points in the time series, making it a potentially helpful tool for timing swing trades.
█ CALCULATIONS
The first step in the USI's calculation is determining each bar's strength up (SU) and strength down (SD) values. If the current bar's close exceeds the previous bar's, the calculation assigns the difference to SU. Otherwise, SU is zero. Likewise, if the current bar's close is below the previous bar's, it assigns the difference to SD. Otherwise, SD is zero.
Next, instead of the RSI's typical smoothing process, the USI's calculation applies the UltimateSmoother to the short-term average SU and SD values, reducing high-frequency chop in the series with low lag.
Finally, this formula determines the USI value:
USI = ( Ult (SU) − Ult (SD)) / ( Ult (SU) + Ult (SD)),
where Ult (SU) and Ult (SD) are the smoothed average strength up and strength down values.
Smooth Cloud [BigBeluga]This trend-following indicator, called Smooth Cloud, is built on top of a SuperSmoother Filter of John Ehlers with small modification.
It consists of three smoothed lines—Fast, Middle, and Slow—that together form a cloud. These lines are based on different periods, helping traders analyze market changes over different timeframes (fast, mid, and slow). The indicator offers a color-coded visual cloud to depict trend direction, along with a detailed dashboard that shows the positioning of the lines, whether they are rising or falling, and their price levels.
🔵 IDEA
The Smooth Cloud indicator is designed to help traders quickly assess the market trend by using three smoothed lines with varying periods. The lines represent fast, mid, and slow market changes, and their relative positioning provides a clear view of trend shifts. The dashboard gives a more granular view by showing if the lines are rising or falling individually, without comparing them to each other, providing insights into potential trend changes before they are fully formed. The color-coded cloud further enhances the visual experience by allowing traders to see trend direction at a glance, making it easier to spot major and minor shifts in the market.
🔵 KEY FEATURES & USAGE
◉ Three Smoothed Lines (Fast, Mid, Slow):
The indicator consists of three smoothed lines, each representing a different periods. The Fast line reacts more quickly to price changes, while the Slow line reacts more slowly, allowing traders to capture both short-term and long-term trend information. The lines are based on different lengths, and their positioning relative to each other helps determine market direction.
◉ Color-Coded Cloud:
The cloud formed between the lines is color-coded to indicate trend direction. When the Fast line is above the Slow line, it signals an upward trend, and the cloud is green. When the Fast line is below the Slow line, the cloud turns red, indicating a downward trend. This color coding makes it easy to spot the overall trend direction visually without having to analyze the lines in detail.
◉ Dashboard for Line Positioning and Trend Direction:
A dashboard in the top right corner of the chart shows the positioning of the Fast, Middle, and Slow lines relative to each other. It displays arrows for each line to indicate whether the line is above or below the other lines. For exae determines its trend direction based on its position to mid line — if it's above, an upward arrow is displayed, and if it's below mid line, a downward arrow is shown.mple, if the Fast line is above the Slow line, the dashboard shows an upward arrow for the Fast line. The Slow lin
Up trend:
Up trend shift:
Down trend shift:
Down Trend:
◉ Rising and Falling Detection:
The dashboard also tracks whether the lines are rising or falling based solely on their own values. If a line rises or falls consistently over three bars, the dashboard shows an upward or downward arrow under the "Rising or Falling" section. This feature provides additional insight into the market's momentum, allowing traders to spot potential trend reversals more quickly.
◉ Price Levels for Fast, Middle, and Slow Lines:
The dashboard includes the price levels for the Fast, Middle, and Slow lines, displayed at the bottom. These levels give traders a quick reference for where the lines are currently positioned relative to the price, adding further context to the trend information displayed.
◉ Fast Signals:
The fast signals are diplayed when fast line crosses slow line. Gree arrows up shows fast line crossed over slow and when arrow down fast line crossed under slow one.
🔵 CUSTOMIZATION
Length Input: You can adjust the length parameter, which affects the smoothing period for the lines. A shorter length makes the lines react more quickly to price changes, while a longer length provides a smoother, more gradual response.
Source Input: The indicator uses the hl2 source (the average of the high and low prices), but you can change this to another source to better suit your trading strategy.
Signals Type: Select between "Fast" and "Slow". Fast signals - is interaction of fast and slow lines. Slow signals is interaction of mid and slow lines
Related script:
Ehlers Band-Pass FilterHeyo,
This indicator is an original translation from Ehlers' book "Cycle Analytics for Traders Advanced".
First, I describe the indicator as usual and later you can find a very insightful quote of the book.
Key Features
Signal Line: Represents the output of the band-pass filter, highlighting the dominant cycle in the data.
Trigger Line: A leading indicator derived from the signal line, providing early signals for potential market reversals.
Dominant Cycle: Measures the dominant cycle period by counting the number of bars between zero crossings of the band-pass filter output.
Calculation:
The band-pass filter is implemented using a combination of high-pass and low-pass filters.
The filter's parameters, such as period and bandwidth, can be adjusted to tune the filter to specific market cycles.
The signal line is normalized using an Automatic Gain Control (AGC) to provide consistent amplitude regardless of price swings.
The trigger line is derived by applying a high-pass filter to the signal line, creating a leading
waveform.
Usage
The indicator is effective in identifying peaks and valleys in the market data.
It works best in cyclic market conditions and may produce false signals during trending periods.
The dominant cycle measurement helps traders understand the prevailing market cycle length, aiding in better decision-making.
Quoted from the Book
Band-Pass Filters
“A little of the data narrowly passed,” said Tom broadly.
Perhaps the least appreciated and most underutilized filter in technical analysis is the band-pass filter. The band-pass filter simultaneously diminishes the amplitude at low frequencies, qualifying it as a detrender, and diminishes the amplitude at high frequencies, qualifying it as a data smoother.
It passes only those frequency components from input to output in which the trader is interested. The filtering produced by a band-pass filter is superior because the rejection in the stop bands is related to its bandwidth. The degree of rejection of undesired frequency components is called selectivity. The band-stop filter is the dual of the band-pass filter. It rejects a band of frequency components as a notch at the output and passes all other frequency components virtually unattenuated. Since the bandwidth of the deep rejection in the notch is relatively narrow and since the spectrum of market cycles is relatively broad due to systemic noise, the band-stop filter has little application in trading.
Measuring the Cycle Period
The band-pass filter can be used as a relatively simple measurement of the dominant cycle.
A cycle is complete when the waveform crosses zero two times from the last zero crossing. Therefore, each successive zero crossing of the indicator marks a half cycle period. We can establish the dominant cycle period as twice the spacing between successive zero crossings.
When we measure the dominant cycle period this way, it is best to widen the pass band of the band-pass filter to avoid distorting the measurement simply due to the selectivity of the filter. Using an input bandwidth of 0.7 produces an octave-wide pass band. For example, if the center period of the filter is 20 and the relative bandwidth is 0.7, the bandwidth is 14. That means the pass band of the filter extends from 13-bar periods to 27-bar periods.
That is, roughly an octave exists because the longest period is twice the shortest period of the pass band. It is imperative that a high-pass filter is tuned one octave below the half-bandwidth edge of the band-pass filter to ensure a nominal zero mean of the filtered output. Without a zero mean, the zero crossings can have a substantial error.
Since the measurement of the dominant cycle can vary dramatically from zero crossing to zero
crossing, the code limits the change between measurements to be no more than 25 percent.
While measuring the changing dominant cycle period via zero crossings of the band-pass waveform is easy, it is not necessarily the most accurate method.
Best regards,
simwai
Good Luck with your trading! 🙌
TASC 2024.09 Precision Trend Analysis█ OVERVIEW
This script introduces an approach for detecting and confirming trends in price series based on digital signal processing principles, as presented by John Ehlers in the "Precision Trend Analysis" article from the September 2024 edition of TASC's Traders' Tips .
█ CONCEPTS
Traditional trend-following indicators, such as moving averages , are lowpass filters that pass low-frequency components in a series and remove high-frequency components. Because lowpass filters preserve lengthy cycles in the data while attenuating shorter cycles, such filters have unavoidable lag that impacts the timeliness of trading signals.
In his article, John Ehlers presents an alternative approach that combines two highpass filters with different lengths to remove undesired high-frequency content via cancellation . Highpass filters have nearly zero lag. As such, the resulting trend indicator from this approach is very responsive to changes in the price series, with peaks and valleys that closely align with those of the price data. The indicator signifies an uptrend when its value is positive (i.e., above the balance point) and a downtrend when it is negative.
Subsequently, John Ehlers demonstrates that one can use the trend indicator's rate of change (ROC) to determine the onset of new trend movements. The ROC is zero at peaks and valleys in the trend indicator. Therefore, when the ROC crosses above zero, it signifies the onset or continuation of an uptrend. Likewise, the ROC crossing below zero indicates the onset or continuation of a downtrend. Note, however, that because the ROC does not preserve lower-frequency information, it can produce whipsaw trading signals in sideways or continuously trending price series.
This script implements both the trend indicator and its ROC along with the following on-chart signals:
• Green and red arrows that indicate the possible onset or continuation of an uptrend and downtrend, respectively
• Bar and plot colors that signify the sign (direction) of the trend indicator
█ CALCULATIONS
The math behind the trend indicator comes from digital filter design principles. The first step applies a digital highpass filter that attenuates long cycles with periods above the user-specified critical period. The default value is 250 bars, representing roughly one year for instruments such as stocks on the daily timeframe. The next step applies a highpass filter with a shorter period (40 bars by default). The difference between these filters determines the trend indicator, which preserves cyclic components between 40 and 250 bars by default while attenuating and eliminating others. The ROC represents the scaled one-bar difference in the trend indicator.
ICT Balanced Price Range [TradingFinder] BPR | FVG + IFVG🔵 Introduction
The ICT Balanced Price Range (BPR) indicator is a valuable tool that helps traders identify key areas on price charts where a balance between buyers and sellers is established. These zones can serve as critical points for potential price reversals or continuations.
🟣 Bullish Balanced Price Range
A Bullish BPR forms when a buying pressure zone (Bullish FVG) overlaps with a Bullish Inversion FVG. This overlap indicates a high probability of price moving upwards, making it a crucial area for traders to consider.
🟣 Bearish Balanced Price Range
Similarly, a Bearish BPR is created when a selling pressure zone (Bearish FVG) overlaps with a Bearish Inversion FVG. This zone is often seen as a key area where the price is likely to move downward.
🔵 How to Use
🟣 Identifying the Balanced Price Range (BPR)
To identify the Balanced Price Range (BPR), you must first locate two Fair Value Gaps (FVGs) on the price chart. One FVG should be on the sell side, and the other on the buy side. When these two FVGs horizontally oppose each other, the area where they overlap is recognized as the Balanced Price Range (BPR).
This BPR zone is highly sensitive to price movements due to the combination of two FVGs, often leading to strong market reactions. As the price approaches this area, the likelihood of a significant market move increases, making it a prime target for professional traders.
🟣 Bullish Balanced Price Range (Bullish BPR)
To effectively trade using a Bullish BPR, begin by identifying a bullish market structure and searching for bullish Price Delivery Arrays (PD Arrays). Once the market structure shifts to bullish in a lower time frame, locate a Bullish FVG within the Discount Zone that overlaps with a Bearish FVG.
Mark this overlapping zone and wait for the price to test it before executing a buy trade. Alternatively, you can set a Buy Limit order with a stop loss below the recent swing low and target profits based on higher time frame liquidity draws.
🟣 Bearish Balanced Price Range (Bearish BPR)
For bearish trades, start by identifying a bearish market structure and look for bearish PD Arrays. After the market structure shifts to bearish in a lower time frame, identify a Bearish FVG within the Discount Zone that overlaps with a Bullish FVG. Mark this overlapping zone and execute a sell trade when the price tests it.
You can also use a Sell Limit order with a stop loss above the recent swing high and target profits according to higher time frame liquidity draws.
🔵 Settings
🟣 Global Settings
Show All Inversion FVG & IFVG : If disabled, only the most recent FVG & IFVG will be displayed.
FVG & IFVG Validity Period (Bar) : Determines the maximum duration (in number of candles) that the FVG and IFVG remain valid.
Switching Colors Theme Mode : Includes three modes: "Off", "Light", and "Dark". "Light" mode adjusts colors for light mode use, "Dark" mode adjusts colors for dark mode use, and "Off" disables color adjustments.
🟣 Display Settings
Show Bullish BPR : Toggles the display of demand-related boxes.
Show Bearish BPR : Toggles the display of supply-related boxes.
Mitigation Level BPR : Options include "Proximal", "Distal", or "50 % OB" modes, which you can choose based on your needs. The "50 % OB" line is the midpoint between distal and proximal.
Show Bullish IFVG : Toggles the display of demand-related boxes.
Show Bearish IFV G: Toggles the display of supply-related boxes.
Mitigation Level FVG and IFVG : Options include "Proximal", "Distal", or "50 % OB" modes, which you can choose based on your needs. The "50 % OB" line is the midpoint between distal and proximal.
🟣 Logic Settings
FVG Filter : This refines the number of identified FVG areas based on a specified algorithm to focus on higher quality signals and reduce noise.
Types of FVG filters :
Very Aggressive Filter : Adds a condition where, for an upward FVG, the last candle's highest price must exceed the middle candle's highest price, and for a downward FVG, the last candle's lowest price must be lower than the middle candle's lowest price. This minimally filters out FVGs.
Aggressive Filter : Builds on the Very Aggressive mode by ensuring the middle candle is not too small, filtering out more FVGs.
Defensive Filter : Adds criteria regarding the size and structure of the middle candle, requiring it to have a substantial body and specific polarity conditions, filtering out a significant number of FVGs.
Very Defensive Filte r: Further refines filtering by ensuring the first and third candles are not small-bodied doji candles, retaining only the highest quality signals.
🟣 Alert Settings
Alert Inversion FVG Mitigation : Enables alerts for Inversion FVG mitigation.
Message Frequency : Determines the frequency of alerts. Options include 'All' (every function call), 'Once Per Bar' (first call within the bar), and 'Once Per Bar Close' (final script execution of the real-time bar). Default is 'Once per Bar'.
Show Alert Time by Time Zone : Configures the time zone for alert messages. Default is 'UTC'.
Display More Info : Provides additional details in alert messages, including price range, date, hour, and minute. Set to 'Off' to exclude this information.
🔵 Conclusion
The ICT Balanced Price Range is a powerful and reliable tool for identifying key points on price charts. This strategy can be applied across various time frames and serves as a complementary tool alongside other indicators and technical analysis methods.
The most crucial aspect of utilizing this strategy effectively is correctly identifying FVGs and their overlapping areas, which comes with practice and experience.
Inversion Fair Value Gaps [TradingFinder] IFVG ICT Signal| Alert🔵 Introduction
🟣 Inversion Fair Value Gap (IFVG)
An ICT Inversion Fair Value Gap, or reverse FVG, occurs when a fair value gap fails to hold its price, resulting in the price moving beyond and breaking the gap. This situation marks the initial change in price momentum.
Generally, prices respect fair value gaps and continue in their trend direction. However, when a fair value gap is breached, it transforms into an inversion fair value gap, signaling a potential short-term reversal or a subsequent change in direction.
🔵 How to Use
🟣 Identifying an Inversion Fair Value Gap
To spot an IFVG, you must first identify a fair value gap.
Inversion fair value gaps can be categorized into two types :
🟣 Bullish Inversion Fair Value Gap
A bullish IFVG occurs when a bearish fair value gap is invalidated by the price closing above it.
Steps to identify it :
Identify a bearish fair value gap.
When the price closes above this gap, it becomes a bullish inversion fair value gap.
This gap acts as a support level, pushing the price upwards and indicating a shift in momentum from sellers to buyers.
🟣 Bearish Inversion Fair Value Gap
A bearish IFVG happens when a bullish fair value gap fails, with the price closing below it.
Steps to identify it :
Identify a bullish fair value gap.
When the price closes below this gap, it becomes a bearish inversion fair value gap.
This gap acts as a resistance level, pushing the price downwards and indicating a shift in momentum from buyers to sellers.
🔵 Settings
🟣 Global Settings
Show All Inversion FVG: If disabled, only the most recent FVG will be displayed.
IFVG Validity Period (Bar): Determines the maximum duration (in number of candles) that the FVG and IFVG remain valid.Switching Colors Theme Mode: Includes three modes: "Off", "Light", and "Dark". "Light" mode adjusts colors for light mode use, "Dark" mode adjusts colors for dark mode use, and "Off" disables color adjustments.
🟣 Logic Settings
FVG Filter : This refines the number of identified FVG areas based on a specified algorithm to focus on higher quality signals and reduce noise.
Types of FVG filters :
Very Aggressive Filter : Adds a condition where, for an upward FVG, the last candle's highest price must exceed the middle candle's highest price, and for a downward FVG, the last candle's lowest price must be lower than the middle candle's lowest price. This minimally filters out FVGs.
Aggressive Filte r: Builds on the Very Aggressive mode by ensuring the middle candle is not too small, filtering out more FVGs.
Defensive Filter : Adds criteria regarding the size and structure of the middle candle, requiring it to have a substantial body and specific polarity conditions, filtering out a significant number of FVGs.
Very Defensive Filter : Further refines filtering by ensuring the first and third candles are not small-bodied doji candles, retaining only the highest quality signals.
Mitigation Level FVG and IFVG : Options include "Proximal", "Distal", or "50 % OB" modes, which you can choose based on your needs. The "50 % OB" line is the midpoint between distal and proximal.
🟣 Display Settings
Show Bullish IFVG : Toggles the display of demand-related boxes.
Show Bearish IFVG : Toggles the display of supply-related boxes.
🟣 Alert Settings
Alert Inversion FVG Mitigation : Enables alerts for Inversion FVG mitigation.
Message Frequency : Determines the frequency of alerts. Options include 'All' (every function call), 'Once Per Bar' (first call within the bar), and 'Once Per Bar Close' (final script execution of the real-time bar). Default is 'Once per Bar'.
Show Alert Time by Time Zone : Configures the time zone for alert messages. Default is 'UTC'.
Display More Info : Provides additional details in alert messages, including price range, date, hour, and minute. Set to 'Off' to exclude this information.
Order Blocks & Breaker Blocks [TradingFinder] Signals + Alerts🔵 Introduction
Order Block and Breaker Block, are powerful tools in technical analysis. By understanding these concepts, traders can enhance their ability to predict potential price reversals and continuations, leading to more effective trading strategies.
Using historical price action, volume analysis, and candlestick patterns, traders can identify key areas where institutional activities influence market movements.
🟣 Demand Order Block and Supply Breaker Block
Demand Order Block : A Demand Order Block is formed when the price succeeds in breaking the previous high pivot.
Supply Breaker Block : A Supply Breaker Block is formed when the price succeeds in breaking the Demand Order Block. As a result, the Order Block changes its role and turns from the role of price support to resistance.
🟣 Supply Order Block and Demand Breaker Block
Supply Order Block : A Supply Order Block is formed when the price succeeds in breaking the previous low pivot.
Demand Breaker Block : A Demand Breaker Block is formed when the price succeeds in breaking the Supply Order Block. As a result, the Order Block changes its role and turns from the role of price resistance to support.
🔵 How to Use
🟣 Order Blocks (Supply and Demand)
Order blocks are zones where the likelihood of a price reversal is higher. In demand zones, buying opportunities arise, while in supply zones, selling opportunities can be explored.
The "Refinement" feature allows you to adjust the width of the order block to fit your trading strategy. There are two modes in the "Order Block Refine" feature: "Aggressive" and "Defensive." The primary difference between these modes is the width of the order block.
For risk-averse traders, the "Defensive" mode is ideal as it offers a lower loss limit and a higher reward-to-risk ratio.
Conversely, for traders who are willing to take more risks, the "Aggressive" mode is more suitable. This mode, with its wider order block width, caters to those who prefer entering trades at higher prices.
🟣 Breaker Blocks (Supply and Demand)
Trading based on breaker blocks is the same as order blocks and the price in these zones is likely to be reversed.
🔵 Setting
🟣 Global Setting
Pivot Period of Order Blocks Detector : Enter the desired pivot period to identify the Order Block.
Order Block Validity Period (Bar) : You can specify the maximum time the Order Block remains valid based on the number of candles from the origin.
Mitigation Level Order Block : Determining the basic level of a Order Block. When the price hits the basic level, the Order Block due to mitigation.
Mitigation Level Breaker Block : Determining the basic level of a Breaker Block. When the price hits the basic level, the Breaker Block due to mitigation.
Switching Colors Theme Mode : Three modes "Off", "Light" and "Dark" are included in this parameter. "Light" mode is for color adjustment for use in "Light Mode".
"Dark" mode is for color adjustment for use in "Dark Mode" and "Off" mode turns off the color adjustment function and the input color to the function is the same as the output color.
🟣 Order Block Display
Show All Order Block : If it is turned off, only the last Order Block will be displayed.
Demand Main Order Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
Supply Main Order Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
🟣 Breaker Block Display
Show All Breaker Block : If it is turned off, only the last Breaker Block will be displayed.
Demand Main Breaker Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
Supply Main Breaker Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
🟣 Order Block Refinement
Refine Order Blocks : Enable or disable the refinement feature. Mode selection.
🟣 Alert
Alert Name : The name of the alert you receive.
Alert Demand OB Mitigation :
On / Off
Alert Demand BB Mitigation :
On / Off
Alert Supply OB Mitigation :
On / Off
Alert Supply BB Mitigation :
On / Off
Message Frequency :
This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone :
The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
Display More Info :
Displays information about the price range of the order blocks (Zone Price) and the date, hour, and minute under "Display More Info".
If you do not want this information to appear in the received message along with the alert, you should set it to "Off".
ICT Setup 01 [TradingFinder] FVG + Liquidity Sweeps/Hunt Alerts🔵 Introduction
The ICT (Inner Circle Trader) style of trading involves analyzing the behavior of market participants and market makers to identify areas where fake buy and sell activities occur. This trading style helps retail traders align with market maker behavior and avoid falling into market traps.
A key aspect of the ICT strategy is focusing on liquidity hunts. This involves searching for trading opportunities in areas of the market with low liquidity or where other traders have little activity. The ICT method leverages market inefficiencies and weaknesses, allowing traders to profit from small price movements that might go unnoticed by others.
In "ICT Setup 01," our focus is on these liquidity areas and stop hunts that form in Fair Value Gaps (FVGs). Trading within FVGs, combined with confirmations from "Hunts" and "Sweeps," can enhance trader performance.
🔵 How to Use
The presence of Fair Value Gaps (FVGs) in the market indicates rapid, powerful movements likely caused by the influx of smart money. When the price returns to these levels, a market reaction is expected.
Combining this with the complex and deceptive behavior of smart money—such as "Liquidity Sweeps" and "Stop Hunts"—forms an ICT-based price action setup that we expect to perform well.
Components of "ICT Setup 01" :
● Fair Value Gap (FVG)
● Premium and Discount
● Hunts / Sweeps
Whenever the price returns to an FVG area and reacts in such a way that only the wicks of the candles remain in the area and the candle bodies are outside the FVG, the first condition for creating the setup is met.
If subsequent candles hunt the wick that has penetrated the deepest into the FVG, a buy or sell signal is issued. In the format where hunting is based on Sweeps, penetrations that extend even outside the area are considered signals, provided they do not form a body within the area.
Additionally, a refining system exists for cases where a candle body forms in the area, optimizing the proximal levels of the FVG.
Bullish Setup :
Bearish Setup :
🔵 Features and Settings of "ICT Setup 01"
You can Find out more in Setting :
● FVG Detector Multiplier Factor
● FVG Validity Period
● Level in Low-Risk Zone
● Issuing Signals Method
● Number of Signals Allowed from a Zone
● Signal after Hunts/Sweeps
● How Many Hunts/Sweeps
● Show or Hide
● Alert Sender
FVG Detector Multiplier Factor :
This feature allows you to determine the size of the moves forming the FVGs based on the ATR (Average True Range). The default value is 1 to identify the majority of setups. You can increase this value according to the symbol and market you are trading in to achieve better results.
FVG Validity Period :
This shows the validity period of an FVG based on the number of candles. By default, an FVG area is valid for up to 15 candles. However, you can increase or decrease this period.
Level in Low-Risk Zone :
This feature helps reduce your risk. The method works by identifying the entire length of the three candles forming the FVG and dividing it into two equal areas. The upper area is "Premium," and the lower area is "Discount." To reduce risk, it is better for "Demand FVG" to be in the "Discount" and "Supply FVG" in the "Premium." This feature is off by default.
Issuing Signals Method :
This feature allows you to specify whether the hunt should occur only within the FVG area or if the wicks can extend outside the area.
If set to "Hunts," only signals where the wicks are within the area are issued, and the area loses its validity if the wicks extend outside.
In "Sweeps" mode, wicks can extend outside the area as long as they do not form a body within the area.
Number of Signals Allowed from a Zone :
This feature allows you to specify how many valid signals can be issued from one area.
Signal after Hunts/Sweeps :
In markets or symbols with a tendency for frequent stop hunts, this feature allows you to specify how many hunts should occur before you receive a signal to avoid receiving potentially failed signals.
How Many Hunts/Sweeps :
Enter the number of hunts you want to set for the "Signal after Hunts/Sweeps" feature here.
Show or Hide :
The number of setups formed may be very large, and displaying all of them on the chart can be distracting and messy. By default, only the last setup is displayed, but if you want to see all setups, you can turn on the relevant options.
Alert Sender :
You cannot constantly monitor multiple charts to identify trading opportunities. Using the alert sending feature can save time and improve performance.
Alerts Name : Customize the alert name to your preference.
Message Frequency : Determines the frequency of alert messages. Options include 'All' (triggers every time the function is called), 'Once Per Bar' (triggers only on the first call within the bar), and 'Once Per Bar Close' (triggers only on the final script execution of the real-time bar upon closure). The default is 'Once per Bar.'
Show Alert Time by Time Zone : Configure the alert messages to reflect any chosen time zone. For instance, input 'UTC+1' for London time. The default is 'UTC.'
By configuring these settings, traders can effectively utilize ICT setups to improve their trading strategies and outcomes.
TASC 2024.05 Ultimate Channels and Ultimate Bands█ OVERVIEW
This script, inspired by the "Ultimate Channels and Ultimate Bands" article from the May 2024 edition of TASC's Traders' Tips , showcases the application of the UltimateSmoother by John Ehlers as a lag-reduced alternative to moving averages in indicators based on Keltner channels and Bollinger Bands®.
█ CONCEPTS
The UltimateSmoother , developed by John Ehlers, is a digital smoothing filter that provides minimal lag compared to many conventional smoothing filters, e.g., moving averages . Since this filter can provide a viable replacement for moving averages with reduced lag, it can potentially find broader applications in various technical indicators that utilize such averages.
This script explores its use as the smoothing filter in Keltner channels and Bollinger Bands® calculations, which traditionally rely on moving averages. By substituting averages with the UltimateSmoother function, the resulting channels or bands respond more quickly to fluctuations with substantially reduced lag.
Users can customize the script by selecting between the Ultimate channel or Ultimate bands and adjusting their parameters, including lookback lengths and band/channel width multipliers, to fine-tune the results.
█ CALCULATIONS
The calculations the Ultimate channels and Ultimate bands use closely resemble those of their conventional counterparts.
Ultimate channel:
Apply the Ultimate smoother to the `close` time series to establish the basis (center) value.
Calculate the smooth true range (STR) by applying the UltimateSmoother function with a user-specified length instead of a rolling moving average, thus replacing the conventional average true range (ATR). Users can adjust the final STR value using the "Width multiplier" input in the script's settings.
Calculate the upper channel value by adding the multiplied STR to the basis calculated in the first step, and calculate the lower channel value by subtracting the multiplied STR from the basis.
Ultimate bands:
Apply the Ultimate smoother to the `close` time series to establish the basis (center) value.
Calculate the width of the bands by finding the square root of the average of individual squared deviations over the specified length, then multiplying the result by the "Width multiplier" input value.
Calculate the upper band by adding the resulting width to the basis from the first step, and calculate the lower band by subtracting the width from the basis.
GKD-C Voss Predictive Filter [Loxx]The Giga Kaleidoscope GKD-C Voss Predictive Filter is a confirmation module included in Loxx's "Giga Kaleidoscope Modularized Trading System."
█ GKD-C Voss Predictive Filter
Featured in John Ehlers' article from August 2019 issue of Technical Analysis of Stocks & Commodities magazine, the Voss predictive filter could help signal cyclic turning points by minimizing group and phase delays, thus reducing lag.
The Voss Predictive Filter operates through a unique approach that enhances its ability to predict market movements by effectively reducing lag, which is common in many traditional trading indicators. At its core, the filter applies advanced mathematical techniques to smooth market data and identify significant price trends and cycles. This process involves adjusting to the market's cyclic components, enabling the filter to anticipate turning points with greater accuracy.
One of the key aspects of the Voss Predictive Filter is its ability to minimize both group and phase delays. Group delay refers to the lag between an input signal (such as market price data) entering the filter and the corresponding output being produced. Phase delay, on the other hand, relates to the shift in phase of the input signal's frequency components as they pass through the filter. By reducing these delays, the filter can provide more timely signals for entering or exiting trades.
The filter's predictive capacity comes from its sophisticated algorithm, which dynamically adjusts based on the analyzed market data, allowing it to remain sensitive to changes in market conditions. This dynamic adjustment is crucial for maintaining the filter's effectiveness in different market environments and for various financial instruments.
█ Giga Kaleidoscope Modularized Trading System
Core components of an NNFX algorithmic trading strategy
The NNFX algorithm is built on the principles of trend, momentum, and volatility. There are six core components in the NNFX trading algorithm:
1. Volatility - price volatility; e.g., Average True Range, True Range Double, Close-to-Close, etc.
2. Baseline - a moving average to identify price trend
3. Confirmation 1 - a technical indicator used to identify trends
4. Confirmation 2 - a technical indicator used to identify trends
5. Continuation - a technical indicator used to identify trends
6. Volatility/Volume - a technical indicator used to identify volatility/volume breakouts/breakdown
7. Exit - a technical indicator used to determine when a trend is exhausted
8. Metamorphosis - a technical indicator that produces a compound signal from the combination of other GKD indicators*
*(not part of the NNFX algorithm)
What is Volatility in the NNFX trading system?
In the NNFX (No Nonsense Forex) trading system, ATR (Average True Range) is typically used to measure the volatility of an asset. It is used as a part of the system to help determine the appropriate stop loss and take profit levels for a trade. ATR is calculated by taking the average of the true range values over a specified period.
True range is calculated as the maximum of the following values:
-Current high minus the current low
-Absolute value of the current high minus the previous close
-Absolute value of the current low minus the previous close
ATR is a dynamic indicator that changes with changes in volatility. As volatility increases, the value of ATR increases, and as volatility decreases, the value of ATR decreases. By using ATR in NNFX system, traders can adjust their stop loss and take profit levels according to the volatility of the asset being traded. This helps to ensure that the trade is given enough room to move, while also minimizing potential losses.
Other types of volatility include True Range Double (TRD), Close-to-Close, and Garman-Klass
What is a Baseline indicator?
The baseline is essentially a moving average, and is used to determine the overall direction of the market.
The baseline in the NNFX system is used to filter out trades that are not in line with the long-term trend of the market. The baseline is plotted on the chart along with other indicators, such as the Moving Average (MA), the Relative Strength Index (RSI), and the Average True Range (ATR).
Trades are only taken when the price is in the same direction as the baseline. For example, if the baseline is sloping upwards, only long trades are taken, and if the baseline is sloping downwards, only short trades are taken. This approach helps to ensure that trades are in line with the overall trend of the market, and reduces the risk of entering trades that are likely to fail.
By using a baseline in the NNFX system, traders can have a clear reference point for determining the overall trend of the market, and can make more informed trading decisions. The baseline helps to filter out noise and false signals, and ensures that trades are taken in the direction of the long-term trend.
What is a Confirmation indicator?
Confirmation indicators are technical indicators that are used to confirm the signals generated by primary indicators. Primary indicators are the core indicators used in the NNFX system, such as the Average True Range (ATR), the Moving Average (MA), and the Relative Strength Index (RSI).
The purpose of the confirmation indicators is to reduce false signals and improve the accuracy of the trading system. They are designed to confirm the signals generated by the primary indicators by providing additional information about the strength and direction of the trend.
Some examples of confirmation indicators that may be used in the NNFX system include the Bollinger Bands, the MACD (Moving Average Convergence Divergence), and the MACD Oscillator. These indicators can provide information about the volatility, momentum, and trend strength of the market, and can be used to confirm the signals generated by the primary indicators.
In the NNFX system, confirmation indicators are used in combination with primary indicators and other filters to create a trading system that is robust and reliable. By using multiple indicators to confirm trading signals, the system aims to reduce the risk of false signals and improve the overall profitability of the trades.
What is a Continuation indicator?
In the NNFX (No Nonsense Forex) trading system, a continuation indicator is a technical indicator that is used to confirm a current trend and predict that the trend is likely to continue in the same direction. A continuation indicator is typically used in conjunction with other indicators in the system, such as a baseline indicator, to provide a comprehensive trading strategy.
What is a Volatility/Volume indicator?
Volume indicators, such as the On Balance Volume (OBV), the Chaikin Money Flow (CMF), or the Volume Price Trend (VPT), are used to measure the amount of buying and selling activity in a market. They are based on the trading volume of the market, and can provide information about the strength of the trend. In the NNFX system, volume indicators are used to confirm trading signals generated by the Moving Average and the Relative Strength Index. Volatility indicators include Average Direction Index, Waddah Attar, and Volatility Ratio. In the NNFX trading system, volatility is a proxy for volume and vice versa.
By using volume indicators as confirmation tools, the NNFX trading system aims to reduce the risk of false signals and improve the overall profitability of trades. These indicators can provide additional information about the market that is not captured by the primary indicators, and can help traders to make more informed trading decisions. In addition, volume indicators can be used to identify potential changes in market trends and to confirm the strength of price movements.
What is an Exit indicator?
The exit indicator is used in conjunction with other indicators in the system, such as the Moving Average (MA), the Relative Strength Index (RSI), and the Average True Range (ATR), to provide a comprehensive trading strategy.
The exit indicator in the NNFX system can be any technical indicator that is deemed effective at identifying optimal exit points. Examples of exit indicators that are commonly used include the Parabolic SAR, and the Average Directional Index (ADX).
The purpose of the exit indicator is to identify when a trend is likely to reverse or when the market conditions have changed, signaling the need to exit a trade. By using an exit indicator, traders can manage their risk and prevent significant losses.
In the NNFX system, the exit indicator is used in conjunction with a stop loss and a take profit order to maximize profits and minimize losses. The stop loss order is used to limit the amount of loss that can be incurred if the trade goes against the trader, while the take profit order is used to lock in profits when the trade is moving in the trader's favor.
Overall, the use of an exit indicator in the NNFX trading system is an important component of a comprehensive trading strategy. It allows traders to manage their risk effectively and improve the profitability of their trades by exiting at the right time.
What is an Metamorphosis indicator?
The concept of a metamorphosis indicator involves the integration of two or more GKD indicators to generate a compound signal. This is achieved by evaluating the accuracy of each indicator and selecting the signal from the indicator with the highest accuracy. As an illustration, let's consider a scenario where we calculate the accuracy of 10 indicators and choose the signal from the indicator that demonstrates the highest accuracy.
The resulting output from the metamorphosis indicator can then be utilized in a GKD-BT backtest by occupying a slot that aligns with the purpose of the metamorphosis indicator. The slot can be a GKD-B, GKD-C, or GKD-E slot, depending on the specific requirements and objectives of the indicator. This allows for seamless integration and utilization of the compound signal within the GKD-BT framework.
How does Loxx's GKD (Giga Kaleidoscope Modularized Trading System) implement the NNFX algorithm outlined above?
Loxx's GKD v2.0 system has five types of modules (indicators/strategies). These modules are:
1. GKD-BT - Backtesting module (Volatility, Number 1 in the NNFX algorithm)
2. GKD-B - Baseline module (Baseline and Volatility/Volume, Numbers 1 and 2 in the NNFX algorithm)
3. GKD-C - Confirmation 1/2 and Continuation module (Confirmation 1/2 and Continuation, Numbers 3, 4, and 5 in the NNFX algorithm)
4. GKD-V - Volatility/Volume module (Confirmation 1/2, Number 6 in the NNFX algorithm)
5. GKD-E - Exit module (Exit, Number 7 in the NNFX algorithm)
6. GKD-M - Metamorphosis module (Metamorphosis, Number 8 in the NNFX algorithm, but not part of the NNFX algorithm)
(additional module types will added in future releases)
Each module interacts with every module by passing data to A backtest module wherein the various components of the GKD system are combined to create a trading signal.
That is, the Baseline indicator passes its data to Volatility/Volume. The Volatility/Volume indicator passes its values to the Confirmation 1 indicator. The Confirmation 1 indicator passes its values to the Confirmation 2 indicator. The Confirmation 2 indicator passes its values to the Continuation indicator. The Continuation indicator passes its values to the Exit indicator, and finally, the Exit indicator passes its values to the Backtest strategy.
This chaining of indicators requires that each module conform to Loxx's GKD protocol, therefore allowing for the testing of every possible combination of technical indicators that make up the six components of the NNFX algorithm.
What does the application of the GKD trading system look like?
Example trading system:
Backtest: Multi-Ticker CC Backtest
Baseline: Hull Moving Average
Volatility/Volume: Hurst Exponent
Confirmation 1: Advance Trend Pressure as shown on the chart above
Confirmation 2: uf2018
Continuation: Coppock Curve
Exit: Rex Oscillator
Metamorphosis: Baseline Optimizer
Each GKD indicator is denoted with a module identifier of either: GKD-BT, GKD-B, GKD-C, GKD-V, GKD-M, or GKD-E. This allows traders to understand to which module each indicator belongs and where each indicator fits into the GKD system.
█ Giga Kaleidoscope Modularized Trading System Signals
Standard Entry
1. GKD-C Confirmation gives signal
2. Baseline agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Confirmation 2 agrees
6. Volatility/Volume agrees
1-Candle Standard Entry
1a. GKD-C Confirmation gives signal
2a. Baseline agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
Next Candle
1b. Price retraced
2b. Baseline agrees
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Volatility/Volume agrees
Baseline Entry
1. GKD-B Baseline gives signal
2. Confirmation 1 agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Confirmation 2 agrees
6. Volatility/Volume agrees
7. Confirmation 1 signal was less than 'Maximum Allowable PSBC Bars Back' prior
1-Candle Baseline Entry
1a. GKD-B Baseline gives signal
2a. Confirmation 1 agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
5a. Confirmation 1 signal was less than 'Maximum Allowable PSBC Bars Back' prior
Next Candle
1b. Price retraced
2b. Baseline agrees
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Volatility/Volume agrees
Volatility/Volume Entry
1. GKD-V Volatility/Volume gives signal
2. Confirmation 1 agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Confirmation 2 agrees
6. Baseline agrees
7. Confirmation 1 signal was less than 7 candles prior
1-Candle Volatility/Volume Entry
1a. GKD-V Volatility/Volume gives signal
2a. Confirmation 1 agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
5a. Confirmation 1 signal was less than 'Maximum Allowable PSVVC Bars Back' prior
Next Candle
1b. Price retraced
2b. Volatility/Volume agrees
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Baseline agrees
Confirmation 2 Entry
1. GKD-C Confirmation 2 gives signal
2. Confirmation 1 agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Volatility/Volume agrees
6. Baseline agrees
7. Confirmation 1 signal was less than 7 candles prior
1-Candle Confirmation 2 Entry
1a. GKD-C Confirmation 2 gives signal
2a. Confirmation 1 agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
5a. Confirmation 1 signal was less than 'Maximum Allowable PSC2C Bars Back' prior
Next Candle
1b. Price retraced
2b. Confirmation 2 agrees
3b. Confirmation 1 agrees
4b. Volatility/Volume agrees
5b. Baseline agrees
PullBack Entry
1a. GKD-B Baseline gives signal
2a. Confirmation 1 agrees
3a. Price is beyond 1.0x Volatility of Baseline
Next Candle
1b. Price inside Goldie Locks Zone Minimum
2b. Price inside Goldie Locks Zone Maximum
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Volatility/Volume agrees
Continuation Entry
1. Standard Entry, 1-Candle Standard Entry, Baseline Entry, 1-Candle Baseline Entry, Volatility/Volume Entry, 1-Candle Volatility/Volume Entry, Confirmation 2 Entry, 1-Candle Confirmation 2 Entry, or Pullback entry triggered previously
2. Baseline hasn't crossed since entry signal trigger
4. Confirmation 1 agrees
5. Baseline agrees
6. Confirmation 2 agrees
TASC 2024.04 The Ultimate Smoother█ OVERVIEW
This script presents an implementation of the digital smoothing filter introduced by John Ehlers in his article "The Ultimate Smoother" from the April 2024 edition of TASC's Traders' Tips .
█ CONCEPTS
The UltimateSmoother preserves low-frequency swings in the input time series while attenuating high-frequency variations and noise. The defining input parameter of the UltimateSmoother is the critical period , which represents the minimum wavelength (highest frequency) in the filter's pass band. In other words, the filter attenuates or removes the amplitudes of oscillations at shorter periods than the critical period.
According to Ehlers, one primary advantage of the UltimateSmoother is that it maintains zero lag in its pass band and minimal lag in its transition band, distinguishing it from other conventional digital filters (e.g., moving averages ). One can apply this smoother to various input data series, including other indicators.
█ CALCULATIONS
Ehlers derived the UltimateSmoother using inspiration from the design principles he learned from his experience with analog filters , as described in the original publication. On a technical level, the UltimateSmoother's unique response involves subtracting a high-pass response from an all-pass response . At very low frequencies (lengthy periods), where the high-pass filter response has virtually no amplitude, the subtraction yields a frequency and phase response practically equivalent to the input data. At other frequencies, the subtraction achieves filtration through cancellation due to the close similarities in response between the high-pass filter and the input data.
Adaptive Fisher [BackQuant]Adaptive Fisher
What is it at its core:
Custom Kaufman Adaptive Moving Average Smoothed Price Data, Fisher Transformation.
Why did we choose to make an Adaptive Fisher ?
The Adaptive Fisher Transformation Indicator is an advanced technical tool designed to signal potential turning points in market prices by transforming asset price data into a nearly Gaussian normal distribution. This transformation, initially conceptualized by John F. Ehlers, aims to make extreme price behavior, which could indicate potential market reversals, more identifiable. Unlike the standard distribution of asset prices, the Gaussian normal distribution provides a clearer framework for identifying price extremes and trends.
With that being considered there are key things to take into consideration:
As the transformation seeks to normalize price data, it's crucial to remember that asset prices inherently do not follow a normal distribution. Thus, traders should use this tool in conjunction with other analyses to confirm potential trading signals. The effectiveness can vary across different assets and market conditions, underscoring the importance of customization and adaptation to specific trading strategies. As the same for all tools, all must be backtested. Past performance is not a guarantee for future results.
Now for the Key Features
Normalization of Prices: The Adaptive Fisher Transformation normalizes price data, enhancing the visibility of turning points. This normalization is critical for identifying moments when the price movement is statistically significant, thereby aiding in decision-making.
Adaptivity through Kaufman's Adaptive Moving Average (KAMA): Unlike traditional indicators, this version employs KAMA to dynamically adjust to market volatility. By doing so, it smoothens the price data more effectively, providing signals that are more responsive to current market conditions.
Divergence Detection: It includes the capability to detect divergences between the indicator and price movement, a powerful signal of potential trend reversals. Traders can specify the length over which divergences are calculated, allowing for customization based on their trading strategy.
Visual Enhancements: The indicator features color gradients to delineate strength levels and extreme values, improving readability and the quick assessment of market conditions.
Customizable Smoothing Mechanism: To accommodate different assets and timeframes, the indicator includes an option to select from various moving averages for smoothing, with an Exponential Moving Average (EMA) recommended for its effectiveness.
Application and Interpretation:
Traders can utilise this tool to identify potential reversal points by looking for extreme values in the transformed price data. Changes in the direction of the indicator can also signal shifts in market trends.
The inclusion of a normalized Relative Strength Index (RSI) provides additional confluence, aiding traders in recognizing overbought and oversold conditions through color-coded background hues in the chart.
Alert conditions are programmed for various scenarios, including trend shifts, Fisher Transform crossings over the midline, and both regular and hidden divergences, enabling traders to react promptly to potential market movements.
Empirical Soundness
Mathematical Foundation in Gaussian Distribution: At its core, the Fisher Transformation's application to financial markets is based on transforming prices to conform more closely to a Gaussian normal distribution, which is a fundamental concept in statistics. This transformation aims to make the identification of price extremes more reliable. Empirical studies have shown that while raw financial data may not follow a normal distribution, the application of transformations can facilitate the identification of critical turning points in market data (Ehlers, John F., "Cybernetic Analysis for Stocks and Futures", Wiley & Sons, 2004).
Adaptivity through KAMA: The use of Kaufman's Adaptive Moving Average introduces a dynamic element to the indicator, allowing it to adjust to market volatility automatically. This adaptivity is particularly relevant in today's financial markets, where volatility patterns can shift rapidly due to economic news, geopolitical events, and changes in market sentiment. The empirical strength of KAMA lies in its foundational logic, designed to account for market noise and smoothing price data more effectively than traditional moving averages (Kaufman, Perry J., "Trading Systems and Methods", Wiley & Sons, 2013).
Innovative Divergence Detection Mechanism: Divergence detection adds an empirical layer to the Adaptive Fisher Transformation by highlighting discrepancies between price action and the indicator's performance. This feature is grounded in the principle that divergences can often precede reversals, providing early warning signs of potential shifts in market direction. The ability to customize the calculation length for divergences enables the indicator to be fine-tuned to the characteristics of specific assets or market conditions, enhancing its practical application.
User Inputs Explained:
Calculation Source (price): This input determines the base price used for calculations, typically the closing price (close). Traders can adjust this to open, high, low, or another average, tailoring the indicator to focus on specific aspects of price action.
Fisher Lookback (ftPeriod): Defines the period over which the Fisher Transform is calculated. A shorter period makes the indicator more sensitive to price movements, while a longer period smoothens the output, reducing sensitivity.
Make Fisher Adaptive (adapt): A boolean input that enables the adaptation feature of the Fisher Transform using KAMA. When set to true, it dynamically adjusts the Fisher Transform according to market volatility, enhancing its responsiveness to recent price changes.
Adaptive Period (length), Fast Length (fast), Slow Length (slow): These inputs configure the KAMA calculation, affecting its sensitivity to price movements. The length determines the lookback period for volatility calculation, while fast and slow set the speed of adjustment to market conditions.
Smooth Fisher (smooth): Allows for additional smoothing of the Fisher Transform output to reduce noise. This is particularly useful in highly volatile markets or when the indicator is too reactive to price changes.
Smoothing Type (modeSwitch) and Smooth Period (smoothlen): Determine the method and period for smoothing. Options include various moving averages (EMA, SMA, etc.), providing flexibility in how the smoothing is applied.
Show Fisher, Show Fisher Moving Average, Moving Average Period (malen): These inputs control the visibility of the Fisher Transform and its moving average on the chart, as well as the period of the moving average. This helps in identifying trends and the direction of the market.
Show Detected Trend Shifts (trendshift): Enables the highlighting of moments when the indicator suggests a potential shift in market trend, providing early signals for traders.
Show Fisher Strength levels (showextreme): Displays predefined levels indicating extreme values of the Fisher Transform, which could suggest overbought or oversold conditions.
Show Confluence RSI (showrsi), RSI Period (rsiPeriod): These inputs add a normalized Relative Strength Index to the chart for additional analysis, offering a secondary measure of market conditions.
Show Overbought and Oversold Signals: When enabled, the background color changes to highlight overbought or oversold conditions based on the RSI, aiding in visual identification of potential trading opportunities.
Use Case of Midline Crossover Fisher:
Midline Crossover Fisher: The Fisher Transform's midline crossover is a critical signal for traders. A crossover above the midline indicates a bullish market sentiment, suggesting that it might be a good time to consider entering a long position. Conversely, a crossover below the midline suggests bearish sentiment, potentially signaling an opportunity to go short. This is based on the principle that the Fisher Transform makes turning points more evident, and crossing the midline reflects a change in momentum.
Overbought and Oversold Hues:
RSI Overbought and Oversold Background Color: The background color feature for RSI OB (overbought) and OS (oversold) conditions enhances visual cues for market extremes. When the RSI exceeds upper thresholds (Above 70), indicating overbought conditions, the background will turn to warn traders of potential price reversals. Similarly, when the RSI falls below lower thresholds (Below 30), suggesting oversold conditions, green can highlight potential opportunities for buying.
Thus following all of the key points here are some sample backtests on the 1D Chart
Disclaimer: Backtests are based off past results, and are not indicative of the future.
This is using the Midline Crossover:
INDEX:BTCUSD
INDEX:ETHUSD
BINANCE:SOLUSD
Leading T3Hello Fellas,
Here, I applied a special technique of John F. Ehlers to make lagging indicators leading. The T3 itself is usually not realling the classic lagging indicator, so it is not really needed, but I still publish this indicator to demonstrate this technique of Ehlers applied on a simple indicator.
The indicator does not repaint.
In the following picture you can see a comparison of normal T3 (purple) compared to a 2-bar "leading" T3 (gradient):
The range of the gradient is:
Bottom Value: the lowest slope of the last 100 bars -> green
Top Value: the highest slope of the last 100 bars -> purple
Ehlers Special Technique
John Ehlers did develop methods to make lagging indicators leading or predictive. One of these methods is the Predictive Moving Average, which he introduced in his book “Rocket Science for Traders”. The concept is to take a difference of a lagging line from the original function to produce a leading function.
The idea is to extend this concept to moving averages. If you take a 7-bar Weighted Moving Average (WMA) of prices, that average lags the prices by 2 bars. If you take a 7-bar WMA of the first average, this second average is delayed another 2 bars. If you take the difference between the two averages and add that difference to the first average, the result should be a smoothed line of the original price function with no lag.
T3
To compute the T3 moving average, it involves a triple smoothing process using exponential moving averages. Here's how it works:
Calculate the first exponential moving average (EMA1) of the price data over a specific period 'n.'
Calculate the second exponential moving average (EMA2) of EMA1 using the same period 'n.'
Calculate the third exponential moving average (EMA3) of EMA2 using the same period 'n.'
The formula for the T3 moving average is as follows:
T3 = 3 * (EMA1) - 3 * (EMA2) + (EMA3)
By applying this triple smoothing process, the T3 moving average is intended to offer reduced noise and improved responsiveness to price trends. It achieves this by incorporating multiple time frames of the exponential moving averages, resulting in a more accurate representation of the underlying price action.
Thanks for checking this out and give a boost, if you enjoyed the content.
Best regards,
simwai
---
Credits to @loxx
Adaptive Fisherized Z-scoreHello Fellas,
It's time for a new adaptive fisherized indicator of me, where I apply adaptive length and more on a classic indicator.
Today, I chose the Z-score, also called standard score, as indicator of interest.
Special Features
Advanced Smoothing: JMA, T3, Hann Window and Super Smoother
Adaptive Length Algorithms: In-Phase Quadrature, Homodyne Discriminator, Median and Hilbert Transform
Inverse Fisher Transform (IFT)
Signals: Enter Long, Enter Short, Exit Long and Exit Short
Bar Coloring: Presents the trade state as bar colors
Band Levels: Changes the band levels
Decision Making
When you create such a mod you need to think about which concepts are the best to conclude. I decided to take Inverse Fisher Transform instead of normalization to make a version which fits to a fixed scale to avoid the usual distortion created by normalization.
Moreover, I chose JMA, T3, Hann Window and Super Smoother, because JMA and T3 are the bleeding-edge MA's at the moment with the best balance of lag and responsiveness. Additionally, I chose Hann Window and Super Smoother because of their extraordinary smoothing capabilities and because Ehlers favours them.
Furthermore, I decided to choose the half length of the dominant cycle instead of the full dominant cycle to make the indicator more responsive which is very important for a signal emitter like Z-score. Signal emitters always need to be faster or have the same speed as the filters they are combined with.
Usage
The Z-score is a low timeframe scalper which works best during choppy/ranging phases. The direction you should trade is determined by the last trend change. E.g. when the last trend change was from bearish market to bullish market and you are now in a choppy/ranging phase confirmed by e.g. Chop Zone or KAMA slope you want to do long trades.
Interpretation
The Z-score indicator is a momentum indicator which shows the number of standard deviations by which the value of a raw score (price/source) is above or below the mean value of what is being observed or measured. Easily explained, it is almost the same as Bollinger Bands with another visual representation form.
Signals
B -> Buy -> Z-score crosses above lower band
S -> Short -> Z-score crosses below upper band
BE -> Buy Exit -> Z-score crosses above 0
SE -> Sell Exit -> Z-score crosses below 0
If you were reading till here, thank you already. Now, follows a bunch of knowledge for people who don't know the concepts I talk about.
T3
The T3 moving average, short for "Tim Tillson's Triple Exponential Moving Average," is a technical indicator used in financial markets and technical analysis to smooth out price data over a specific period. It was developed by Tim Tillson, a software project manager at Hewlett-Packard, with expertise in Mathematics and Computer Science.
The T3 moving average is an enhancement of the traditional Exponential Moving Average (EMA) and aims to overcome some of its limitations. The primary goal of the T3 moving average is to provide a smoother representation of price trends while minimizing lag compared to other moving averages like Simple Moving Average (SMA), Weighted Moving Average (WMA), or EMA.
To compute the T3 moving average, it involves a triple smoothing process using exponential moving averages. Here's how it works:
Calculate the first exponential moving average (EMA1) of the price data over a specific period 'n.'
Calculate the second exponential moving average (EMA2) of EMA1 using the same period 'n.'
Calculate the third exponential moving average (EMA3) of EMA2 using the same period 'n.'
The formula for the T3 moving average is as follows:
T3 = 3 * (EMA1) - 3 * (EMA2) + (EMA3)
By applying this triple smoothing process, the T3 moving average is intended to offer reduced noise and improved responsiveness to price trends. It achieves this by incorporating multiple time frames of the exponential moving averages, resulting in a more accurate representation of the underlying price action.
JMA
The Jurik Moving Average (JMA) is a technical indicator used in trading to predict price direction. Developed by Mark Jurik, it’s a type of weighted moving average that gives more weight to recent market data rather than past historical data.
JMA is known for its superior noise elimination. It’s a causal, nonlinear, and adaptive filter, meaning it responds to changes in price action without introducing unnecessary lag. This makes JMA a world-class moving average that tracks and smooths price charts or any market-related time series with surprising agility.
In comparison to other moving averages, such as the Exponential Moving Average (EMA), JMA is known to track fast price movement more accurately. This allows traders to apply their strategies to a more accurate picture of price action.
Inverse Fisher Transform
The Inverse Fisher Transform is a transform used in DSP to alter the Probability Distribution Function (PDF) of a signal or in our case of indicators.
The result of using the Inverse Fisher Transform is that the output has a very high probability of being either +1 or –1. This bipolar probability distribution makes the Inverse Fisher Transform ideal for generating an indicator that provides clear buy and sell signals.
Hann Window
The Hann function (aka Hann Window) is named after the Austrian meteorologist Julius von Hann. It is a window function used to perform Hann smoothing.
Super Smoother
The Super Smoother uses a special mathematical process for the smoothing of data points.
The Super Smoother is a technical analysis indicator designed to be smoother and with less lag than a traditional moving average.
Adaptive Length
Length based on the dominant cycle length measured by a "dominant cycle measurement" algorithm.
Happy Trading!
Best regards,
simwai
---
Credits to
@cheatcountry
@everget
@loxx
@DasanC
@blackcat1402
Goertzel Adaptive JMA T3Hello Fellas,
The Goertzel Adaptive JMA T3 is a powerful indicator that combines my own created Goertzel adaptive length with Jurik and T3 Moving Averages. The primary intention of the indicator is to demonstrate the new adaptive length algorithm by applying it on bleeding-edge MAs.
It is useable like any moving average, and the new Goertzel adaptive length algorithm can be used to make own indicators Goertzel adaptive.
Used Adaptive Length Algorithms
Normalized Goertzel Power: This uses the normalized power of the Goertzel algorithm to compute an adaptive length without the special operations, like detrending, Ehlers uses for his DFT adaptive length.
Ehlers Mod: This uses the Goertzel algorithm instead of the DFT, originally used by Ehlers, to compute a modified version of his original approach, which sticks as close as possible to the original approach.
Scoring System
The scoring system determines if bars are red or green and collects them.
Then, it goes through all collected red and green bars and checks how big they are and if they are above or below the selected MA. It is positive when green bars are under MA or when red bars are above MA.
Then, it accumulates the size for all positive green bars and for all positive red bars. The same happens for negative green and red bars.
Finally, it calculates the score by ((positiveGreenBars + positiveRedBars) / (negativeGreenBars + negativeRedBars)) * 100 with the scale 0–100.
Signals
Is the price above MA? -> bullish market
Is the price below MA? -> bearish market
Usage
Adjust the settings to reach the highest score, and enjoy an outstanding adaptive MA.
It should be useable on all timeframes. It is recommended to use the indicator on the timeframe where you can get the highest score.
Now, follows a bunch of knowledge for people who don't know about the concepts used here.
T3
The T3 moving average, short for "Tim Tillson's Triple Exponential Moving Average," is a technical indicator used in financial markets and technical analysis to smooth out price data over a specific period. It was developed by Tim Tillson, a software project manager at Hewlett-Packard, with expertise in Mathematics and Computer Science.
The T3 moving average is an enhancement of the traditional Exponential Moving Average (EMA) and aims to overcome some of its limitations. The primary goal of the T3 moving average is to provide a smoother representation of price trends while minimizing lag compared to other moving averages like Simple Moving Average (SMA), Weighted Moving Average (WMA), or EMA.
To compute the T3 moving average, it involves a triple smoothing process using exponential moving averages. Here's how it works:
Calculate the first exponential moving average (EMA1) of the price data over a specific period 'n.'
Calculate the second exponential moving average (EMA2) of EMA1 using the same period 'n.'
Calculate the third exponential moving average (EMA3) of EMA2 using the same period 'n.'
The formula for the T3 moving average is as follows:
T3 = 3 * (EMA1) - 3 * (EMA2) + (EMA3)
By applying this triple smoothing process, the T3 moving average is intended to offer reduced noise and improved responsiveness to price trends. It achieves this by incorporating multiple time frames of the exponential moving averages, resulting in a more accurate representation of the underlying price action.
JMA
The Jurik Moving Average (JMA) is a technical indicator used in trading to predict price direction. Developed by Mark Jurik, it’s a type of weighted moving average that gives more weight to recent market data rather than past historical data.
JMA is known for its superior noise elimination. It’s a causal, nonlinear, and adaptive filter, meaning it responds to changes in price action without introducing unnecessary lag. This makes JMA a world-class moving average that tracks and smooths price charts or any market-related time series with surprising agility.
In comparison to other moving averages, such as the Exponential Moving Average (EMA), JMA is known to track fast price movement more accurately. This allows traders to apply their strategies to a more accurate picture of price action.
Goertzel Algorithm
The Goertzel algorithm is a technique in digital signal processing (DSP) for efficient evaluation of individual terms of the Discrete Fourier Transform (DFT). It's particularly useful when you need to compute a small number of selected frequency components. Unlike direct DFT calculations, the Goertzel algorithm applies a single real-valued coefficient at each iteration, using real-valued arithmetic for real-valued input sequences. This makes it more numerically efficient when computing a small number of selected frequency components¹.
Discrete Fourier Transform
The Discrete Fourier Transform (DFT) is a mathematical technique used in signal processing to convert a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a complex-valued function of frequency . The DFT provides a frequency domain representation of the original input sequence .
Usage of DFT/Goertzel In Adaptive Length Algorithms
Adaptive length algorithms are automated trading systems that can dynamically adjust their parameters in response to real-time market data. This adaptability enables them to optimize their trading strategies as market conditions fluctuate. Both the Goertzel algorithm and DFT can be used in these algorithms to analyze market data and detect cycles or patterns, which can then be used to adjust the parameters of the trading strategy.
The Goertzel algorithm is more efficient than the DFT when you need to compute a small number of selected frequency components. However, for covering a full spectrum, the Goertzel algorithm has a higher order of complexity than fast Fourier transform (FFT) algorithms.
I hope this can help you somehow.
Thanks for reading, and keep it up.
Best regards,
simwai
---
Credits to:
@ClassicScott
@yatrader2
@cheatcountry
@loxx
FVG Detector [TradingFinder] Fair Value Gap-Imbalance-Mitigated🔵 Introduction
When the market makes a strong move in the form of a "Marubozu" or "Spike" candlestick and consecutive candles move without a retracement, the maximum place where a "FVG" or "Fair Value Gap" is created.
🔵 Definition
To describe this precisely, whenever a move occurs where the current candle does not cover the body of the previous and subsequent candles, a fair value gap is created.
Important : The significant point is that, because there is no equilibrium between buyers and sellers in these conditions, and market power is in the hands of buyers or sellers, the market is likely to move towards these areas.
An example of "FVG" in a price increase where we expect buying on the return to it.
An example of "FVG" in a downward trend where the market will move towards it in a downward direction.
🔵 How to Use
🟣 Bearish FVG
In a downward trend, "orange boxes" are drawn, which are the same and can act as "support" zones along the downward path, and we expect the price to continue its downward trend on return.
🟣 Bullish FVG
In an upward trend, "green boxes" are drawn, which are . They act exactly like support in the upward path, and we expect the price to continue its upward trend on return.
🟣 Auxiliary Definitions
Imbalance : As mentioned above, market power is in the hands of one of the two sides, buyers or sellers, and a non-equilibrium zone is created. It may be completed in whole or in part in subsequent price movements.
Mitigated : If the price returns to the "FVG" area and fills it, we call it "Mitigated," and most "pending" or "profit and loss limits" positions are executed. We will not have a specific reaction on the return of the price.
🔵 Settings
Very Aggressive : In addition to the initial condition, another condition is added. For an upward FVG, the maximum price of the last candle should be larger than the middle candle's maximum price. Similarly, for a downward FVG, the minimum price of the last candle should be smaller than the middle candle's minimum price. In this mode, a very small number of FVGs are eliminated.
Aggressive : In addition to the conditions of the Very Aggressive mode, in this mode, the size of the middle candle should not be small. In this mode, a larger number of FVGs are eliminated.
Defensive : In addition to the conditions of the Very Aggressive mode, in this mode, the size of the middle candle should be relatively large, and the majority of it should be made up of the body. Additionally, to identify upward FVGs, the second and third candles must be positive, and to identify downward FVGs, the second and third candles must be negative. In this mode, a large number of FVGs are eliminated, leaving only those with suitable quality.
Very Defensive : In addition to the conditions of the Defensive mode, the first and third candles should not be very small-bodied doji candles. In this mode, the majority of FVGs are filtered out, leaving only the highest quality ones.
🔵 Features
Show Demand FVG : Displays demand-related boxes, which can be "off" and "on."
Show Supply FVG : Displays supply-related boxes along the path, and can be turned "off" and "on."
🔵 Indicator Advantages
In this indicator, I have implemented 4 types of "filters" that allow you to select one based on the trading symbol, timeframe, etc. From "Very Aggressive" to "Very Defensive" mode, it is possible to select.
In most indicators, all FVGs are displayed, and the chart becomes full of lines. But this unique feature allows the trader to manage the drawing of boxes.
Rocket RSI from John EhlersWhat is Rocket RSI
Welles Wilder's original description of the relative strength index (RSI) in his 1978 New Concepts In Technical Trading Systems specified a calculation period of 14 days. This requirement led him on a 40-year quest to find the right length of data for calculating indicators and trading strategy rules. Many technicians touched on RSI and explained its applications. In this study we will obtain a more flexible and easier to interpret formulation (of the indicator). We will also estimate the algorithm to properly handle a statistical approach to technical analysis. Start with RSI Here is the original definition of the RSI indicator:
RSI = 100 - 100 / (1 + RS)
RS = Average gain from downtime over the specified time period / Average loss from downtime over the specified time period My first observation is that the factor of 100 is insignificant. Second, there is no need for averages because we take the ratio of closes (CU) to closes (CD) and if we accumulate the wins and losses independently, the averages emerge. Therefore We will only accumulate CU and CD. He can then write the RSI equation as:
RSI = 1 – 1 / (1 + CU / CD)
If he use a little algebra to put everything on a common denominator on the right side of the equation, the indicator equation becomes:
RSI = CU / (CU + CD)
In this formulation, if CU accumulation is zero, the RSI value is zero, and if CD accumulation is zero, the RSI value is 1. If you reduce the price action to its primitive level as a sine wave, it is easy to see that this RSI only has CU going from valley to peak and only CD going from peak to valley. This RSI follows the shape of the sine wave between these two limits. However, the sine wave oscillates between -1 and +1, not between 0 and +1. If we multiply the above equation by 2 and then subtract 1, we can make the RSI have the same swing limits as the sine wave. the product is as follows:
RSI = 2*CU / (CU + CD) – 1
Again, using a little algebra to put the right-hand side of the equation on a common denominator, the equation develops like this:
MyRSI = (CU – CD) / (CU + CD)
Again, the vertical scale of the RocketRSI indicator is in standard deviations. For example, -2 means it is two standard deviations below the mean. Since exceeding two standard deviations in the Gaussian probability distribution occurs in only 2.4% of the results
Because we are using the momentum of the dominant cycle period, the spike where the indicator falls below -2 provides a surgically precise timing signal to enter a long position. Similarly, exceeding the +2 standard deviation level is a timing signal to exit a long position or return to a short position. Therefore using the RocketRSI indicator is relatively intuitive. The only concern is whether a dominant cycle is present in the data, setting the indicator to half the dominant cycle period, and whether smoothing causes lag.
DETERMINING CYCLICAL TURNING POINTS
When you insert the chart you see an example of what the RocketRSI indicator looks like. Here you see that RocketRSI precisely displays cyclical turning points as statistical events. Cator can be applied. I used RS Length 10 because according to Ehlers, stocks and stock indexes usually have a more or less monthly cycle (about 20 bars). A cursory examination of Figure 2 shows that negative increases in the indicator correspond to excellent buying opportunities, while positive increases correspond to excellent selling opportunities. Exceeding +/- 2 on the indicator scale indicates that a cyclical reversal is a high probability event.
Order Blocks Finder [TradingFinder] Major OB | Supply and Demand🔵 Introduction
Drawing all order blocks on the path, especially in range-bound or channeling markets, fills the chart with lines, making it confusing rather than providing the trader with the best entry and exit points.
🔵 Reason for Indicator Creation
For traders familiar with market structure and only need to know the main accumulation points (best entry or exit points), and primary order blocks that act as strong sources of power.
🟣 Important Note
All order blocks, both ascending and descending, are identified and displayed on the chart when the structure of "BOS" or "CHOCH" is broken, which can also be identified with "MSS."
🔵 How to Use
When the indicator is installed, it plots all order blocks (active order blocks) and continues until the price reaches them. This continuation happens in boxes to have a better view in the TradingView chart.
Green Range : Ascending order blocks where we expect a price increase in these areas.
Red Range : Descending order blocks where we expect a price decrease in these areas.
🔵 Settings
Order block refine setting : When Order block refine is off, the supply and demand zones are the entire length of the order block (Low to High) in their standard state and cannot be improved. If you turn on Order block refine, supply and demand zones will improve using the error correction algorithm.
Refine type setting : Improving order blocks using the error correction algorithm can be done in two ways: Defensive and Aggressive. In the Aggressive method, the largest possible range is considered for order blocks.
🟣 Important
The main advantage of the Aggressive method is minimizing the loss of stops, but due to the widening of the supply or demand zone, the reward-to-risk ratio decreases significantly. The Aggressive method is suitable for individuals who take high-risk trades.
In the Defensive method, the range of order blocks is minimized to their standard state. In this case, fewer stops are triggered, and the reward-to-risk ratio is maximized in its optimal state. It is recommended for individuals who trade with low risk.
Show high level setting : If you want to display major high levels, set show high level to Yes.
Show low level setting : If you want to display major low levels, set show low level to Yes.
🔵 How to Use
The general view of this indicator is as follows.
When the price approaches the range, wait for the price reaction to confirm it, such as a pin bar or divergence.
If the price passes with a strong candle (spike), especially after a long-range or at the beginning of sessions, a powerful event is happening, and it is outside the credibility level.
An Example of a Valid Zone
An Example of Breakout and Invalid Zone. (My suggestion is not to use pending orders, especially when the market is highly volatile or before and after news.)
After reaching this zone, expect the price to move by at least the minimum candle that confirmed it or a price ceiling or floor.
🟣 Important : These factors can be more accurately measured with other trend finder indicators provided.
🔵 Auxiliary Tools
There is much talk about not using trend lines, candlesticks, Fibonacci, etc., in the web space. However, our suggestion is to create and use tools that can help you profit from this market.
• Fibonacci Retracement
• Trading Sessions
• Candlesticks
🔵 Advantages
• Plotting main OBs without additional lines;
• Suitable for timeframes M1, M5, M15, H1, and H4;
• Effective in Tokyo, Sydney, and London sessions;
• Plotting the main ceiling and floor to help identify the trend.
Rotation Cycles GraphRotation Cycles Graph Indicator
Overview:
The Rotation Cycles Graph Indicator is designed to visualize rotation cycles in financial markets. It aims to provide insights into shifts between various market phases, including growth, weakening, recovery, and contraction, allowing traders to potentially identify changing market dynamics.
Key Components:
Z-Score Calculation:
The indicator employs Z-score calculation to normalize data and identify deviations from the mean. This is instrumental in understanding the current state of the market relative to its historical behavior.
Ehlers Loop Visualization:
The Ehlers Loop function generates a visual representation of rotation cycles. It utilizes x and y coordinates on the chart to represent market conditions. These coordinates determine the position and categorization of the market state.
Table Visualization:
At the bottom of the chart, a table categorizes market conditions based on x and y values. This table serves as a reference to understand the current market phase.
Customizable Parameters:
The indicator offers users the flexibility to adjust several parameters:
Length and Smoothness: Users can set the length and smoothness parameters for the Z-score calculation, allowing for customization based on the market's volatility.
Graph Settings: Parameters such as bar scale, graph position, and the length of the tail for visualization can be fine-tuned to suit individual preferences.
Understanding Coordinates:
The x and y coordinates plotted on the chart represent specific market conditions. Interpretation of these coordinates aids in recognizing shifts in market behavior.
This screenshot shows visual representation behind logic of X and Y and their rotation cycles
Here is an example how rotation marker moved from growing to weakening and to the contraction quad, during a big market crush:
Note:
This indicator is a visualization tool and should be used in conjunction with other analytical methods for comprehensive market analysis.
Understanding the context and nuances of market dynamics is essential for accurate interpretation of the Rotation Cycles Graph Indicator.
Big thanks to @PineCodersTASC for their indicator, what I used as a reference