Neowave chart cash dataScript Cash is a neo-analytic style data. Add to use on the chart and then hide the candlesticks and enjoy the cash data.
The daily data cache is set normally. To change the settings, be sure to change the D indicator to W for weekly and M for monthly.
Also enter the number of minutes to use in the hourly time frame, for example four hours (240)
...
When you change the data cache settings in the settings, you must follow the rule of one fortieth of the Neowave style and move the time frame chart to forty to analyze it, for example, for a daily time frame go to 30 minutes.
I hope it is used.
Cari dalam skrip untuk "wave"
Max Trend Master Pro + Energy MA [SYNC & TRADE]Max Trend Master Pro + Energy MA: Revolutionary Trend Indicator
Max Trend Master Pro + Energy MA is a breakthrough indicator for TradingView, representing a **new wave** in market analysis: integrating physical laws (conservation of energy for kinetic and potential price dynamics) with AI elements like Markov chains for trend prediction and K-Means clustering for volatility regimes. This isn't just a tool—it's a **new perspective** on trading, where price is viewed as an energy system, and adaptive EMAs "stick" to extremes in real-time, forecasting shifts with probabilistic accuracy. No one else offers this: physics meets machine learning to uncover hidden energies, divergences, and breakouts before they manifest.
**What makes it a new wave?**
In an era where standard indicators (like simple EMAs or RSI) lag behind the market, Max Trend Master introduces an **energy approach**: price isn't random fluctuations, but a balance of kinetic energy (momentum from volume and speed) and potential (accumulated "height" from baseline). This wave is inspired by physics but tailored for trading: the indicator calculates "mass" (volume delta), "speed" (price change), and "height" (deviation from SMA), creating Energy MAs that react to real market forces. Add Markov chains—probabilistic AI for forecasting states (from strong bull to bear) based on historical transitions—and K-Means, which online-learns to classify the market (CALM, NORMAL, VOLATILE, EXTREME). This is the wave of "smart" trading: not reacting to the past, but anticipating the future with 35%+ accuracy boost in backtests on BTC/USD compared to classics.
**New perspective on analysis:**
Traditional indicators focus on price/volume, ignoring "energy"—the hidden momentum leading to reversals. Here, the perspective is broader: the market as a physical system where energy is conserved but transforms (KE to PE and vice versa). Adaptive EMAs aren't fixed—they "stick" to highs/lows, auto-selecting periods to touch extremes, with adaptation speed for volatility. Markov adds a predictive analytics perspective: transition matrix forecasts with confidence thresholds (e.g., 80% for growth). K-Means—a regime perspective: dynamic clustering by volatility, volume, and energy to adapt strategies (scalp in VOLATILE, swing in CALM). Integration with ADX, SuperTrend, and energy divergences yields a composite signal—from -1 (short) to +1 (long), smoothed for reliability.
**Unique features no one else has:**
- **Sticking adaptive EMAs:** Dynamically cling to extremes, minimizing lag—ideal for crypto/forex.
- **Markov chains:** AI trend prediction with probabilities (↗ 85%), alerts for strong shifts.
- **K-Means clustering:** Online learning for market regimes, optimizing for volatility.
- **Energy components:** Visualization of KE/PE, divergences (diamonds for reversals), breakouts (cross for momentum).
- **Info panel:** Emojis for trend (🟢 LONG), speed (⚡ FAST), energy (🔋), Markov, and regime—instant overview.
Visuals: Colored trend backgrounds, signal arrows, SuperTrend lines for stops. Alerts: on entries, divergences, regime changes, Markov predictions.
**Why does it dominate?** Physics + AI = edge in trends. Add it now and see the market in a new way! 🚀
PFA Regime & Structure EnginePFA बाज़ार दर्शन™ is a proprietary market regime and structure indicator designed to provide traders with a comprehensive view of market dynamics. Unlike traditional indicators that focus solely on price direction, this tool evaluates both momentum and structural context to determine the underlying market condition.
It calculates a Regime Score (0–100) by combining momentum energy from MACD pivots, fast and slow structural pivots, and market stress factors. Based on this score, the market is classified into actionable regimes such as Trend Dominant, Selective Phase, or Capital Protection.
The indicator features a live dashboard showing the current regime and score, along with visual structural zones directly on the chart. It acts as an early-warning system for potential market transitions, helping traders manage risk, identify high-probability trend phases, and make informed position-sizing decisions.
Disclaimer: PFA बाज़ार दर्शन™ is for analytical and educational purposes only. It does not provide buy/sell signals or guarantee future performance. Users should combine it with their own trading strategy, risk management, and confirmation tools.
CoreHedge : Pivots(Main) + Manual RR Monitor
You can fInd Mainly Target Point of Support and Resistance
1. Finding Tipping Point
2. Strategy Build
3. RR Caculator
Auto Harmonic PatternThis advanced harmonic pattern recognition system represents the pinnacle of algorithmic pattern detection, utilizing precision-engineered Fibonacci validation algorithms with institutional-grade accuracy 📊✨. Built with sophisticated multi-layered filtering logic, it automatically identifies and validates high-probability reversal structures in real-time across all market conditions and timeframes 🎯.
🔥 Complete Pattern Detection Arsenal
This is the ONLY TradingView harmonic indicator that integrates all 16 major harmonic patterns with mathematically validated Fibonacci ratios:
🦇 Gartley Pattern
🦇 Bat Pattern
🦋 Butterfly Pattern
🦀 Crab Pattern
🎨 Leonardo Pattern
🦀 Deep Crab Pattern
🦈 Shark Pattern
🔐 Cypher Pattern
🕊️ White Swan Pattern
🔁 Three Drives Pattern
🔄 AB=CD Pattern
🌊 Wolfe Waves Pattern
5️⃣-0️⃣ Pattern
⭐ Nen Star Pattern
🦢 Black Swan Pattern
⚔️ Anti-Gartley Pattern
💎 Professional-Grade Features
The indicator employs real-time pattern validation with strict ratio tolerance controls ⚡, customizable visual alerts for pattern completion 🔔, automated multiple take-profit target plotting with precision Fibonacci extensions 💰, and integrated volume analysis for trade confirmation 📊. Each detected pattern includes three clearly marked TP levels to maximize your profit potential while maintaining optimal risk management.
✅ Want access to this indicator? Simply boost this indicator 🚀 and you'll receive immediate access to the most comprehensive and accurate harmonic pattern detection tool available on TradingView! 💪📈
CS Trendline ProTitle: CS Trendline Pro
Description:
CS Trendline Pro is a comprehensive scalping and day-trading system designed to filter out noise and identify high-probability breakout setups. It combines the structural precision of Fractal Trendlines with a robust Dual-EMA Filter, visualized through an intuitive "Traffic Light" color system.
This tool is specifically engineered for traders who want to trade Trendline Breakouts but need a safety mechanism to avoid false signals (fakeouts) and counter-trend traps.
🚦 How the "Traffic Light" Logic Works
The core feature of this script is the dynamic coloring of the candles, which acts as a visual filter for your entries:
🟢 GREEN Zone (Safe Buy):
Condition: A Bullish Trendline Breakout has occurred AND the price is holding ABOVE the EMA 30 (Yellow Line).
Meaning: Momentum is bullish, and you are in a safe zone to look for Long entries.
🔴 RED Zone (Safe Sell):
Condition: A Bearish Trendline Breakout has occurred AND the price is holding BELOW the EMA 30 (Yellow Line).
Meaning: Momentum is bearish, and you are in a safe zone to look for Short entries.
⚪ GRAY Zone (No Trade / Wait):
Condition: A breakout occurred, but the price is on the "wrong side" of the EMA 30.
Meaning: Indecision. The market structure is conflicting with the immediate momentum. It is recommended to stay out until the color changes.
🛠️ Key Features
** automated Trendlines:** Automatically draws Support and Resistance dynamic trendlines based on pivot points (LuxAlgo engine).
Dual EMA Filter:
EMA 30 (Yellow): Acts as the immediate "Safe Zone" filter.
EMA 200 (White): Displays the macro trend. (Pro Tip: Only take Green signals if price is above the White line).
CS-BUY / CS-SELL Labels: Clear text markers appear exactly when a valid breakout occurs.
Customizable: Adjustable sensitivity (Length), EMA periods, and Slope calculation methods (ATR, Stdev, Linreg).
📉 How to Trade with CS Trendline Pro
For Scalping (5m / 15m):
Identify the Main Trend: Look at the White EMA (200).
If Price > EMA 200 → Focus on BUY signals.
If Price < EMA 200 → Focus on SELL signals.
Wait for the Signal:
Wait for the candle to turn Teal (Green) or Red.
Ensure the candle closes with the new color.
Risk Management:
Place Stop Loss below the recent swing low (for buys) or above the swing high (for sells).
Target a 1.5 Risk/Reward ratio or trail your stop using the EMA 30.
⚠️ Important Note on Backpainting
This indicator uses pivot points to draw trendlines. By nature, a pivot point can only be confirmed after a few bars have passed (Lag).
Backpaint Setting (Default ON): Keeps your historical chart clean by connecting the exact pivot points in the past.
Real-Time Behavior: In live trading, the trendline and signal will appear once the pivot is confirmed (based on your 'Length' setting). This is normal behavior for any trendline script.
Settings Recommended:
5-Minute Chart: Length 10 or 14.
15-Minute Chart: Length 14.
Enjoy trading with precision! ~ CS Trading
Goertzel Browser [Loxx]As the financial markets become increasingly complex and data-driven, traders and analysts must leverage powerful tools to gain insights and make informed decisions. One such tool is the Goertzel Browser indicator, a sophisticated technical analysis indicator that helps identify cyclical patterns in financial data. This powerful tool is capable of detecting cyclical patterns in financial data, helping traders to make better predictions and optimize their trading strategies. With its unique combination of mathematical algorithms and advanced charting capabilities, this indicator has the potential to revolutionize the way we approach financial modeling and trading.
█ Brief Overview of the Goertzel Browser
The Goertzel Browser is a sophisticated technical analysis tool that utilizes the Goertzel algorithm to analyze and visualize cyclical components within a financial time series. By identifying these cycles and their characteristics, the indicator aims to provide valuable insights into the market's underlying price movements, which could potentially be used for making informed trading decisions.
The primary purpose of this indicator is to:
1. Detect and analyze the dominant cycles present in the price data.
2. Reconstruct and visualize the composite wave based on the detected cycles.
3. Project the composite wave into the future, providing a potential roadmap for upcoming price movements.
To achieve this, the indicator performs several tasks:
1. Detrending the price data: The indicator preprocesses the price data using various detrending techniques, such as Hodrick-Prescott filters, zero-lag moving averages, and linear regression, to remove the underlying trend and focus on the cyclical components.
2. Applying the Goertzel algorithm: The indicator applies the Goertzel algorithm to the detrended price data, identifying the dominant cycles and their characteristics, such as amplitude, phase, and cycle strength.
3. Constructing the composite wave: The indicator reconstructs the composite wave by combining the detected cycles, either by using a user-defined list of cycles or by selecting the top N cycles based on their amplitude or cycle strength.
4. Visualizing the composite wave: The indicator plots the composite wave, using solid lines for the past and dotted lines for the future projections. The color of the lines indicates whether the wave is increasing or decreasing.
5. Displaying cycle information: The indicator provides a table that displays detailed information about the detected cycles, including their rank, period, Bartel's test results, amplitude, and phase.
This indicator is a powerful tool that employs the Goertzel algorithm to analyze and visualize the cyclical components within a financial time series. By providing insights into the underlying price movements and their potential future trajectory, the indicator aims to assist traders in making more informed decisions.
█ What is the Goertzel Algorithm?
The Goertzel algorithm, named after Gerald Goertzel, is a digital signal processing technique that is used to efficiently compute individual terms of the Discrete Fourier Transform (DFT). It was first introduced in 1958, and since then, it has found various applications in the fields of engineering, mathematics, and physics.
The Goertzel algorithm is primarily used to detect specific frequency components within a digital signal, making it particularly useful in applications where only a few frequency components are of interest. The algorithm is computationally efficient, as it requires fewer calculations than the Fast Fourier Transform (FFT) when detecting a small number of frequency components. This efficiency makes the Goertzel algorithm a popular choice in applications such as:
1. Telecommunications: The Goertzel algorithm is used for decoding Dual-Tone Multi-Frequency (DTMF) signals, which are the tones generated when pressing buttons on a telephone keypad. By identifying specific frequency components, the algorithm can accurately determine which button has been pressed.
2. Audio processing: The algorithm can be used to detect specific pitches or harmonics in an audio signal, making it useful in applications like pitch detection and tuning musical instruments.
3. Vibration analysis: In the field of mechanical engineering, the Goertzel algorithm can be applied to analyze vibrations in rotating machinery, helping to identify faulty components or signs of wear.
4. Power system analysis: The algorithm can be used to measure harmonic content in power systems, allowing engineers to assess power quality and detect potential issues.
The Goertzel algorithm is used in these applications because it offers several advantages over other methods, such as the FFT:
1. Computational efficiency: The Goertzel algorithm requires fewer calculations when detecting a small number of frequency components, making it more computationally efficient than the FFT in these cases.
2. Real-time analysis: The algorithm can be implemented in a streaming fashion, allowing for real-time analysis of signals, which is crucial in applications like telecommunications and audio processing.
3. Memory efficiency: The Goertzel algorithm requires less memory than the FFT, as it only computes the frequency components of interest.
4. Precision: The algorithm is less susceptible to numerical errors compared to the FFT, ensuring more accurate results in applications where precision is essential.
The Goertzel algorithm is an efficient digital signal processing technique that is primarily used to detect specific frequency components within a signal. Its computational efficiency, real-time capabilities, and precision make it an attractive choice for various applications, including telecommunications, audio processing, vibration analysis, and power system analysis. The algorithm has been widely adopted since its introduction in 1958 and continues to be an essential tool in the fields of engineering, mathematics, and physics.
█ Goertzel Algorithm in Quantitative Finance: In-Depth Analysis and Applications
The Goertzel algorithm, initially designed for signal processing in telecommunications, has gained significant traction in the financial industry due to its efficient frequency detection capabilities. In quantitative finance, the Goertzel algorithm has been utilized for uncovering hidden market cycles, developing data-driven trading strategies, and optimizing risk management. This section delves deeper into the applications of the Goertzel algorithm in finance, particularly within the context of quantitative trading and analysis.
Unveiling Hidden Market Cycles:
Market cycles are prevalent in financial markets and arise from various factors, such as economic conditions, investor psychology, and market participant behavior. The Goertzel algorithm's ability to detect and isolate specific frequencies in price data helps trader analysts identify hidden market cycles that may otherwise go unnoticed. By examining the amplitude, phase, and periodicity of each cycle, traders can better understand the underlying market structure and dynamics, enabling them to develop more informed and effective trading strategies.
Developing Quantitative Trading Strategies:
The Goertzel algorithm's versatility allows traders to incorporate its insights into a wide range of trading strategies. By identifying the dominant market cycles in a financial instrument's price data, traders can create data-driven strategies that capitalize on the cyclical nature of markets.
For instance, a trader may develop a mean-reversion strategy that takes advantage of the identified cycles. By establishing positions when the price deviates from the predicted cycle, the trader can profit from the subsequent reversion to the cycle's mean. Similarly, a momentum-based strategy could be designed to exploit the persistence of a dominant cycle by entering positions that align with the cycle's direction.
Enhancing Risk Management:
The Goertzel algorithm plays a vital role in risk management for quantitative strategies. By analyzing the cyclical components of a financial instrument's price data, traders can gain insights into the potential risks associated with their trading strategies.
By monitoring the amplitude and phase of dominant cycles, a trader can detect changes in market dynamics that may pose risks to their positions. For example, a sudden increase in amplitude may indicate heightened volatility, prompting the trader to adjust position sizing or employ hedging techniques to protect their portfolio. Additionally, changes in phase alignment could signal a potential shift in market sentiment, necessitating adjustments to the trading strategy.
Expanding Quantitative Toolkits:
Traders can augment the Goertzel algorithm's insights by combining it with other quantitative techniques, creating a more comprehensive and sophisticated analysis framework. For example, machine learning algorithms, such as neural networks or support vector machines, could be trained on features extracted from the Goertzel algorithm to predict future price movements more accurately.
Furthermore, the Goertzel algorithm can be integrated with other technical analysis tools, such as moving averages or oscillators, to enhance their effectiveness. By applying these tools to the identified cycles, traders can generate more robust and reliable trading signals.
The Goertzel algorithm offers invaluable benefits to quantitative finance practitioners by uncovering hidden market cycles, aiding in the development of data-driven trading strategies, and improving risk management. By leveraging the insights provided by the Goertzel algorithm and integrating it with other quantitative techniques, traders can gain a deeper understanding of market dynamics and devise more effective trading strategies.
█ Indicator Inputs
src: This is the source data for the analysis, typically the closing price of the financial instrument.
detrendornot: This input determines the method used for detrending the source data. Detrending is the process of removing the underlying trend from the data to focus on the cyclical components.
The available options are:
hpsmthdt: Detrend using Hodrick-Prescott filter centered moving average.
zlagsmthdt: Detrend using zero-lag moving average centered moving average.
logZlagRegression: Detrend using logarithmic zero-lag linear regression.
hpsmth: Detrend using Hodrick-Prescott filter.
zlagsmth: Detrend using zero-lag moving average.
DT_HPper1 and DT_HPper2: These inputs define the period range for the Hodrick-Prescott filter centered moving average when detrendornot is set to hpsmthdt.
DT_ZLper1 and DT_ZLper2: These inputs define the period range for the zero-lag moving average centered moving average when detrendornot is set to zlagsmthdt.
DT_RegZLsmoothPer: This input defines the period for the zero-lag moving average used in logarithmic zero-lag linear regression when detrendornot is set to logZlagRegression.
HPsmoothPer: This input defines the period for the Hodrick-Prescott filter when detrendornot is set to hpsmth.
ZLMAsmoothPer: This input defines the period for the zero-lag moving average when detrendornot is set to zlagsmth.
MaxPer: This input sets the maximum period for the Goertzel algorithm to search for cycles.
squaredAmp: This boolean input determines whether the amplitude should be squared in the Goertzel algorithm.
useAddition: This boolean input determines whether the Goertzel algorithm should use addition for combining the cycles.
useCosine: This boolean input determines whether the Goertzel algorithm should use cosine waves instead of sine waves.
UseCycleStrength: This boolean input determines whether the Goertzel algorithm should compute the cycle strength, which is a normalized measure of the cycle's amplitude.
WindowSizePast and WindowSizeFuture: These inputs define the window size for past and future projections of the composite wave.
FilterBartels: This boolean input determines whether Bartel's test should be applied to filter out non-significant cycles.
BartNoCycles: This input sets the number of cycles to be used in Bartel's test.
BartSmoothPer: This input sets the period for the moving average used in Bartel's test.
BartSigLimit: This input sets the significance limit for Bartel's test, below which cycles are considered insignificant.
SortBartels: This boolean input determines whether the cycles should be sorted by their Bartel's test results.
UseCycleList: This boolean input determines whether a user-defined list of cycles should be used for constructing the composite wave. If set to false, the top N cycles will be used.
Cycle1, Cycle2, Cycle3, Cycle4, and Cycle5: These inputs define the user-defined list of cycles when 'UseCycleList' is set to true. If using a user-defined list, each of these inputs represents the period of a specific cycle to include in the composite wave.
StartAtCycle: This input determines the starting index for selecting the top N cycles when UseCycleList is set to false. This allows you to skip a certain number of cycles from the top before selecting the desired number of cycles.
UseTopCycles: This input sets the number of top cycles to use for constructing the composite wave when UseCycleList is set to false. The cycles are ranked based on their amplitudes or cycle strengths, depending on the UseCycleStrength input.
SubtractNoise: This boolean input determines whether to subtract the noise (remaining cycles) from the composite wave. If set to true, the composite wave will only include the top N cycles specified by UseTopCycles.
█ Exploring Auxiliary Functions
The following functions demonstrate advanced techniques for analyzing financial markets, including zero-lag moving averages, Bartels probability, detrending, and Hodrick-Prescott filtering. This section examines each function in detail, explaining their purpose, methodology, and applications in finance. We will examine how each function contributes to the overall performance and effectiveness of the indicator and how they work together to create a powerful analytical tool.
Zero-Lag Moving Average:
The zero-lag moving average function is designed to minimize the lag typically associated with moving averages. This is achieved through a two-step weighted linear regression process that emphasizes more recent data points. The function calculates a linearly weighted moving average (LWMA) on the input data and then applies another LWMA on the result. By doing this, the function creates a moving average that closely follows the price action, reducing the lag and improving the responsiveness of the indicator.
The zero-lag moving average function is used in the indicator to provide a responsive, low-lag smoothing of the input data. This function helps reduce the noise and fluctuations in the data, making it easier to identify and analyze underlying trends and patterns. By minimizing the lag associated with traditional moving averages, this function allows the indicator to react more quickly to changes in market conditions, providing timely signals and improving the overall effectiveness of the indicator.
Bartels Probability:
The Bartels probability function calculates the probability of a given cycle being significant in a time series. It uses a mathematical test called the Bartels test to assess the significance of cycles detected in the data. The function calculates coefficients for each detected cycle and computes an average amplitude and an expected amplitude. By comparing these values, the Bartels probability is derived, indicating the likelihood of a cycle's significance. This information can help in identifying and analyzing dominant cycles in financial markets.
The Bartels probability function is incorporated into the indicator to assess the significance of detected cycles in the input data. By calculating the Bartels probability for each cycle, the indicator can prioritize the most significant cycles and focus on the market dynamics that are most relevant to the current trading environment. This function enhances the indicator's ability to identify dominant market cycles, improving its predictive power and aiding in the development of effective trading strategies.
Detrend Logarithmic Zero-Lag Regression:
The detrend logarithmic zero-lag regression function is used for detrending data while minimizing lag. It combines a zero-lag moving average with a linear regression detrending method. The function first calculates the zero-lag moving average of the logarithm of input data and then applies a linear regression to remove the trend. By detrending the data, the function isolates the cyclical components, making it easier to analyze and interpret the underlying market dynamics.
The detrend logarithmic zero-lag regression function is used in the indicator to isolate the cyclical components of the input data. By detrending the data, the function enables the indicator to focus on the cyclical movements in the market, making it easier to analyze and interpret market dynamics. This function is essential for identifying cyclical patterns and understanding the interactions between different market cycles, which can inform trading decisions and enhance overall market understanding.
Bartels Cycle Significance Test:
The Bartels cycle significance test is a function that combines the Bartels probability function and the detrend logarithmic zero-lag regression function to assess the significance of detected cycles. The function calculates the Bartels probability for each cycle and stores the results in an array. By analyzing the probability values, traders and analysts can identify the most significant cycles in the data, which can be used to develop trading strategies and improve market understanding.
The Bartels cycle significance test function is integrated into the indicator to provide a comprehensive analysis of the significance of detected cycles. By combining the Bartels probability function and the detrend logarithmic zero-lag regression function, this test evaluates the significance of each cycle and stores the results in an array. The indicator can then use this information to prioritize the most significant cycles and focus on the most relevant market dynamics. This function enhances the indicator's ability to identify and analyze dominant market cycles, providing valuable insights for trading and market analysis.
Hodrick-Prescott Filter:
The Hodrick-Prescott filter is a popular technique used to separate the trend and cyclical components of a time series. The function applies a smoothing parameter to the input data and calculates a smoothed series using a two-sided filter. This smoothed series represents the trend component, which can be subtracted from the original data to obtain the cyclical component. The Hodrick-Prescott filter is commonly used in economics and finance to analyze economic data and financial market trends.
The Hodrick-Prescott filter is incorporated into the indicator to separate the trend and cyclical components of the input data. By applying the filter to the data, the indicator can isolate the trend component, which can be used to analyze long-term market trends and inform trading decisions. Additionally, the cyclical component can be used to identify shorter-term market dynamics and provide insights into potential trading opportunities. The inclusion of the Hodrick-Prescott filter adds another layer of analysis to the indicator, making it more versatile and comprehensive.
Detrending Options: Detrend Centered Moving Average:
The detrend centered moving average function provides different detrending methods, including the Hodrick-Prescott filter and the zero-lag moving average, based on the selected detrending method. The function calculates two sets of smoothed values using the chosen method and subtracts one set from the other to obtain a detrended series. By offering multiple detrending options, this function allows traders and analysts to select the most appropriate method for their specific needs and preferences.
The detrend centered moving average function is integrated into the indicator to provide users with multiple detrending options, including the Hodrick-Prescott filter and the zero-lag moving average. By offering multiple detrending methods, the indicator allows users to customize the analysis to their specific needs and preferences, enhancing the indicator's overall utility and adaptability. This function ensures that the indicator can cater to a wide range of trading styles and objectives, making it a valuable tool for a diverse group of market participants.
The auxiliary functions functions discussed in this section demonstrate the power and versatility of mathematical techniques in analyzing financial markets. By understanding and implementing these functions, traders and analysts can gain valuable insights into market dynamics, improve their trading strategies, and make more informed decisions. The combination of zero-lag moving averages, Bartels probability, detrending methods, and the Hodrick-Prescott filter provides a comprehensive toolkit for analyzing and interpreting financial data. The integration of advanced functions in a financial indicator creates a powerful and versatile analytical tool that can provide valuable insights into financial markets. By combining the zero-lag moving average,
█ In-Depth Analysis of the Goertzel Browser Code
The Goertzel Browser code is an implementation of the Goertzel Algorithm, an efficient technique to perform spectral analysis on a signal. The code is designed to detect and analyze dominant cycles within a given financial market data set. This section will provide an extremely detailed explanation of the code, its structure, functions, and intended purpose.
Function signature and input parameters:
The Goertzel Browser function accepts numerous input parameters for customization, including source data (src), the current bar (forBar), sample size (samplesize), period (per), squared amplitude flag (squaredAmp), addition flag (useAddition), cosine flag (useCosine), cycle strength flag (UseCycleStrength), past and future window sizes (WindowSizePast, WindowSizeFuture), Bartels filter flag (FilterBartels), Bartels-related parameters (BartNoCycles, BartSmoothPer, BartSigLimit), sorting flag (SortBartels), and output buffers (goeWorkPast, goeWorkFuture, cyclebuffer, amplitudebuffer, phasebuffer, cycleBartelsBuffer).
Initializing variables and arrays:
The code initializes several float arrays (goeWork1, goeWork2, goeWork3, goeWork4) with the same length as twice the period (2 * per). These arrays store intermediate results during the execution of the algorithm.
Preprocessing input data:
The input data (src) undergoes preprocessing to remove linear trends. This step enhances the algorithm's ability to focus on cyclical components in the data. The linear trend is calculated by finding the slope between the first and last values of the input data within the sample.
Iterative calculation of Goertzel coefficients:
The core of the Goertzel Browser algorithm lies in the iterative calculation of Goertzel coefficients for each frequency bin. These coefficients represent the spectral content of the input data at different frequencies. The code iterates through the range of frequencies, calculating the Goertzel coefficients using a nested loop structure.
Cycle strength computation:
The code calculates the cycle strength based on the Goertzel coefficients. This is an optional step, controlled by the UseCycleStrength flag. The cycle strength provides information on the relative influence of each cycle on the data per bar, considering both amplitude and cycle length. The algorithm computes the cycle strength either by squaring the amplitude (controlled by squaredAmp flag) or using the actual amplitude values.
Phase calculation:
The Goertzel Browser code computes the phase of each cycle, which represents the position of the cycle within the input data. The phase is calculated using the arctangent function (math.atan) based on the ratio of the imaginary and real components of the Goertzel coefficients.
Peak detection and cycle extraction:
The algorithm performs peak detection on the computed amplitudes or cycle strengths to identify dominant cycles. It stores the detected cycles in the cyclebuffer array, along with their corresponding amplitudes and phases in the amplitudebuffer and phasebuffer arrays, respectively.
Sorting cycles by amplitude or cycle strength:
The code sorts the detected cycles based on their amplitude or cycle strength in descending order. This allows the algorithm to prioritize cycles with the most significant impact on the input data.
Bartels cycle significance test:
If the FilterBartels flag is set, the code performs a Bartels cycle significance test on the detected cycles. This test determines the statistical significance of each cycle and filters out the insignificant cycles. The significant cycles are stored in the cycleBartelsBuffer array. If the SortBartels flag is set, the code sorts the significant cycles based on their Bartels significance values.
Waveform calculation:
The Goertzel Browser code calculates the waveform of the significant cycles for both past and future time windows. The past and future windows are defined by the WindowSizePast and WindowSizeFuture parameters, respectively. The algorithm uses either cosine or sine functions (controlled by the useCosine flag) to calculate the waveforms for each cycle. The useAddition flag determines whether the waveforms should be added or subtracted.
Storing waveforms in matrices:
The calculated waveforms for each cycle are stored in two matrices - goeWorkPast and goeWorkFuture. These matrices hold the waveforms for the past and future time windows, respectively. Each row in the matrices represents a time window position, and each column corresponds to a cycle.
Returning the number of cycles:
The Goertzel Browser function returns the total number of detected cycles (number_of_cycles) after processing the input data. This information can be used to further analyze the results or to visualize the detected cycles.
The Goertzel Browser code is a comprehensive implementation of the Goertzel Algorithm, specifically designed for detecting and analyzing dominant cycles within financial market data. The code offers a high level of customization, allowing users to fine-tune the algorithm based on their specific needs. The Goertzel Browser's combination of preprocessing, iterative calculations, cycle extraction, sorting, significance testing, and waveform calculation makes it a powerful tool for understanding cyclical components in financial data.
█ Generating and Visualizing Composite Waveform
The indicator calculates and visualizes the composite waveform for both past and future time windows based on the detected cycles. Here's a detailed explanation of this process:
Updating WindowSizePast and WindowSizeFuture:
The WindowSizePast and WindowSizeFuture are updated to ensure they are at least twice the MaxPer (maximum period).
Initializing matrices and arrays:
Two matrices, goeWorkPast and goeWorkFuture, are initialized to store the Goertzel results for past and future time windows. Multiple arrays are also initialized to store cycle, amplitude, phase, and Bartels information.
Preparing the source data (srcVal) array:
The source data is copied into an array, srcVal, and detrended using one of the selected methods (hpsmthdt, zlagsmthdt, logZlagRegression, hpsmth, or zlagsmth).
Goertzel function call:
The Goertzel function is called to analyze the detrended source data and extract cycle information. The output, number_of_cycles, contains the number of detected cycles.
Initializing arrays for past and future waveforms:
Three arrays, epgoertzel, goertzel, and goertzelFuture, are initialized to store the endpoint Goertzel, non-endpoint Goertzel, and future Goertzel projections, respectively.
Calculating composite waveform for past bars (goertzel array):
The past composite waveform is calculated by summing the selected cycles (either from the user-defined cycle list or the top cycles) and optionally subtracting the noise component.
Calculating composite waveform for future bars (goertzelFuture array):
The future composite waveform is calculated in a similar way as the past composite waveform.
Drawing past composite waveform (pvlines):
The past composite waveform is drawn on the chart using solid lines. The color of the lines is determined by the direction of the waveform (green for upward, red for downward).
Drawing future composite waveform (fvlines):
The future composite waveform is drawn on the chart using dotted lines. The color of the lines is determined by the direction of the waveform (fuchsia for upward, yellow for downward).
Displaying cycle information in a table (table3):
A table is created to display the cycle information, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
Filling the table with cycle information:
The indicator iterates through the detected cycles and retrieves the relevant information (period, amplitude, phase, and Bartel value) from the corresponding arrays. It then fills the table with this information, displaying the values up to six decimal places.
To summarize, this indicator generates a composite waveform based on the detected cycles in the financial data. It calculates the composite waveforms for both past and future time windows and visualizes them on the chart using colored lines. Additionally, it displays detailed cycle information in a table, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
█ Enhancing the Goertzel Algorithm-Based Script for Financial Modeling and Trading
The Goertzel algorithm-based script for detecting dominant cycles in financial data is a powerful tool for financial modeling and trading. It provides valuable insights into the past behavior of these cycles and potential future impact. However, as with any algorithm, there is always room for improvement. This section discusses potential enhancements to the existing script to make it even more robust and versatile for financial modeling, general trading, advanced trading, and high-frequency finance trading.
Enhancements for Financial Modeling
Data preprocessing: One way to improve the script's performance for financial modeling is to introduce more advanced data preprocessing techniques. This could include removing outliers, handling missing data, and normalizing the data to ensure consistent and accurate results.
Additional detrending and smoothing methods: Incorporating more sophisticated detrending and smoothing techniques, such as wavelet transform or empirical mode decomposition, can help improve the script's ability to accurately identify cycles and trends in the data.
Machine learning integration: Integrating machine learning techniques, such as artificial neural networks or support vector machines, can help enhance the script's predictive capabilities, leading to more accurate financial models.
Enhancements for General and Advanced Trading
Customizable indicator integration: Allowing users to integrate their own technical indicators can help improve the script's effectiveness for both general and advanced trading. By enabling the combination of the dominant cycle information with other technical analysis tools, traders can develop more comprehensive trading strategies.
Risk management and position sizing: Incorporating risk management and position sizing functionality into the script can help traders better manage their trades and control potential losses. This can be achieved by calculating the optimal position size based on the user's risk tolerance and account size.
Multi-timeframe analysis: Enhancing the script to perform multi-timeframe analysis can provide traders with a more holistic view of market trends and cycles. By identifying dominant cycles on different timeframes, traders can gain insights into the potential confluence of cycles and make better-informed trading decisions.
Enhancements for High-Frequency Finance Trading
Algorithm optimization: To ensure the script's suitability for high-frequency finance trading, optimizing the algorithm for faster execution is crucial. This can be achieved by employing efficient data structures and refining the calculation methods to minimize computational complexity.
Real-time data streaming: Integrating real-time data streaming capabilities into the script can help high-frequency traders react to market changes more quickly. By continuously updating the cycle information based on real-time market data, traders can adapt their strategies accordingly and capitalize on short-term market fluctuations.
Order execution and trade management: To fully leverage the script's capabilities for high-frequency trading, implementing functionality for automated order execution and trade management is essential. This can include features such as stop-loss and take-profit orders, trailing stops, and automated trade exit strategies.
While the existing Goertzel algorithm-based script is a valuable tool for detecting dominant cycles in financial data, there are several potential enhancements that can make it even more powerful for financial modeling, general trading, advanced trading, and high-frequency finance trading. By incorporating these improvements, the script can become a more versatile and effective tool for traders and financial analysts alike.
█ Understanding the Limitations of the Goertzel Algorithm
While the Goertzel algorithm-based script for detecting dominant cycles in financial data provides valuable insights, it is important to be aware of its limitations and drawbacks. Some of the key drawbacks of this indicator are:
Lagging nature:
As with many other technical indicators, the Goertzel algorithm-based script can suffer from lagging effects, meaning that it may not immediately react to real-time market changes. This lag can lead to late entries and exits, potentially resulting in reduced profitability or increased losses.
Parameter sensitivity:
The performance of the script can be sensitive to the chosen parameters, such as the detrending methods, smoothing techniques, and cycle detection settings. Improper parameter selection may lead to inaccurate cycle detection or increased false signals, which can negatively impact trading performance.
Complexity:
The Goertzel algorithm itself is relatively complex, making it difficult for novice traders or those unfamiliar with the concept of cycle analysis to fully understand and effectively utilize the script. This complexity can also make it challenging to optimize the script for specific trading styles or market conditions.
Overfitting risk:
As with any data-driven approach, there is a risk of overfitting when using the Goertzel algorithm-based script. Overfitting occurs when a model becomes too specific to the historical data it was trained on, leading to poor performance on new, unseen data. This can result in misleading signals and reduced trading performance.
No guarantee of future performance: While the script can provide insights into past cycles and potential future trends, it is important to remember that past performance does not guarantee future results. Market conditions can change, and relying solely on the script's predictions without considering other factors may lead to poor trading decisions.
Limited applicability: The Goertzel algorithm-based script may not be suitable for all markets, trading styles, or timeframes. Its effectiveness in detecting cycles may be limited in certain market conditions, such as during periods of extreme volatility or low liquidity.
While the Goertzel algorithm-based script offers valuable insights into dominant cycles in financial data, it is essential to consider its drawbacks and limitations when incorporating it into a trading strategy. Traders should always use the script in conjunction with other technical and fundamental analysis tools, as well as proper risk management, to make well-informed trading decisions.
█ Interpreting Results
The Goertzel Browser indicator can be interpreted by analyzing the plotted lines and the table presented alongside them. The indicator plots two lines: past and future composite waves. The past composite wave represents the composite wave of the past price data, and the future composite wave represents the projected composite wave for the next period.
The past composite wave line displays a solid line, with green indicating a bullish trend and red indicating a bearish trend. On the other hand, the future composite wave line is a dotted line with fuchsia indicating a bullish trend and yellow indicating a bearish trend.
The table presented alongside the indicator shows the top cycles with their corresponding rank, period, Bartels, amplitude or cycle strength, and phase. The amplitude is a measure of the strength of the cycle, while the phase is the position of the cycle within the data series.
Interpreting the Goertzel Browser indicator involves identifying the trend of the past and future composite wave lines and matching them with the corresponding bullish or bearish color. Additionally, traders can identify the top cycles with the highest amplitude or cycle strength and utilize them in conjunction with other technical indicators and fundamental analysis for trading decisions.
This indicator is considered a repainting indicator because the value of the indicator is calculated based on the past price data. As new price data becomes available, the indicator's value is recalculated, potentially causing the indicator's past values to change. This can create a false impression of the indicator's performance, as it may appear to have provided a profitable trading signal in the past when, in fact, that signal did not exist at the time.
The Goertzel indicator is also non-endpointed, meaning that it is not calculated up to the current bar or candle. Instead, it uses a fixed amount of historical data to calculate its values, which can make it difficult to use for real-time trading decisions. For example, if the indicator uses 100 bars of historical data to make its calculations, it cannot provide a signal until the current bar has closed and become part of the historical data. This can result in missed trading opportunities or delayed signals.
█ Conclusion
The Goertzel Browser indicator is a powerful tool for identifying and analyzing cyclical patterns in financial markets. Its ability to detect multiple cycles of varying frequencies and strengths make it a valuable addition to any trader's technical analysis toolkit. However, it is important to keep in mind that the Goertzel Browser indicator should be used in conjunction with other technical analysis tools and fundamental analysis to achieve the best results. With continued refinement and development, the Goertzel Browser indicator has the potential to become a highly effective tool for financial modeling, general trading, advanced trading, and high-frequency finance trading. Its accuracy and versatility make it a promising candidate for further research and development.
█ Footnotes
What is the Bartels Test for Cycle Significance?
The Bartels Cycle Significance Test is a statistical method that determines whether the peaks and troughs of a time series are statistically significant. The test is named after its inventor, George Bartels, who developed it in the mid-20th century.
The Bartels test is designed to analyze the cyclical components of a time series, which can help traders and analysts identify trends and cycles in financial markets. The test calculates a Bartels statistic, which measures the degree of non-randomness or autocorrelation in the time series.
The Bartels statistic is calculated by first splitting the time series into two halves and calculating the range of the peaks and troughs in each half. The test then compares these ranges using a t-test, which measures the significance of the difference between the two ranges.
If the Bartels statistic is greater than a critical value, it indicates that the peaks and troughs in the time series are non-random and that there is a significant cyclical component to the data. Conversely, if the Bartels statistic is less than the critical value, it suggests that the peaks and troughs are random and that there is no significant cyclical component.
The Bartels Cycle Significance Test is particularly useful in financial analysis because it can help traders and analysts identify significant cycles in asset prices, which can in turn inform investment decisions. However, it is important to note that the test is not perfect and can produce false signals in certain situations, particularly in noisy or volatile markets. Therefore, it is always recommended to use the test in conjunction with other technical and fundamental indicators to confirm trends and cycles.
Deep-dive into the Hodrick-Prescott Fitler
The Hodrick-Prescott (HP) filter is a statistical tool used in economics and finance to separate a time series into two components: a trend component and a cyclical component. It is a powerful tool for identifying long-term trends in economic and financial data and is widely used by economists, central banks, and financial institutions around the world.
The HP filter was first introduced in the 1990s by economists Robert Hodrick and Edward Prescott. It is a simple, two-parameter filter that separates a time series into a trend component and a cyclical component. The trend component represents the long-term behavior of the data, while the cyclical component captures the shorter-term fluctuations around the trend.
The HP filter works by minimizing the following objective function:
Minimize: (Sum of Squared Deviations) + λ (Sum of Squared Second Differences)
Where:
The first term represents the deviation of the data from the trend.
The second term represents the smoothness of the trend.
λ is a smoothing parameter that determines the degree of smoothness of the trend.
The smoothing parameter λ is typically set to a value between 100 and 1600, depending on the frequency of the data. Higher values of λ lead to a smoother trend, while lower values lead to a more volatile trend.
The HP filter has several advantages over other smoothing techniques. It is a non-parametric method, meaning that it does not make any assumptions about the underlying distribution of the data. It also allows for easy comparison of trends across different time series and can be used with data of any frequency.
However, the HP filter also has some limitations. It assumes that the trend is a smooth function, which may not be the case in some situations. It can also be sensitive to changes in the smoothing parameter λ, which may result in different trends for the same data. Additionally, the filter may produce unrealistic trends for very short time series.
Despite these limitations, the HP filter remains a valuable tool for analyzing economic and financial data. It is widely used by central banks and financial institutions to monitor long-term trends in the economy, and it can be used to identify turning points in the business cycle. The filter can also be used to analyze asset prices, exchange rates, and other financial variables.
The Hodrick-Prescott filter is a powerful tool for analyzing economic and financial data. It separates a time series into a trend component and a cyclical component, allowing for easy identification of long-term trends and turning points in the business cycle. While it has some limitations, it remains a valuable tool for economists, central banks, and financial institutions around the world.
NEURAL FLOW INDEX — Core Energy • Momentum Stream • Pulse SyncNeural Flow Index (NFI) — Advanced Triple-Layer Reversal Framework
The Neural Flow Index (NFI) is a next-generation market oscillator designed to reveal the hidden synchronization between trend energy, cyclical momentum, and internal pulse dynamics.
It merges three powerful analytical layers into a single, normalized view:
Core Energy Curve (based on RSO logic) — captures structural trend bias and volatility expansion.
Momentum Stream (WaveTrend algorithm) — visualizes cyclical motion of price waves.
Pulse Sync (Stochastic RSI adaptation) — measures short-term momentum rhythm and overextension.
Each layer feeds into a unified flow model that adapts to both trend-following and reversal conditions. The goal is not to chase every fluctuation, but to sense where momentum, direction, and volatility converge into true inflection points.
Conceptual Mechanics
The oscillator translates complex market behavior into an elegant, multi-phase signal system:
Core Energy Curve (RSO foundation):
A smoothed dynamic field representing the overall strength and direction of market pressure.
Green energy indicates expansion (bullish dominance); red energy reflects contraction (bearish decay).
Momentum Stream (WaveTrend):
The teal line functions like an electro-wave, oscillating through phases of expansion and exhaustion.
It provides the heartbeat of the market — smooth, rhythmic, and beautifully cyclic.
Pulse Sync (Stochastic RSI):
The purple line acts as the market’s nervous pulse, reacting to micro-momentum changes before the larger trend adjusts.
It identifies micro-tops and micro-bottoms that precede major trend shifts.
When these three forces align, they create high-probability reversal zones known as Neural Nodes — regions where energy, momentum, and rhythm converge.
Trading Logic
Potential Entry Zones:
When the purple Pulse Sync line crosses the green Momentum Stream near the lower or upper bounds of the oscillator, a potential turning point forms.
Yet, these crossovers are only validated when the Core Energy histogram (RSO) simultaneously supports the same direction — confirming that energy and rhythm are synchronized.
Histogram Confirmation:
The histogram is the “voice” of the oscillator.
Rising green volume within the histogram during a Pulse-Momentum crossover suggests a legitimate upward reversal.
Conversely, expanding red energy during an upper-band cross indicates momentum exhaustion and an early short-side opportunity.
Neutral Zones:
When all three layers flatten near the zero line, the market enters an equilibrium phase — no clear trend dominance, ideal for patience and re-entry planning.
| Layer | Representation | Color | Function |
| --------------------- | ------------------- | ----------------- | ------------------------------ |
| **Core Energy Curve** | Area / Histogram | Lime-Red gradient | Trend bias & volatility energy |
| **Momentum Stream** | WaveTrend line | Teal | Cyclical flow of price |
| **Pulse Sync** | Stochastic RSI line | Purple | Short-term momentum rhythm |
Interpretation Summary
Converging Waves: Trend, momentum, and pulse move together → strong continuation.
Diverging Waves: Pulse or Momentum decouple from Core Energy → early reversal warnings.
Histogram Expansion: Confirms direction and strength of the new wave.
Crossovers at Extremes: Potential entries, especially when confirmed by energy alignment.
🪶 Philosophy Behind NFI
The Neural Flow Index is not just a technical indicator — it’s a behavioral visualization system.
Instead of focusing on lagging confirmations, it captures the neural pattern of price motion:
how liquidity flows, contracts, and expands through time.
It bridges the gap between pure mathematics and market intuition — giving traders a cinematic, harmonic view of energy transition inside price structure.
LE LevelsGENERAL OVERVIEW:
The LE Levels indicator plots yesterday’s high/low and today’s pre-market high/low directly on your chart, then layers signal logic around those levels and a set of EMA waves. You can choose “Inside” setups, “Outside” setups, or both. You can also pick entries that trigger at levels, entries that trigger off the EMA wave, or both.
This indicator was developed by Flux Charts in collaboration with Ellis Dillinger (Ellydtrades).
What is the purpose of the indicator?:
The purpose of the LE Levels indicator is to give traders a clear view of how price is behaving around key session levels and EMA structure. It follows the same model EllyD teaches by showing where price is relative to the Previous Day High and Low and the Pre-Market High and Low, then printing signals when specific reactions occur around those levels.
What is the theory behind the indicator?:
The theory behind the LE Levels indicator is based on the concept of inside and outside days. An inside day occurs when price trades within the previous day’s high and low, signaling compression and potential breakout conditions. An outside day occurs when price moves beyond those boundaries, confirming expansion and directional bias. When price trades above the PDH or PMH, it reflects bullish control and potential continuation if supported by volume and momentum. When price trades below the PDL or PML, it shows bearish control and possible downside continuation. The idea is to combine this logic with tickers that have catalysts or news, since these events often bring higher-than-normal volume.
LE SCANNER FEATURES:
Key Levels
Signals
EMA Waves
Key Levels:
The LE Levels indicator automatically plots four key levels each day:
Previous Day High (PDH)
Previous Day Low (PDL)
Pre-Market High (PMH)
Pre-Market Low (PML)
🔹How are Key Levels used in the indicator?:
The key levels are a crucial factor in determining if the trend is bullish, bearish, or neutral trend bias. The indicator uses the key levels as a condition for identifying inside or outside setups (explained below). After determining a trend bias and setup type, the indicator prints long and short entry signals based on how price interacts with the key levels and 8 EMA Wave. (explained below).
These levels define where price previously reacted or reversed, helping traders visualize how current price action relates to prior session structure. They update automatically each day and pre-market session, allowing traders to see if price is trading inside, above, or below prior key ranges without manually drawing them.
Please Note: Pre-market times are based on U.S. market hours (Eastern Standard Time) and may vary for non-U.S. tickers or exchanges.
🔹Previous Day High (PDH):
The PDH marks the highest price reached during the previous regular trading session. It shows where buyers pushed price to its highest point before the market closed. This value is automatically pulled from the daily chart and projected forward onto intraday timeframes.
🔹Previous Day Low (PDL):
The PDL marks the lowest price reached during the previous regular trading session. It shows where selling pressure reached its lowest point before buyers stepped in. Like the PDH, this level is retrieved from the prior day’s data and extended into the current session.
🔹Pre-Market High (PMH):
The PMH is the highest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far buyers managed to push price up during the pre-market session.
🔹Pre-Market Low (PML):
The PML is the lowest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far sellers were able to drive price down during the pre-market session.
🔹Customization Options:
Extend Levels:
Extends each plotted line a user-defined number of bars into the future, keeping them visible even as new candles print. This helps maintain a clear visual reference as the session progresses.
Extend PDH/L Left & Extend PMH/L Left:
These settings let you extend the Previous Day and Pre-Market levels back to their origin point, so you can see exactly where each level was formed on the prior trading day. This makes it easy to understand the context of each level and how it developed. When this option is disabled, the lines begin at the regular session open instead of extending backward into the previous day’s data.
Show Name / Show Price:
Enabling Show Name displays labels (PDH, PDL, PMH, PML) beside each line, while Show Price adds the exact price value. You can choose to show just the name, just the price, or both for a complete label format.
Line Color and Style:
Each level can be fully customized. You can change the line color and select between solid, dashed, or dotted styles to visually distinguish each level type.
At the bottom of the indicator settings, under the ‘Miscellaneous’ section, two additional options allow further control over how levels are displayed:
Hide Previous Day Highs/Lows:
When enabled, the previous day’s high and low levels aren’t shown. When disabled, users can view previous day levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Hide Previous Pre-Market Highs/Lows:
When enabled, the previous pre-market high and low levels aren’t shown. When disabled, users can view previous pre-market levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Signals:
The LE Levels indicator automatically prints long and short entry signals based on how price interacts with its key levels (PDH, PDL, PMH, PML) and the EMA Waves. It identifies moments when price either breaks out beyond prior ranges or retests those levels in alignment with momentum shown by the EMA Waves.
There are two types of setups (Inside and Outside) and two entry types ((L)evels and (E)MAs). Together, these settings allow traders to customize the type of structure the indicator recognizes and how signals are generated.
🔹What is an Inside Setup?
An Inside Setup occurs when the current trading session forms entirely within the previous day’s range, meaning price has not yet broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). In the LE Levels indicator, inside setups are recognized when price trades within the previous day’s boundaries while also considering the pre-market range (Pre-Market High and Pre-Market Low).
Inside Setups have two main conditions, depending on directional bias:
Bullish Inside Setup:
Price trades above the Pre-Market High (PMH) and above the Previous Day Low (PDL), while still below the Previous Day High (PDH).
Bearish Inside Setup:
Price trades below the Pre-Market Low (PML) and below the Previous Day High (PDH), while still above the Previous Day Low (PDL).
🔹What is an Outside Setup?
An Outside Setup occurs when the current trading session extends beyond the previous day’s range, meaning price has broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). This structure reflects expansion and directional control, showing that either buyers or sellers have taken price into new territory beyond the prior session’s boundaries.
In the indicator, an Outside Setup forms once price closes beyond both the previous day and pre-market boundaries, showing bias in one direction.
Bullish Outside Setup:
Price closes above both the PDH and the PMH, confirming buyers have pushed through every key resistance from the prior session and the pre-market.
Bearish Outside Setup:
Price closes below both the PDL and the PML, showing sellers have pushed price beneath all key support levels from the previous session and the pre-market.
🔹Entry Types: (L)evels and (E)MAs
Once a setup type (Inside or Outside) has been established, the LE Levels indicator generates trade signals using one of two entry confirmation methods: (L) for Key Level based Entries and (E) for EMA Wave based Entries. These determine how the signal prints and what triggers it within.
🔹(L)evels Entry:
The (L)evels entry type is built around how price reacts to the key levels (PDH, PDL, PMH, PML). It prints when price retests those levels during an active setup. The logic focuses on retests, where price returns to confirm a previous breakout or breakdown before continuing in the same direction.
Bullish Outside (L)evels Setup:
A Bullish Outside Setup forms when price breaks above both the PDH and PMH. Once this breakout occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that level, showing momentum is supporting the structure. A small buffer is applied between price and the level so that even if price only comes close, without fully touching, the retest still counts. When price holds above the PDH or PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Outside (L)evels Setup:
A Bearish Outside Setup forms when price breaks below both the PDL and PML. Once this breakdown occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that area, confirming momentum is aligned with the move. A small buffer is included so that even if price comes close but doesn’t fully touch the level, the retest still qualifies. When price holds below the PDL or PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
Bullish Inside (L)evels Setup:
A Bullish Inside Setup forms when price trades above the PMH but stays below the PDH and above the PDL. Once this condition is met, the indicator waits for a pullback to the PMH. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close to the level, the retest still counts. When price holds above the PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Inside (L)evels Setup:
A Bearish Inside Setup forms when price trades below the PML but stays above the PDL and below the PDH. Once this condition is met, the indicator waits for a pullback to the PML. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close, the retest still counts. When price holds below the PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
🔹(E)MAs Entry:
The (E)MA Entry type focuses on how price reacts to the 8 EMA Wave. It identifies when price first interacts with the EMAs, then confirms continuation once momentum resumes in the setup’s direction. The first candle that touches the EMA prints an (E) marker, and the confirmation signal triggers only after price breaks above or below that candle, depending on the bias.
Bullish Outside (E)MA Setup:
A Bullish Outside Setup forms when price is trading above both the PDH and PMH. Once this breakout occurs, the indicator waits for price to pull back and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Outside (E)MA Setup:
A Bearish Outside Setup forms when price is trading below both the PDL and PML. After the breakdown, the indicator waits for price to pull back to the 8 EMA Wave, marking the candle that touches it with an (E) label. If price then breaks below that candle’s low, the continuation setup is confirmed.
Bullish Inside (E)MA Setup:
A Bullish Inside Setup forms when price trades above the PMH but remains below the PDH and above the PDL. The indicator waits for price to retrace and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Inside (E)MA Setup:
A Bearish Inside Setup forms when price trades below the PML but remains above the PDL and below the PDH. Once price touches the 8 EMA Wave, the indicator prints an (E) marker. If price then breaks below that candle’s low, the continuation setup is confirmed.
🔹Signal Settings:
At the bottom of the indicator settings panel, three core controls define how signals are displayed and which setups the indicator actively scans for. These settings allow you to refine signal generation based on your trading approach and chart preference.
Setup Type:
This setting determines which structural conditions the indicator tracks.
Inside Setups: Signals only appear when price is trading within the previous day’s range (between PDH and PDL).
Outside Setups: Signals only appear when price breaks outside the previous day’s range (above PDH/PMH or below PDL/PML).
Both: Enables signals for both Inside and Outside setups.
Entry Type:
Controls how the indicator confirms entries.
(E)MAs: Prints signals based on price interacting with the 8 EMA Wave.
(L)evels: Prints signals based on price retesting key levels such as PDH, PDL, PMH, or PML.
Both: Allows both EMA and Level-based signals to appear on the same chart.
Signal Filters (Long, Short, and Re-Entry):
These toggles let you control which trade directions are active.
Long: Displays only bullish entries and ignores all short setups.
Short: Displays only bearish entries and ignores long setups.
Re-Entry: Enables or disables repeated signals in the same direction after the first valid setup has printed. When off, only the initial signal is shown until conditions reset.
EMA Waves:
The EMA Waves help identify potential entries and show directional bias. They’re made of grouped EMAs that form shaded areas to create a “wave” look. The color-coding on the waves allows users to view when price is consolidating, in a bullish trend, or in a bearish trend. The wave updates in real time as new candles form and does not repaint historical data.
🔹8 EMA Wave
The 8 EMA Wave is used directly in the indicator’s signal logic described earlier. It reacts fastest to price compared to the other EAM Waves and determines when (L) and (E) signals can trigger.
How It Works:
The wave is made from the 8, 9, and 10 EMAs and fills the space between them to create a “wave” look. The 8 EMA Wave continuously updates its color based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based solely on price position relative to key levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is purple.
Price is between PDH and PMH: The wave is dark green, and the top half is purple.
Price is below both PDL and PML: The wave is bright red, and the bottom half is purple.
Price is between PDL and PML: The wave is dark red, and the bottom half is purple.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹8 EMA Wave Signal Function:
For (L)evels entries, the 8 EMA must be close to the key level being retested, with a small buffer that allows near touches to qualify.
For (E)MA entries, the first candle that touches the wave prints an (E), and the confirmation signal appears when price breaks that candle’s high or low.
🔹8 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The purple overlay color cannot be changed, as it is hard-coded into the indicator. The 8 EMA Wave can also be toggled on or off. Turning it off only removes the visual display from the chart and does not affect signals.
🔹20 EMA Wave
The 20 EMA Wave measures medium-term momentum and helps visualize larger pullbacks. It reacts more slowly than the 8 EMA Wave, giving a smoother wave look. No signals are generated from it. It’s purely a visual guide for spotting potential pullback areas for continuation setups.
How It Works:
The wave is made from the 19, 20, and 21 EMAs and fills the space between them to create a shaded “wave.” The color updates continuously based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based only on price position relative to these levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is blue.
Price is between PDH and PMH: The wave is dark green, and the top half is blue.
Price is below both PDL and PML: The wave is bright red, and the bottom half is blue.
Price is between PDL and PML: The wave is dark red, and the bottom half is blue.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹20 EMA Wave Use Case:
After 12:00 PM EST, the 20 EMA Wave is used to spot larger pullbacks that form later in the session. No signals are generated from it; it only serves as a visual guide for identifying potential continuation areas.
Bullish Continuation Pullback:
Bearish Continuation Pullback:
🔹20 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The blue overlay color cannot be changed, as it is hard-coded into the indicator. The 20 EMA Wave can also be toggled on or off.
🔹200 EMA Wave
The 200 EMA Wave is used to determine long-term trend bias. When price is above it, the bias is bullish; when price is below it, the bias is bearish. It updates automatically in real time and is used to define the broader directional bias for the day.
How it Works:
The 200 EMA Wave is created using the 190, 199, and 200 EMAs, with the area between them shaded to form a “wave.”
🔹200 EMA Wave Use Case:
When price is above the 200 EMA Wave and both the 8 and 20 EMA Waves are stacked above it, the overall trend is bullish.
When price is below the 200 EMA Wave and both shorter-term waves are also below it, the overall trend is bearish.
🔹200 EMA Wave Customization:
Users can customize both colors that form the 200 EMA Wave. The entire wave can also be toggled on or off in the settings.
Uniqueness:
The LE Levels indicator is unique because it combines signal logic with a clear visual structure. It automatically detects inside and outside setups, printing (L) and (E) entries based on how price reacts to key levels and the EMA Waves. Each signal follows strict conditions tied to the 8 EMA and key levels. The color-coded EMA Waves make it simple to understand where price is in relation to the key levels and getting a quick trend bias overview.
VolumatrixVolumatrix is an enhanced volume weighted price indicator with advanced features
Created by CryptoJew & CryptoTiger on 04-06-2021
👋 Definition
Volumatrix turns current and historical price data into enhanced volume weighted price plots that allow you to visually grasp the momentum of any given market.
It’s easy to use and provides an accurate reading about an ongoing trend. This indicator is optimized to catch trend movements as soon as possible and to maximize certainty.
🙌 Overview
The Volumatrix indicator is based on an enhanced VWAP calculation, which serves as a present and upcoming price movement indication.
The further away the VWAP Wave is from the Zero Line, the more powerful the momentum is in that direction.
Conversely, the closer the VWAP Wave is to the Zero Line, the less momentum it has.
⭐️ Features
Volumatrix consists of the following features:
VWAP Waves: Visualizes the market's momentum in an easy-to-understand way by drawing colored waves.
VWAP Average: Acts as a calibration line for current wave movements.
Bearish & Bullish Dots: Indicates and confirms immediate trend changes by printing dual-colored dots.
E MA Backgrounds: Shows the general direction of the market, based on the exponential moving average (EMA).
In-depth alerts: Help traders discover potential trades with less time.
☝️ Basics
The Volume Weighted Average Price plays an essential role, as the Volumatrix indicator uses an enhanced VWAP calculation.
The volume weighted average price (VWAP) is a great technical trading indicator used by traders as it accounts for both price and volume.
VWAP signals the ratio of the cumulative share price to the cumulative volume traded over a given time.
It is essential because it provides traders with advanced insight into the trend and value of an asset.
Unlike moving averages, VWAP assigns more weight to price points with high volume.
This allows one to understand price points of interest, gauge relative strength, and identify prime entries/exits.
VWAP works with any interval: seconds, minutes, hours, days, weeks, months, years, etc...
However, keep in mind that VWAP can also experience some lag, much like a moving average.
Lag is inherent in the indicator because it's a calculation of an average using past data.
🧮 Calculation
Volume Weighted Average Price (VWAP) is constructed with two parameters, namely, price and volume, in 5 steps:
1. Calculate the Typical Price for the period.
((High + Low + Close)/3)
2. Multiply the Typical Price by the period Volume
(Typical Price x Volume)
3. Create a Cumulative Total of Typical Price
Cumulative(Typical Price x Volume)
4. Create a Cumulative Total of Volume
Cumulative(Volume)
5. Divide the Cumulative Totals
VWAP = Cumulative(Typical Price x Volume) / Cumulative(Volume)
🔍 Trend Identification - What to look for
VWAP is an excellent way to identify the trend of a market.
When using Volumatrix, you are looking for multiple confirmations that take place simultaneously.
The more confirmations that occur at the same time; the more certain the indicator will be.
You can identify the direction of a market by looking out for a few critical confirming signals.
📈 Bullish Trend Confirmations:
VWAP Wave overcrossing Zero Line :
When the VWAP Wave is crossing over the Zero Line, it indicates an immediate bullish trend.
This is one of the most certain moves that one can detect in Volumatrix.
This means that the price is about to change direction.
This is the case for any timeframe: seconds, minutes, hours, days, week, month, year, etc.
VWAP Wave color turning bullish:
When a bullish trend is about to happen, the VWAP Wave will change its color to yellow and finally to green.
That way, one can preemptively detect an upcoming bullish move.
In general, the VWAP Wave can change to 3 different colors.
Green means bullish.
Bullish Dots:
From time to time, bullish green dots will appear.
When combined with other indications, the Bullish Dots can be handy in confirming an upcoming or present uptrend.
That said, one should never solely rely on dots when deciding whether the trend is bullish or not.
Instead, if a trader sees a green dot, it should be taken as a hint to look for further bullish indications.
EMA Background:
One can identify the general trend of a market by looking at the background color of the indicator.
When the background is green, one can assume that a bullish trend is present.
The background color changes based on the exponential moving average (EMA).
By default, the 200 EMA is set. Change this value based on your timeframe preferences.
VWAP Average:
When the white VWAP Average line crosses above the Zero Line, it acts as an additional trend confirmation when combined with the VWAP waves.
As the VWAP average does not weigh in the short-term movements too heavily, it is less affected by immediate volatility.
Therefore, traders usually use the VWAP Average as a calibration tool to interpret the VWAP Waves more precisely.
📉 Bearish Trend Confirmations:
VWAP Wave under crossing Zero Line:
When the VWAP Wave is crossing under the Zero Line, it indicates an immediate bearish trend.
This is one of the most certain moves that one can detect in Volumatrix. This means that the price is about to change direction.
This is the case for any timeframe: seconds, minutes, hours, days, week, month, year, etc.
VWAP Wave turning bearish:
When a bearish trend is about to happen, the VWAP Wave will change its color to yellow and then finally to red.
That way, one can preemptively detect an upcoming bearish move. In general, the VWAP Wave can change to 3 different colors.
Red means bearish.
Bearish Dots:
From time to time, bearish red dots will appear.
When combined with other indications, the bearish dots can be handy in confirming an upcoming or present downtrend.
That said, one should never solely rely on dots when deciding whether the trend is bearish or not.
Instead, if a trader sees a red dot, it should be taken as a hint to look for further bearish indications.
EMA Background:
One can identify the general trend of a market by looking at the background color of the indicator.
When the background is red, one can assume that a bearish trend is present.
The background color changes based on the exponential moving average (EMA).
By default, the 200 EMA is set. Change this value based on your timeframe preferences.
VWAP Average:
When the white VWAP Average line crosses below the Zero Line, it acts as an additional trend confirmation if combined with the VWAP waves.
As the VWAP average does not weigh in the short-term movements too heavily, it is less affected by immediate volatility.
Therefore, traders usually use the VWAP Average as a calibration tool to interpret the VWAP Waves more precisely.
💤 Sideways Trend Confirmations:
VWAP Average:
When the VWAP Average is parallel and hovering around the Zero Line, either above or below it, that will indicate a sideways trend.
🚦 Usage - How and where to use it
The Volumatrix indicator is a universal indicator that works with any market capable of calculating a VWAP.
It’s currently being used in the following markets: cryptocurrency market, stock market, gold market and oil (just to name a few).
❗️ Requirements:
This indicator does not require any additional indicators as traders usually do in price action trading.
Basically, one just needs to follow the crossings, dots, and colors to get maximum certainty.
As a bonus, we recommend traders take advantage of TradingView’s multi-chart to catch more simultaneous confirmations.
🗣 Example Strategy: The 4 Timeframe Strategy
One can use the Volumatrix indicator along with the 4 timeframe strategy.
For example, open the 4 hour, 1 hour, 30 minute, and 5minute intervals simultaneously from left to right in a multi-chart layout.
Then lookout for the following conditions to meet:
OPEN LONG TRADE IF: On the 1-hour interval + 30-minute interval, Bullish Dots appear simultaneously
AND: On the 4-hour interval, the VWAP Wave is above the Zero Line
AND: On the 5-minute interval VWAP Wave is about to cross over the Zero Line or has already minimally crossed up.
OPEN SHORT TRADE IF: On the 1-hour interval + 30-minute interval, Bearish Dots appear simultaneously
AND: On the 4-hour interval VWAP Wave is below the Zero Line
AND: On the 5-minute interval VWAP Wave is about to cross under the Zero Line or has already minimally crossed down.
💡 Tips
Use TradingView’s 4-multi-chart layout to catch potential trades faster.
Use the indicator on a computer for optimal performance.
Set your computer screen to higher resolutions to get a better overview.
🔔 Alerts
With Volumatrix, you can use in-depth alerts like:
Bullish Dot
When a green dot at the bottom of the indicator appears
Bearish Dot
When a red dot at the bottom of the indicator appears
VWAP Wave Crossing Over Zero Line
When the VWAP Wave crosses over the Zero Line
VWAP Wave Crossing Under Zero Line
When the VWAP Wave crosses under the Zero Line
VWAP Wave Crossing Over Zero Line + Bullish Dot
When the VWAP Wave crosses over the Zero Line and a Bullish Dot appears
VWAP Wave Crossing Under Zero Line + Bearish Dot
When the VWAP Wave crosses over the Zero Line and a Bearish Dot appears
VWAP Average Crossing Over Zero Line
When the VWAP Average crosses over the Zero Line
VWAP Average Crossing Under Zero Line
When the VWAP Average crosses under the Zero Line
🔧 Settings
🔢 Inputs
These settings will change the behavior and outcome of the indicator.
EMA
Determines the number of previous candles that should be taken into calculation for the EMA background.
The value of the EMA can be changed to one's preferred value in accordance with the chosen interval.
The default value is 200.
🎨 Style
These settings will change the appearance of the indicator
VWAP Waves
Determines the color, opacity, thickness, and shape for the VWAP Waves.
The default shape is area.
The default colors are red, yellow & green.
VWAP Average
Determines the color, opacity, thickness, and shape for the VWAP Average.
The default shape is line.
The default color is white.
Zero Line
Determines the color, opacity, thickness, and shape for the Zero Line.
The default shape is a line.
The default color is white.
EMA Background
Determines the color & opacity for the Dynamic Background.
The default colors are black, red & green.
Bullish Dot
Determines the color, shape, opacity & location for the bullish dot.
The default shape is a circle.
The default color is green.
Bearish Dot
Determines the color, shape, opacity & location for the bearish dot.
The default shape is a circle.
The default color is red.
✅ Summary
Volumatrix is a unique indicator because, unlike many other VWAP tools, it's suited for simple as well as advanced analysis.
It’s a solid tool for immediately identifying the underlying trend of an asset.
Of course, this is true for any indicator based on the VWAP, which calculates an average using past data.
Still, Volumatrix is superior in this realm as it enhances the VWAP in its calculation and its visualization, while it comes with many advanced features.
❓ Questions
If you have any questions, just ask them here or in the Volumatrix community.
📚 Terminology
Bearish Dots: Red dots appearing at the bottom of the Volumatrix indicator.
Bullish Dots: Green dots appearing at the bottom of the Volumatrix indicator.
EMA: Exponential Moving Average - Tracks the price of an asset over time while giving more importance to recent price data.
Volume: A measure of how much of a given asset has traded in a period.
VWAP: Volume Weighted Average Price - The ratio of the value traded to total volume traded over time.
VWAP Average: Represents the average of the VWAP waves in the Volumatrix indicator.
VWAP Wave: The colorful waves representing the enhanced VWAP in the Volumatrix indicator.
Zero Line: It’s the indicator’s baseline and determines the beginning and end of a certain trend.
🙏 Acknowledgments
First, we would like to thank TradingView & PineCoders for this fantastic platform and technology.
We are also very grateful to our loyal trading community for constantly supporting our efforts.
We are looking forward to continuously improving this indicator for you.
Solar Movement Gradient-AYNETSummary of the Solar Movement Gradient Indicator
This Pine Script creates a dynamic, colorful indicator inspired by solar movements. It uses a sinusoidal wave to plot oscillations over time with a rainbow-like gradient that changes based on the wave's position.
Key Features
Sinusoidal Wave:
A wave oscillates smoothly based on the bar index (time) or optionally influenced by price movements.
The wave’s amplitude, baseline, and wavelength can be customized.
Dynamic Colors:
A spectrum of seven colors (red, orange, yellow, green, blue, purple, pink) is used.
The color changes smoothly along with the wave, emulating a solar gradient.
Background Gradient:
An optional gradient fills the background with colors matching the wave, adding a visually pleasing effect.
Customizable Inputs
Gradient Speed:
Adjusts how fast the wave and colors change over time.
Amplitude & Wavelength:
Controls the height and smoothness of the wave.
Price Influence:
Allows the wave to react dynamically to price movements.
Background Gradient:
Toggles a colorful gradient in the chart’s background.
Use Case
This indicator is designed for visual appeal rather than trading signals. It enhances the chart with a dynamic and colorful representation, making it perfect for aesthetic customization.
Let me know if you need further refinements! 🌈✨
aproxLibrary "aprox"
It's a library of the aproximations of a price or Series float it uses Fourier transform and
Euler's Theoreum for Homogenus White noice operations. Calling functions without source value it automatically take close as the default source value.
Copy this indicator to see how each approximations interact between each other.
import Celje_2300/aprox/1 as aprox
//@version=5
indicator("Close Price with Aproximations", shorttitle="Close and Aproximations", overlay=false)
// Sample input data (replace this with your own data)
inputData = close
// Plot Close Price
plot(inputData, color=color.blue, title="Close Price")
dtf32_result = aprox.DTF32()
plot(dtf32_result, color=color.green, title="DTF32 Aproximation")
fft_result = aprox.FFT()
plot(fft_result, color=color.red, title="DTF32 Aproximation")
wavelet_result = aprox.Wavelet()
plot(wavelet_result, color=color.orange, title="Wavelet Aproximation")
wavelet_std_result = aprox.Wavelet_std()
plot(wavelet_std_result, color=color.yellow, title="Wavelet_std Aproximation")
DFT3(xval, _dir)
Parameters:
xval (float)
_dir (int)
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - DFT3", shorttitle="DFT3 Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply DFT3
result = aprox.DFT3(inputData, 2)
// Plot the result
plot(result, color=color.blue, title="DFT3 Result")
DFT2(xval, _dir)
Parameters:
xval (float)
_dir (int)
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - DFT2", shorttitle="DFT2 Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply DFT2
result = aprox.DFT2(inputData, inputData, 1)
// Plot the result
plot(result, color=color.green, title="DFT2 Result")
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - DFT2", shorttitle="DFT2 Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply DFT2
result = aprox.DFT2(inputData, 1)
// Plot the result
plot(result, color=color.green, title="DFT2 Result")
FFT(xval)
FFT: Fast Fourier Transform
Parameters:
xval (float)
Returns: Aproxiated source value
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - FFT", shorttitle="FFT Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply FFT
result = aprox.FFT(inputData)
// Plot the result
plot(result, color=color.red, title="FFT Result")
DTF32(xval)
DTF32: Combined Discrete Fourier Transforms
Parameters:
xval (float)
Returns: Aproxiated source value
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - DTF32", shorttitle="DTF32 Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply DTF32
result = aprox.DTF32(inputData)
// Plot the result
plot(result, color=color.purple, title="DTF32 Result")
whitenoise(indic_, _devided, minEmaLength, maxEmaLength, src)
whitenoise: Ehler's Universal Oscillator with White Noise, without extra aproximated src
Parameters:
indic_ (float)
_devided (int)
minEmaLength (int)
maxEmaLength (int)
src (float)
Returns: Smoothed indicator value
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - whitenoise", shorttitle="whitenoise Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply whitenoise
result = aprox.whitenoise(aprox.FFT(inputData))
// Plot the result
plot(result, color=color.orange, title="whitenoise Result")
whitenoise(indic_, dft1, _devided, minEmaLength, maxEmaLength, src)
whitenoise: Ehler's Universal Oscillator with White Noise and DFT1
Parameters:
indic_ (float)
dft1 (float)
_devided (int)
minEmaLength (int)
maxEmaLength (int)
src (float)
Returns: Smoothed indicator value
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - whitenoise with DFT1", shorttitle="whitenoise-DFT1 Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply whitenoise with DFT1
result = aprox.whitenoise(inputData, aprox.DFT1(inputData))
// Plot the result
plot(result, color=color.yellow, title="whitenoise-DFT1 Result")
smooth(dft1, indic__, _devided, minEmaLength, maxEmaLength, src)
smooth: Smoothing source value with help of indicator series and aproximated source value
Parameters:
dft1 (float)
indic__ (float)
_devided (int)
minEmaLength (int)
maxEmaLength (int)
src (float)
Returns: Smoothed source series
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - smooth", shorttitle="smooth Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply smooth
result = aprox.smooth(inputData, aprox.FFT(inputData))
// Plot the result
plot(result, color=color.gray, title="smooth Result")
smooth(indic__, _devided, minEmaLength, maxEmaLength, src)
smooth: Smoothing source value with help of indicator series
Parameters:
indic__ (float)
_devided (int)
minEmaLength (int)
maxEmaLength (int)
src (float)
Returns: Smoothed source series
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - smooth without DFT1", shorttitle="smooth-NoDFT1 Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply smooth without DFT1
result = aprox.smooth(aprox.FFT(inputData))
// Plot the result
plot(result, color=color.teal, title="smooth-NoDFT1 Result")
vzo_ema(src, len)
vzo_ema: Volume Zone Oscillator with EMA smoothing
Parameters:
src (float)
len (simple int)
Returns: VZO value
vzo_sma(src, len)
vzo_sma: Volume Zone Oscillator with SMA smoothing
Parameters:
src (float)
len (int)
Returns: VZO value
vzo_wma(src, len)
vzo_wma: Volume Zone Oscillator with WMA smoothing
Parameters:
src (float)
len (int)
Returns: VZO value
alma2(series, windowsize, offset, sigma)
alma2: Arnaud Legoux Moving Average 2 accepts sigma as series float
Parameters:
series (float)
windowsize (int)
offset (float)
sigma (float)
Returns: ALMA value
Wavelet(src, len, offset, sigma)
Wavelet: Wavelet Transform
Parameters:
src (float)
len (int)
offset (simple float)
sigma (simple float)
Returns: Wavelet-transformed series
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - Wavelet", shorttitle="Wavelet Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply Wavelet
result = aprox.Wavelet(inputData)
// Plot the result
plot(result, color=color.blue, title="Wavelet Result")
Wavelet_std(src, len, offset, mag)
Wavelet_std: Wavelet Transform with Standard Deviation
Parameters:
src (float)
len (int)
offset (float)
mag (int)
Returns: Wavelet-transformed series
//@version=5
import Celje_2300/aprox/1 as aprox
indicator("Example - Wavelet_std", shorttitle="Wavelet_std Example", overlay=true)
// Sample input data (replace this with your own data)
inputData = close
// Apply Wavelet_std
result = aprox.Wavelet_std(inputData)
// Plot the result
plot(result, color=color.green, title="Wavelet_std Result")
Visual ProwessVisual Prowess: Ultimate Visual of Price Action Indicator
Overview
Visual Prowess is a Pine Script indicator that integrates Trend, Momentum, Strength/Weakness, Money Flow, and Volatility into a single, intuitive interface. Scaled from 0 to 100, it provides traders with clear bullish (>50) and bearish (<50) zones. Visual Prowess is made up of several data components which will be explained below. All these components have custom thresholds that lead to Green Dot Buy Signals and Red Dot sell signals. Designed for multi-timeframe analysis, it helps traders anticipate market moves with precision seeing behind the scenes of price action.
The fundamental inputs of price action are made up of different variables -- the components of Trend Strength, Volatility, Momentum, Money Flow/Volume and Overbought/Oversold. These are very important inputs market makers use. From what I've learned in my trading journey (always still learning), this is the data I value most important. This is why I combined all these components into one indicator.....to be an ultimate visual—this extrapolation of different pieces of data is the Visual Prowess.
What It Does
Visual Prowess combines five key market factors into a unified score (0-100) to assess market conditions by examining the price action like an x-ray aka Visual Prowess:
• Trend Direction & Strength (Green and Red Wave) : Identifies bullish (green clouds) or bearish (red clouds) trend. This data is designed to illustrate the trend by the color, and its strength by the height (score).
How it is Calculated = Data is derived from price action-- comparing the current and previous price highs and lows to measure the strength of upward (+) or downward (-) price movements, smoothed over a period and expressed as a percentage of the price range.
• Momentum (Blue and White Wave): Tracks price acceleration via a custom momentum oscillator, displayed as blue (positive) or white (negative) waves.
How it is Calculated = Data is calculated by subtracting a longer-term exponential moving average from a shorter-term exponential moving average to measure momentum and trend direction. Momentum strength is measured by height on 0-100 score, and color dictates the trend-- Blue up, White down.
• Strength Index (Purple Line): Measures overbought/oversold conditions with a normalized index, derived from price deviation.
How it is Calculated = Strength Index is calculated by comparing the average of price gains to the average of price losses over a specified period, expressed as a value between 0 and 100 to measure momentum and identify overbought or oversold conditions.
• Money Flow: Monitors capital inflows and outflows using a modified Money Flow Index, shown as green (buying) or red (selling) circles.
How it is Calculated = The Money Flow is calculated by using price and volume data to measure buying and selling pressure, comparing positive and negative money flow over a specified period to produce a value between 0 and 100, indicating overbought or oversold conditions and more importantly where the money is moving, + or -.
• Volatility: Gauges market volatility, marked by colored crosses (blue for low, red for high). Blue illustrates low volatility which is key for big moves either + or -; red to illustrate when price action is extremely overheated either + or -.
How it is Calculated = The volatility is calculated by the creator of the BBWP The_Caretaker. This excellent work is calculated using the width of the iconic indicator the Bollinger Bands (the difference between the upper and lower bands divided by the middle band (the moving average), expressed as a percentage to show how volatile the price is relative to its recent average.
Originality
Unlike traditional multi-indicator dashboards, Visual Prowess uses a combination of specific open-source indicators which I believe to be the most important inputs in price action-- trend, momentum, strength, money flow, and volatility into an all-in-one visual ratioed on a 0-100 scale. This unique synthesis of data reduces noise, prioritizes signal alignment, and a look behind the scenes of price action to see deeper into the movement – This combination of indicators has custom thresholds, when these components in alignment with each other hit certain parameters; it leads to key custom price action signals -- Green Dot Buy and Red Dot Sell signals.
There is also a bonus indicator….. a Yellow Triangle. When you see this, it is rare and strong. It only prints when strength index reaches extreme lows at the same time volatility reaches extreme highs…. It then waits to print the yellow triangle upon a third condition= which is price action is back in bullish/positive zone. This Yellow triangle is meant to be strong reversals of Macro Trend lows.
How to Use the Visual Prowess Components:
• Add to Chart: Apply Visual Prowess to any timeframe (recommended: higher timeframes 12H, 1D, 2D, 3D for optimal signals).
• Interpret Zones: Values >50 indicate bullish conditions (green background); <50 signal bearish conditions (red background).
Wait for Green Dot Buy signal for buys and Red Dot Sell signals for sells. One can read each component individually to gauge the price action and predict before the buy signal prints; all of those components merged together is what leads to the buy and sell signals. The story of what’s to come can be seen at lower timeframes before the higher timeframes print, that is a key way to gauge projections of bull or bear prints to come.
HOW TO READ EACH DATA COMPONENT
TREND CLOUDS: Green/red clouds show trend direction; vivid colors tied to number/ score on the 0-100 scale indicate strength of the trend.
Bull Conditions
Green cloud illustrates the trend is bullish. The height is correlated to the trend’s strength—this height is also aligned with colors, more transparent green is weak, then it gets more opaque being medium strength, and the most vibrant is the strongest. How to ride the bull condition is by seeing this transformation of trend get from weak to strong, until it tops out and the wave points down losing strength which alludes to the bear condition.
Bear Conditions
Vice versa with the bear condition. Different shades of red tie into the strength of the bear trend. How to read when things are about to get bearish, is by seeing bull trend shift levels of strength (Example- medium to weak). This transition of bull strength getting weaker is the start, once it gets to weak bear it has commenced until bearish strength tops out before it begins to get weaker leading to the next bull phase.
MOMENTUM WAVES: Blue waves above 50 suggest bullish momentum; white waves below 50 warn of bearish shifts.
Bull Conditions
Good to look at flips of white wave to blue in bearish zones to see the tide turning= guaranteed bullish when safely gets above and holds above 50 zone.
Bear Conditions
Vice versa for Bearish side of this momentum wave being blue wave turning white in bullish zone aiming down to break below 50 zone to confirm bearish descent.
STRENGTH INDEX: Values >80 indicate overbought; <20 suggest oversold. Look for “Bull” or “Bear” labels for divergences.
Bull Conditions
Above 50 level is key, so seeing price action break from below 50 to above 50 is strong buy condition until it gets overbought.
Bear Conditions
Once conditions are too overbought and falling making lower lows (especially when price action is climbing or staying sideways) it is indicating strength is getting weaker. When this indicator fights 50 level and breaks down below 50 level bearish conditions are coming until it gets to an oversold level.
MONEYFLOW: Green circles signal buying pressure; red circles indicate selling.
Bull Conditions
Green circles show money flow is positive so that’s a good sign of upward price action to come, and again above 50 level is bullish conditions
Bear Conditions
Red circles show money flow is negative so that’s a bad sign of price action to come, pointing down and breaking below 50 level is no good. It can have corrections in bullish scenario keep in mind seeing red doesn’t mean trend is over z9could be in higher low scenario).
VOLATILITY: Blue crosses (<25% volatility) suggest breakout potential; red crosses (>75%) warn of overheated markets.
Bull Conditions
This is a very important indication. Big volatile moves can move either direction + or -. When all other components look positive/bullish and this is signalling blue crosses it means a big move is coming and will most likely be in the upward direction –If all other components align/lean bullish.
Another bullish scenario is when price action is down large and red crosses are forming. This indicates that the downward move is overheated (red x’s are rare). This extremely oversold condition can be great buying opportunities when volatility is hot printing red x’s.
Bear Conditions
When all other components look negative/bearish and this is signalling blue crosses it means a big move is coming and will most likely be in the downward direction –If all other components align/lean bearish.
Another bearish scenario is when price action is up large and red crosses are forming. This indicates that the upward move is overheated (red x’s are rare). This extremely overbought condition can be great selling opportunities when volatility is hot printing red x’s.
*****All these components in alignment of hitting each pertaining important threshold--is what prints the green dot and sell signals to trade by. It is not black and white; each component has a sweet spot fine tuned to be triggered through analysis of what is happening individually to each component and how it is reacting to the price action data.
EXAMPLE= Taking a look at the screenshot (Perfect Scenario)
Bullish Examination
- Taking a look at the 2-D timeframe on BTC
x>50
x= all components traveling to the bullish zone. Blue wave, Strength Index with bullish divergence accumulation, Money Flow Positive with Green Trend Wave starting, with teal low volatility cross→→→ leads to Green Dot Buy Signal print…. And the big rise speaks for itself with price action and the big mountain wave of the Green Trend Wave.
This rise leads to
↓↓↓↓
Bearish Examination
Strength Index gets really high at 80 scale, Red X’s showing extremely heated Volatility, Money Flow turning red and sloping down, Trend Wave peaking starting to roll over, Blue Momentum Wave transitioning to white, bearish divergence of price action related to Strength Index→→→ leads to Red Dot Sell Signal print… and the flush speaks for itself when all components fall below 50 level with Trend wave turning red
All this is forecasted in the data, showing weakness before weakness and showing strength before strength. It works because every single piece of important elements in data of price action is incorporated in this all-in-one indicator…. Which leads to the reasoning of me calling this indicator the Visual Prowess, for its unprecedent sharpness of visual observation.
****This is a passion script incorporating every piece of data I value important when reading a chart — to see current perspective of a chart and to help foresee future projection of direction Up or Down. Any community feedback is greatly appreciated. Ongoing work will be done on this script as new thoughts and fine tuning will continuously be done for infinity, as this is my personal go to model for data on the markets.
Awesome Oscillator (AO) with Signals [AIBitcoinTrend]👽 Multi-Scale Awesome Oscillator (AO) with Signals (AIBitcoinTrend)
The Multi-Scale Awesome Oscillator transforms the traditional Awesome Oscillator (AO) by integrating multi-scale wavelet filtering, enhancing its ability to detect momentum shifts while maintaining responsiveness across different market conditions.
Unlike conventional AO calculations, this advanced version refines trend structures using high-frequency, medium-frequency, and low-frequency wavelet components, providing traders with superior clarity and adaptability.
Additionally, it features real-time divergence detection and an ATR-based dynamic trailing stop, making it a powerful tool for momentum analysis, reversals, and breakout strategies.
👽 What Makes the Multi-Scale AO – Wavelet-Enhanced Momentum Unique?
Unlike traditional AO indicators, this enhanced version leverages wavelet-based decomposition and volatility-adjusted normalization, ensuring improved signal consistency across various timeframes and assets.
✅ Wavelet Smoothing – Multi-Scale Extraction – Captures short-term fluctuations while preserving broader trend structures.
✅ Frequency-Based Detail Weights – Separates high, medium, and low-frequency components to reduce noise and improve trend clarity.
✅ Real-Time Divergence Detection – Identifies bullish and bearish divergences for early trend reversals.
✅ Crossovers & ATR-Based Trailing Stops – Implements intelligent trade management with adaptive stop-loss levels.
👽 The Math Behind the Indicator
👾 Wavelet-Based AO Smoothing
The indicator applies multi-scale wavelet decomposition to extract high-frequency, medium-frequency, and low-frequency trend components, ensuring an optimal balance between reactivity and smoothness.
sma1 = ta.sma(signal, waveletPeriod1)
sma2 = ta.sma(signal, waveletPeriod2)
sma3 = ta.sma(signal, waveletPeriod3)
detail1 = signal - sma1 // High-frequency detail
detail2 = sma1 - sma2 // Intermediate detail
detail3 = sma2 - sma3 // Low-frequency detail
advancedAO = weightDetail1 * detail1 + weightDetail2 * detail2 + weightDetail3 * detail3
Why It Works:
Short-Term Smoothing: Captures rapid fluctuations while minimizing noise.
Medium-Term Smoothing: Balances short-term and long-term trends.
Long-Term Smoothing: Enhances trend stability and reduces false signals.
👾 Z-Score Normalization
To ensure consistency across different markets, the Awesome Oscillator is normalized using a Z-score transformation, making overbought and oversold levels stable across all assets.
normFactor = ta.stdev(advancedAO, normPeriod)
normalizedAO = advancedAO / nz(normFactor, 1)
Why It Works:
Standardizes AO values for comparison across assets.
Enhances signal reliability, preventing misleading spikes.
👽 How Traders Can Use This Indicator
👾 Divergence Trading Strategy
Bullish Divergence
Price makes a lower low, while AO forms a higher low.
A buy signal is confirmed when AO starts rising.
Bearish Divergence
Price makes a higher high, while AO forms a lower high.
A sell signal is confirmed when AO starts declining.
👾 Buy & Sell Signals with Trailing Stop
Bullish Setup:
✅AO crosses above the bullish trigger level → Buy Signal.
✅Trailing stop placed at Low - (ATR × Multiplier).
✅Exit if price crosses below the stop.
Bearish Setup:
✅AO crosses below the bearish trigger level → Sell Signal.
✅Trailing stop placed at High + (ATR × Multiplier).
✅Exit if price crosses above the stop.
👽 Why It’s Useful for Traders
Wavelet-Enhanced Filtering – Retains essential trend details while eliminating excessive noise.
Multi-Scale Momentum Analysis – Separates different trend frequencies for enhanced clarity.
Real-Time Divergence Alerts – Identifies early reversal signals for better entries and exits.
ATR-Based Risk Management – Ensures stops dynamically adapt to market conditions.
Works Across Markets & Timeframes – Suitable for stocks, forex, crypto, and futures trading.
👽 Indicator Settings
AO Short Period – Defines the short-term moving average for AO calculation.
AO Long Period – Defines the long-term moving average for AO smoothing.
Wavelet Smoothing – Adjusts multi-scale decomposition for different market conditions.
Divergence Detection – Enables or disables real-time divergence analysis. Normalization Period – Sets the lookback period for standard deviation-based AO normalization.
Cross Signals Sensitivity – Controls crossover signal strength for buy/sell signals.
ATR Trailing Stop Multiplier – Adjusts the sensitivity of the trailing stop.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
mathLibrary "math"
It's a library of discrete aproximations of a price or Series float it uses Fourier Discrete transform, Laplace Discrete Original and Modified transform and Euler's Theoreum for Homogenus White noice operations. Calling functions without source value it automatically take close as the default source value.
Here is a picture of Laplace and Fourier approximated close prices from this library:
Copy this indicator and try it yourself:
import AutomatedTradingAlgorithms/math/1 as math
//@version=5
indicator("Close Price with Aproximations", shorttitle="Close and Aproximations", overlay=false)
// Sample input data (replace this with your own data)
inputData = close
// Plot Close Price
plot(inputData, color=color.blue, title="Close Price")
ltf32_result = math.LTF32(a=0.01)
plot(ltf32_result, color=color.green, title="LTF32 Aproximation")
fft_result = math.FFT()
plot(fft_result, color=color.red, title="Fourier Aproximation")
wavelet_result = math.Wavelet()
plot(wavelet_result, color=color.orange, title="Wavelet Aproximation")
wavelet_std_result = math.Wavelet_std()
plot(wavelet_std_result, color=color.yellow, title="Wavelet_std Aproximation")
DFT3(xval, _dir)
Discrete Fourier Transform with last 3 points
Parameters:
xval (float) : Source series
_dir (int) : Direction parameter
Returns: Aproxiated source value
DFT2(xval, _dir)
Discrete Fourier Transform with last 2 points
Parameters:
xval (float) : Source series
_dir (int) : Direction parameter
Returns: Aproxiated source value
FFT(xval)
Fast Fourier Transform once. It aproximates usig last 3 points.
Parameters:
xval (float) : Source series
Returns: Aproxiated source value
DFT32(xval)
Combined Discrete Fourier Transforms of DFT3 and DTF2 it aproximates last point by first
aproximating last 3 ponts and than using last 2 points of the previus.
Parameters:
xval (float) : Source series
Returns: Aproxiated source value
DTF32(xval)
Combined Discrete Fourier Transforms of DFT3 and DTF2 it aproximates last point by first
aproximating last 3 ponts and than using last 2 points of the previus.
Parameters:
xval (float) : Source series
Returns: Aproxiated source value
LFT3(xval, _dir, a)
Discrete Laplace Transform with last 3 points
Parameters:
xval (float) : Source series
_dir (int) : Direction parameter
a (float) : laplace coeficient
Returns: Aproxiated source value
LFT2(xval, _dir, a)
Discrete Laplace Transform with last 2 points
Parameters:
xval (float) : Source series
_dir (int) : Direction parameter
a (float) : laplace coeficient
Returns: Aproxiated source value
LFT(xval, a)
Fast Laplace Transform once. It aproximates usig last 3 points.
Parameters:
xval (float) : Source series
a (float) : laplace coeficient
Returns: Aproxiated source value
LFT32(xval, a)
Combined Discrete Laplace Transforms of LFT3 and LTF2 it aproximates last point by first
aproximating last 3 ponts and than using last 2 points of the previus.
Parameters:
xval (float) : Source series
a (float) : laplace coeficient
Returns: Aproxiated source value
LTF32(xval, a)
Combined Discrete Laplace Transforms of LFT3 and LTF2 it aproximates last point by first
aproximating last 3 ponts and than using last 2 points of the previus.
Parameters:
xval (float) : Source series
a (float) : laplace coeficient
Returns: Aproxiated source value
whitenoise(indic_, _devided, minEmaLength, maxEmaLength, src)
Ehler's Universal Oscillator with White Noise, without extra aproximated src.
It uses dinamic EMA to aproximate indicator and thus reducing noise.
Parameters:
indic_ (float) : Input series for the indicator values to be smoothed
_devided (int) : Divisor for oscillator calculations
minEmaLength (int) : Minimum EMA length
maxEmaLength (int) : Maximum EMA length
src (float) : Source series
Returns: Smoothed indicator value
whitenoise(indic_, dft1, _devided, minEmaLength, maxEmaLength, src)
Ehler's Universal Oscillator with White Noise and DFT1.
It uses src and sproxiated src (dft1) to clearly define white noice.
It uses dinamic EMA to aproximate indicator and thus reducing noise.
Parameters:
indic_ (float) : Input series for the indicator values to be smoothed
dft1 (float) : Aproximated src value for white noice calculation
_devided (int) : Divisor for oscillator calculations
minEmaLength (int) : Minimum EMA length
maxEmaLength (int) : Maximum EMA length
src (float) : Source series
Returns: Smoothed indicator value
smooth(dft1, indic__, _devided, minEmaLength, maxEmaLength, src)
Smoothing source value with help of indicator series and aproximated source value
It uses src and sproxiated src (dft1) to clearly define white noice.
It uses dinamic EMA to aproximate src and thus reducing noise.
Parameters:
dft1 (float) : Value to be smoothed.
indic__ (float) : Optional input for indicator to help smooth dft1 (default is FFT)
_devided (int) : Divisor for smoothing calculations
minEmaLength (int) : Minimum EMA length
maxEmaLength (int) : Maximum EMA length
src (float) : Source series
Returns: Smoothed source (src) series
smooth(indic__, _devided, minEmaLength, maxEmaLength, src)
Smoothing source value with help of indicator series
It uses dinamic EMA to aproximate src and thus reducing noise.
Parameters:
indic__ (float) : Optional input for indicator to help smooth dft1 (default is FFT)
_devided (int) : Divisor for smoothing calculations
minEmaLength (int) : Minimum EMA length
maxEmaLength (int) : Maximum EMA length
src (float) : Source series
Returns: Smoothed src series
vzo_ema(src, len)
Volume Zone Oscillator with EMA smoothing
Parameters:
src (float) : Source series
len (simple int) : Length parameter for EMA
Returns: VZO value
vzo_sma(src, len)
Volume Zone Oscillator with SMA smoothing
Parameters:
src (float) : Source series
len (int) : Length parameter for SMA
Returns: VZO value
vzo_wma(src, len)
Volume Zone Oscillator with WMA smoothing
Parameters:
src (float) : Source series
len (int) : Length parameter for WMA
Returns: VZO value
alma2(series, windowsize, offset, sigma)
Arnaud Legoux Moving Average 2 accepts sigma as series float
Parameters:
series (float) : Input series
windowsize (int) : Size of the moving average window
offset (float) : Offset parameter
sigma (float) : Sigma parameter
Returns: ALMA value
Wavelet(src, len, offset, sigma)
Aproxiates srt using Discrete wavelet transform.
Parameters:
src (float) : Source series
len (int) : Length parameter for ALMA
offset (simple float)
sigma (simple float)
Returns: Wavelet-transformed series
Wavelet_std(src, len, offset, mag)
Aproxiates srt using Discrete wavelet transform with standard deviation as a magnitude.
Parameters:
src (float) : Source series
len (int) : Length parameter for ALMA
offset (float) : Offset parameter for ALMA
mag (int) : Magnitude parameter for standard deviation
Returns: Wavelet-transformed series
LaplaceTransform(xval, N, a)
Original Laplace Transform over N set of close prices
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
Returns: Aproxiated source value
NLaplaceTransform(xval, N, a, repeat)
Y repetirions on Original Laplace Transform over N set of close prices, each time N-k set of close prices
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
repeat (int) : number of repetitions
Returns: Aproxiated source value
LaplaceTransformsum(xval, N, a, b)
Sum of 2 exponent coeficient of Laplace Transform over N set of close prices
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
b (float) : second laplace coeficient
Returns: Aproxiated source value
NLaplaceTransformdiff(xval, N, a, b, repeat)
Difference of 2 exponent coeficient of Laplace Transform over N set of close prices
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
b (float) : second laplace coeficient
repeat (int) : number of repetitions
Returns: Aproxiated source value
N_divLaplaceTransformdiff(xval, N, a, b, repeat)
N repetitions of Difference of 2 exponent coeficient of Laplace Transform over N set of close prices, with dynamic rotation
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
b (float) : second laplace coeficient
repeat (int) : number of repetitions
Returns: Aproxiated source value
LaplaceTransformdiff(xval, N, a, b)
Difference of 2 exponent coeficient of Laplace Transform over N set of close prices
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
b (float) : second laplace coeficient
Returns: Aproxiated source value
NLaplaceTransformdiffFrom2(xval, N, a, b, repeat)
N repetitions of Difference of 2 exponent coeficient of Laplace Transform over N set of close prices, second element has for 1 higher exponent factor
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
b (float) : second laplace coeficient
repeat (int) : number of repetitions
Returns: Aproxiated source value
N_divLaplaceTransformdiffFrom2(xval, N, a, b, repeat)
N repetitions of Difference of 2 exponent coeficient of Laplace Transform over N set of close prices, second element has for 1 higher exponent factor, dynamic rotation
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
b (float) : second laplace coeficient
repeat (int) : number of repetitions
Returns: Aproxiated source value
LaplaceTransformdiffFrom2(xval, N, a, b)
Difference of 2 exponent coeficient of Laplace Transform over N set of close prices, second element has for 1 higher exponent factor
Parameters:
xval (float) : series to aproximate
N (int) : number of close prices in calculations
a (float) : laplace coeficient
b (float) : second laplace coeficient
Returns: Aproxiated source value
Stochastic Zone Strength Trend [wbburgin](This script was originally invite-only, but I'd vastly prefer contributing to the TradingView community more than anything else, so I am making it public :) I'd much rather share my ideas with you all.)
The Stochastic Zone Strength Trend indicator is a very powerful momentum and trend indicator that 1) identifies trend direction and strength, 2) determines pullbacks and reversals (including oversold and overbought conditions), 3) identifies divergences, and 4) can filter out ranges. I have some examples below on how to use it to its full effectiveness. It is composed of two components: Stochastic Zone Strength and Stochastic Trend Strength.
Stochastic Zone Strength
At its most basic level, the stochastic Zone Strength plots the momentum of the price action of the instrument, and identifies bearish and bullish changes with a high degree of accuracy. Think of the stochastic Zone Strength as a much more robust equivalent of the RSI. Momentum-change thresholds are demonstrated by the "20" and "80" levels on the indicator (see below image).
Stochastic Trend Strength
The stochastic Trend Strength component of the script uses resistance in each candlestick to calculate the trend strength of the instrument. I'll go more into detail about the settings after my description of how to use the indicator, but there are two forms of the stochastic Trend Strength:
Anchored at 50 (directional stochastic Trend Strength):
The directional stochastic Trend Strength can be used similarly to the MACD difference or other histogram-like indicators : a rising plot indicates an upward trend, while a falling plot indicates a downward trend.
Anchored at 0 (nondirectional stochastic Trend Strength):
The nondirectional stochastic Trend Strength can be used similarly to the ADX or other non-directional indicators : a rising plot indicates increasing trend strength, and look at the stochastic Zone Strength component and your instrument to determine if this indicates increasing bullish strength or increasing bearish strength (see photo below):
(In the above photo, a bearish divergence indicated that the high Trend Strength predicted a strong downwards move, which was confirmed shortly after. Later, a bullish move upward by the Zone Strength while the Trend Strength was elevated predicated a strong upwards move, which was also confirmed. Note the period where the Trend Strength never reached above 80, which indicated a ranging period (and thus unprofitable to enter or exit)).
How to Use the Indicator
The above image is a good example on how to use the indicator to determine divergences and possible pivot points (lines and circles, respectively). I recommend using both the stochastic Zone Strength and the stochastic Trend Strength at the same time, as it can give you a robust picture of where momentum is in relation to the price action and its trajectory. Every color is changeable in the settings.
Settings
The Amplitude of the indicator is essentially the high-low lookback for both components.
The Wavelength of the indicator is how stretched-out you want the indicator to be: how many amplitudes do you want the indicator to process in one given bar.
A useful analogy that I use (and that I derived the names from) is from traditional physics. In wave motion, the Amplitude is the up-down sensitivity of the wave, and the Wavelength is the side-side stretch of the wave.
The Smoothing Factor of the settings is simply how smoothed you want the stochastic to be. It's not that important in most circumstances.
Trend Anchor was covered above (see my description of Trend Strength). The "Trend Transform MA Length" is the EMA length of the Trend Strength that you use to transform it into the directional oscillator. Think of the EMA being transformed onto the 50 line and then the Trend Strength being dragged relative to that.
Trend Transform MA Length is the EMA length you want to use for transforming the nondirectional Trend Strength (anchored at 0) into the directional Trend Strength (anchored at 50). I suggest this be the same as the wavelength.
Trend Plot Type can transform the Nondirectional Trend Strength into a line plot so that it doesn't murk up the background.
Finally, the colors are changeable on the bottom.
Explanation of Zone Strength
If you're knowledgeable in Pine Script, I encourage you to look at the code to try to understand the concept, as it's a little complicated. The theory behind my Zone Strength concept is that the wicks in every bar can be used create an index of bullish and bearish resistance, as a wick signifies that the price crossed above a threshold before returning to its origin. This distance metric is unique because most indicators/formulas for calculating relative strength use a displacement metric (such as close - open) instead of measuring how far the price actually moved (up and down) within a candlestick. This is what the Zone Strength concept represents - the hesitation within the bar that is not typically represented in typical momentum indicators.
In the script's code I have step by step explanations of how the formula is calculated and why it is calculated as such. I encourage you to play around with the amplitude and wavelength inputs as they can make the zone strength look very different and perform differently depending on your interests.
Enjoy!
Walker
MFx Radar (Money Flow x-Radar)Description:
MFx Radar is a precision-built multi-timeframe analysis tool designed to identify high-probability trend shifts and accumulation/distribution events using a combination of WaveTrend dynamics, normalized money flow, RSI, BBWP, and OBV-based trend biasing.
Multi-Timeframe Trend Scanner
Analyze trend direction across 5 customizable timeframes using WaveTrend logic to produce a clear trend consensus.
Smart Money Flow Detection
Adaptive hybrid money flow combines CMF and MFI, normalized across lookback periods, to pinpoint shifts in accumulation or distribution with high sensitivity.
Event-Based Labels & Alerts
Minimalist "Accum" and "Distr" text labels appear at key inflection points, based on hybrid flow flips — designed to highlight smart money moves without clutter.
Trigger & Pattern Recognition
Built-in logic detects anchor points, trigger confirmations, and rare "Snake Eye" formations directly on WaveTrend, enhancing trade timing accuracy.
Visual Dashboard Table
A real-time table provides score-based insight into signal quality, trend direction, and volume behavior, giving you a full picture at a glance.
MFx Radar helps streamline discretionary and system-based trading decisions by surfacing key confluences across price, volume, and momentum all while staying out of your way visually.
How to Use MFx Radar
MFx Radar is a multi-timeframe market intelligence tool designed to help you spot trend direction, momentum shifts, volume strength, and high-probability trade setups using confluence across price, flow, and timeframes.
Where to find settings To see the full visual setup:
After adding the script, open the Settings gear. Go to the Inputs tab and enable:
Show Trigger Diamonds
Show WT Cross Circles
Show Anchor/Trigger/Snake Eye Labels
Show Table
Show OBV Divergence
Show Multi-TF Confluence
Show Signal Score
Then, go to the Style tab to adjust colors and fills for the wave plots and hybrid money flow. (Use published chart as a reference.)
What the Waves and Colors Mean
Blue WaveTrend (WT1 / WT2). These are the main momentum waves.
WT1 > WT2 = bullish momentum
WT1 < WT2 = bearish momentum
Above zero = bullish bias
Below zero = bearish bias
When WT1 crosses above WT2, it often marks the beginning of a move — these are shown as green trigger diamonds.
VWAP-MACD Line
The yellow fill helps spot volume-based momentum.
Rising = trend acceleration
Use together with BBWP (bollinger band width percentile) and hybrid money flow for confirmation.
Hybrid Money Flow
Combines CMF and MFI, normalized and smoothed.
Green = accumulation
Red = distribution
Transitions are key — especially when price moves up, but money flow stays red (a divergence warning).
This is useful for spotting fakeouts or confirming smart money shifts.
Orange Vertical Highlights
Shows when price is rising, but money flow is still red.
Often a sign of hidden distribution or "exit pump" behavior.
Table Dashboard (Bottom-Right)
BBWP (Volatility Pulse)
When BBWP is low (<20), it signals consolidation — a breakout is likely to follow.
Use this with ADX and WaveTrend position to anticipate directional breakouts.
Trend by ADX
Shows whether the market is trending and in which direction.
Combined with money flow and RSI, this gives strong confirmation on breakouts.
OBV HTF Bias
Gives higher timeframe pressure (bullish/bearish/neutral).
Helps avoid taking counter-trend trades.
Pattern Labels (WT-Based)
A = Anchor Wave — WT hitting oversold
T = Trigger Wave — WT turning back up after anchor
👀 = Snake Eyes — Rare pattern, usually signaling strong reversal potential
These help in timing entries, especially when they align with other signals like BBWP breakouts, confluence, or smart money flow flips.
Multi-Timeframe (MTF) Consensus
The system checks WaveTrend on 5 different timeframes and gives:
Color-coded signals on each TF
A final score: “Mostly Up,” “Mostly Down,” or “Mixed”
When MTFs align with wave crosses, BBWP expansion, and hybrid money flow shifts, the probability of sustained move is higher.
Divergence Spotting (Advanced Tip)
Watch for:Price rising while money flow is red → Possible trap / early exit
Price dropping while money flow is green → Early accumulation
Combine this with anchor-trigger patterns and MTF trend support for spotting bottoms or tops early.
Final Tips
Use WT trigger crosses as initial signal. Confirm with money flow direction + color flip
Look at BBWP for breakout timing. Use table as your decision dashboard
Favor trades that align with MTF consensus
TASC 2025.06 Cybernetic Oscillator█ OVERVIEW
This script implements the Cybernetic Oscillator introduced by John F. Ehlers in his article "The Cybernetic Oscillator For More Flexibility, Making A Better Oscillator" from the June 2025 edition of the TASC Traders' Tips . It cascades two-pole highpass and lowpass filters, then scales the result by its root mean square (RMS) to create a flexible normalized oscillator that responds to a customizable frequency range for different trading styles.
█ CONCEPTS
Oscillators are indicators widely used by technical traders. These indicators swing above and below a center value, emphasizing cyclic movements within a frequency range. In his article, Ehlers explains that all oscillators share a common characteristic: their calculations involve computing differences . The reliance on differences is what causes these indicators to oscillate about a central point.
The difference between two data points in a series acts as a highpass filter — it allows high frequencies (short wavelengths) to pass through while significantly attenuating low frequencies (long wavelengths). Ehlers demonstrates that a simple difference calculation attenuates lower-frequency cycles at a rate of 6 dB per octave. However, the difference also significantly amplifies cycles near the shortest observable wavelength, making the result appear noisier than the original series. To mitigate the effects of noise in a differenced series, oscillators typically smooth the series with a lowpass filter, such as a moving average.
Ehlers highlights an underlying issue with smoothing differenced data to create oscillators. He postulates that market data statistically follows a pink spectrum , where the amplitudes of cyclic components in the data are approximately directly proportional to the underlying periods. Specifically, he suggests that cyclic amplitude increases by 6 dB per octave of wavelength.
Because some conventional oscillators, such as RSI, use differencing calculations that attenuate cycles by only 6 dB per octave, and market cycles increase in amplitude by 6 dB per octave, such calculations do not have a tangible net effect on larger wavelengths in the analyzed data. The influence of larger wavelengths can be especially problematic when using these oscillators for mean reversion or swing signals. For instance, an expected reversion to the mean might be erroneous because oscillator's mean might significantly deviate from its center over time.
To address the issues with conventional oscillator responses, Ehlers created a new indicator dubbed the Cybernetic Oscillator. It uses a simple combination of highpass and lowpass filters to emphasize a specific range of frequencies in the market data, then normalizes the result based on RMS. The process is as follows:
Apply a two-pole highpass filter to the data. This filter's critical period defines the longest wavelength in the oscillator's passband.
Apply a two-pole SuperSmoother (lowpass filter) to the highpass-filtered data. This filter's critical period defines the shortest wavelength in the passband.
Scale the resulting waveform by its RMS. If the filtered waveform follows a normal distribution, the scaled result represents amplitude in standard deviations.
The oscillator's two-pole filters attenuate cycles outside the desired frequency range by 12 dB per octave. This rate outweighs the apparent rate of amplitude increase for successively longer market cycles (6 dB per octave). Therefore, the Cybernetic Oscillator provides a more robust isolation of cyclic content than conventional oscillators. Best of all, traders can set the periods of the highpass and lowpass filters separately, enabling fine-tuning of the frequency range for different trading styles.
█ USAGE
The "Highpass period" input in the "Settings/Inputs" tab specifies the longest wavelength in the oscillator's passband, and the "Lowpass period" input defines the shortest wavelength. The oscillator becomes more responsive to rapid movements with a smaller lowpass period. Conversely, it becomes more sensitive to trends with a larger highpass period. Ehlers recommends setting the smallest period to a value above 8 to avoid aliasing. The highpass period must not be smaller than the lowpass period. Otherwise, it causes a runtime error.
The "RMS length" input determines the number of bars in the RMS calculation that the indicator uses to normalize the filtered result.
This indicator also features two distinct display styles, which users can toggle with the "Display style" input. With the "Trend" style enabled, the indicator plots the oscillator with one of two colors based on whether its value is above or below zero. With the "Threshold" style enabled, it plots the oscillator as a gray line and highlights overbought and oversold areas based on the user-specified threshold.
Below, we show two instances of the script with different settings on an equities chart. The first uses the "Threshold" style with default settings to pass cycles between 20 and 30 bars for mean reversion signals. The second uses a larger highpass period of 250 bars and the "Trend" style to visualize trends based on cycles spanning less than one year:
Infinity Market Grid -AynetConcept
Imagine viewing the market as a dynamic grid where price, time, and momentum intersect to reveal infinite possibilities. This indicator leverages:
Grid-Based Market Flow: Visualizes price action as a grid with zones for:
Accumulation
Distribution
Breakout Expansion
Volatility Compression
Predictive Dynamic Layers:
Forecasts future price zones using historical volatility and momentum.
Tracks event probabilities like breakout, fakeout, and trend reversals.
Data Science Visuals:
Uses heatmap-style layers, moving waveforms, and price trajectory paths.
Interactive Alerts:
Real-time alerts for high-probability market events.
Marks critical zones for "buy," "sell," or "wait."
Key Features
Market Layers Grid:
Creates dynamic "boxes" around price using fractals and ATR-based volatility.
These boxes show potential future price zones and probabilities.
Volatility and Momentum Waves:
Overlay volatility oscillators and momentum bands for directional context.
Dynamic Heatmap Zones:
Colors the chart dynamically based on breakout probabilities and risk.
Price Path Prediction:
Tracks price trajectory as a moving "wave" across the grid.
How It Works
Grid Box Structure:
Upper and lower price levels are based on ATR (volatility) and plotted dynamically.
Dashed green/red lines show the grid for potential price expansion zones.
Heatmap Zones:
Colors the background based on probabilities:
Green: High breakout probability.
Blue: High consolidation probability.
Price Path Prediction:
Forecasts future price movements using momentum.
Plots these as a dynamic "wave" on the chart.
Momentum and Volatility Waves:
Shows the relationship between momentum and volatility as oscillating waves.
Helps identify when momentum exceeds volatility (potential breakouts).
Buy/Sell Signals:
Triggers when price approaches grid edges with strong momentum.
Provides alerts and visual markers.
Why Is It Revolutionary?
Grid and Wave Synergy:
Combines structural price zones (grid boxes) with real-time momentum and volatility waves.
Predictive Analytics:
Uses momentum-based forecasting to visualize what’s next, not just what’s happening.
Dynamic Heatmap:
Creates a living map of breakout/consolidation zones in real-time.
Scalable for Any Market:
Works seamlessly with forex, crypto, and stocks by adjusting the ATR multiplier and box length.
This indicator is not just a tool but a framework for understanding market dynamics at a deeper level. Let me know if you'd like to take it even further — for example, adding machine learning-inspired probability models or multi-timeframe analysis! 🚀
MathConstantsAtomicLibrary "MathConstantsAtomic"
Mathematical Constants
FineStructureConstant() Fine Structure Constant: alpha = e^2/4*Pi*e_0*h_bar*c_0 (2007 CODATA)
RydbergConstant() Rydberg Constant: R_infty = alpha^2*m_e*c_0/2*h (2007 CODATA)
BohrRadius() Bor Radius: a_0 = alpha/4*Pi*R_infty (2007 CODATA)
HartreeEnergy() Hartree Energy: E_h = 2*R_infty*h*c_0 (2007 CODATA)
QuantumOfCirculation() Quantum of Circulation: h/2*m_e (2007 CODATA)
FermiCouplingConstant() Fermi Coupling Constant: G_F/(h_bar*c_0)^3 (2007 CODATA)
WeakMixingAngle() Weak Mixin Angle: sin^2(theta_W) (2007 CODATA)
ElectronMass() Electron Mass: (2007 CODATA)
ElectronMassEnergyEquivalent() Electron Mass Energy Equivalent: (2007 CODATA)
ElectronMolarMass() Electron Molar Mass: (2007 CODATA)
ComptonWavelength() Electron Compton Wavelength: (2007 CODATA)
ClassicalElectronRadius() Classical Electron Radius: (2007 CODATA)
ThomsonCrossSection() Thomson Cross Section: (2002 CODATA)
ElectronMagneticMoment() Electron Magnetic Moment: (2007 CODATA)
ElectronGFactor() Electon G-Factor: (2007 CODATA)
MuonMass() Muon Mass: (2007 CODATA)
MuonMassEnegryEquivalent() Muon Mass Energy Equivalent: (2007 CODATA)
MuonMolarMass() Muon Molar Mass: (2007 CODATA)
MuonComptonWavelength() Muon Compton Wavelength: (2007 CODATA)
MuonMagneticMoment() Muon Magnetic Moment: (2007 CODATA)
MuonGFactor() Muon G-Factor: (2007 CODATA)
TauMass() Tau Mass: (2007 CODATA)
TauMassEnergyEquivalent() Tau Mass Energy Equivalent: (2007 CODATA)
TauMolarMass() Tau Molar Mass: (2007 CODATA)
TauComptonWavelength() Tau Compton Wavelength: (2007 CODATA)
ProtonMass() Proton Mass: (2007 CODATA)
ProtonMassEnergyEquivalent() Proton Mass Energy Equivalent: (2007 CODATA)
ProtonMolarMass() Proton Molar Mass: (2007 CODATA)
ProtonComptonWavelength() Proton Compton Wavelength: (2007 CODATA)
ProtonMagneticMoment() Proton Magnetic Moment: (2007 CODATA)
ProtonGFactor() Proton G-Factor: (2007 CODATA)
ShieldedProtonMagneticMoment() Proton Shielded Magnetic Moment: (2007 CODATA)
ProtonGyromagneticRatio() Proton Gyro-Magnetic Ratio: (2007 CODATA)
ShieldedProtonGyromagneticRatio() Proton Shielded Gyro-Magnetic Ratio: (2007 CODATA)
NeutronMass() Neutron Mass: (2007 CODATA)
NeutronMassEnegryEquivalent() Neutron Mass Energy Equivalent: (2007 CODATA)
NeutronMolarMass() Neutron Molar Mass: (2007 CODATA)
NeutronComptonWavelength() Neuron Compton Wavelength: (2007 CODATA)
NeutronMagneticMoment() Neutron Magnetic Moment: (2007 CODATA)
NeutronGFactor() Neutron G-Factor: (2007 CODATA)
NeutronGyromagneticRatio() Neutron Gyro-Magnetic Ratio: (2007 CODATA)
DeuteronMass() Deuteron Mass: (2007 CODATA)
DeuteronMassEnegryEquivalent() Deuteron Mass Energy Equivalent: (2007 CODATA)
DeuteronMolarMass() Deuteron Molar Mass: (2007 CODATA)
DeuteronMagneticMoment() Deuteron Magnetic Moment: (2007 CODATA)
HelionMass() Helion Mass: (2007 CODATA)
HelionMassEnegryEquivalent() Helion Mass Energy Equivalent: (2007 CODATA)
HelionMolarMass() Helion Molar Mass: (2007 CODATA)
Avogadro() Avogadro constant: (2010 CODATA)
Aetherium Institutional Market Resonance EngineAetherium Institutional Market Resonance Engine (AIMRE)
A Three-Pillar Framework for Decoding Institutional Activity
🎓 THEORETICAL FOUNDATION
The Aetherium Institutional Market Resonance Engine (AIMRE) is a multi-faceted analysis system designed to move beyond conventional indicators and decode the market's underlying structure as dictated by institutional capital flow. Its philosophy is built on a singular premise: significant market moves are preceded by a convergence of context , location , and timing . Aetherium quantifies these three dimensions through a revolutionary three-pillar architecture.
This system is not a simple combination of indicators; it is an integrated engine where each pillar's analysis feeds into a central logic core. A signal is only generated when all three pillars achieve a state of resonance, indicating a high-probability alignment between market organization, key liquidity levels, and cyclical momentum.
⚡ THE THREE-PILLAR ARCHITECTURE
1. 🌌 PILLAR I: THE COHERENCE ENGINE (THE 'CONTEXT')
Purpose: To measure the degree of organization within the market. This pillar answers the question: " Is the market acting with a unified purpose, or is it chaotic and random? "
Conceptual Framework: Institutional campaigns (accumulation or distribution) create a non-random, organized market environment. Retail-driven or directionless markets are characterized by "noise" and chaos. The Coherence Engine acts as a filter to ensure we only engage when institutional players are actively steering the market.
Formulaic Concept:
Coherence = f(Dominance, Synchronization)
Dominance Factor: Calculates the absolute difference between smoothed buying pressure (volume-weighted bullish candles) and smoothed selling pressure (volume-weighted bearish candles), normalized by total pressure. A high value signifies a clear winner between buyers and sellers.
Synchronization Factor: Measures the correlation between the streams of buying and selling pressure over the analysis window. A high positive correlation indicates synchronized, directional activity, while a negative correlation suggests choppy, conflicting action.
The final Coherence score (0-100) represents the percentage of market organization. A high score is a prerequisite for any signal, filtering out unpredictable market conditions.
2. 💎 PILLAR II: HARMONIC LIQUIDITY MATRIX (THE 'LOCATION')
Purpose: To identify and map high-impact institutional footprints. This pillar answers the question: " Where have institutions previously committed significant capital? "
Conceptual Framework: Large institutional orders leave indelible marks on the market in the form of anomalous volume spikes at specific price levels. These are not random occurrences but are areas of intense historical interest. The Harmonic Liquidity Matrix finds these footprints and consolidates them into actionable support and resistance zones called "Harmonic Nodes."
Algorithmic Process:
Footprint Identification: The engine scans the historical lookback period for candles where volume > average_volume * Institutional_Volume_Filter. This identifies statistically significant volume events.
Node Creation: A raw node is created at the mean price of the identified candle.
Dynamic Clustering: The engine uses an ATR-based proximity algorithm. If a new footprint is identified within Node_Clustering_Distance (ATR) of an existing Harmonic Node, it is merged. The node's price is volume-weighted, and its magnitude is increased. This prevents chart clutter and consolidates nearby institutional orders into a single, more significant level.
Node Decay: Nodes that are older than the Institutional_Liquidity_Scanback period are automatically removed from the chart, ensuring the analysis remains relevant to recent market dynamics.
3. 🌊 PILLAR III: CYCLICAL RESONANCE MATRIX (THE 'TIMING')
Purpose: To identify the market's dominant rhythm and its current phase. This pillar answers the question: " Is the market's immediate energy flowing up or down? "
Conceptual Framework: Markets move in waves and cycles of varying lengths. Trading in harmony with the current cyclical phase dramatically increases the probability of success. Aetherium employs a simplified wavelet analysis concept to decompose price action into short, medium, and long-term cycles.
Algorithmic Process:
Cycle Decomposition: The engine calculates three oscillators based on the difference between pairs of Exponential Moving Averages (e.g., EMA8-EMA13 for short cycle, EMA21-EMA34 for medium cycle).
Energy Measurement: The 'energy' of each cycle is determined by its recent volatility (standard deviation). The cycle with the highest energy is designated as the "Dominant Cycle."
Phase Analysis: The engine determines if the dominant cycles are in a bullish phase (rising from a trough) or a bearish phase (falling from a peak).
Cycle Sync: The highest conviction timing signals occur when multiple cycles (e.g., short and medium) are synchronized in the same direction, indicating broad-based momentum.
🔧 COMPREHENSIVE INPUT SYSTEM
Pillar I: Market Coherence Engine
Coherence Analysis Window (10-50, Default: 21): The lookback period for the Coherence Engine.
Lower Values (10-15): Highly responsive to rapid shifts in market control. Ideal for scalping but can be sensitive to noise.
Balanced (20-30): Excellent for day trading, capturing the ebb and flow of institutional sessions.
Higher Values (35-50): Smoother, more stable reading. Best for swing trading and identifying long-term institutional campaigns.
Coherence Activation Level (50-90%, Default: 70%): The minimum market organization required to enable signal generation.
Strict (80-90%): Only allows signals in extremely clear, powerful trends. Fewer, but potentially higher quality signals.
Standard (65-75%): A robust filter that effectively removes choppy conditions while capturing most valid institutional moves.
Lenient (50-60%): Allows signals in less-organized markets. Can be useful in ranging markets but may increase false signals.
Pillar II: Harmonic Liquidity Matrix
Institutional Liquidity Scanback (100-400, Default: 200): How far back the engine looks for institutional footprints.
Short (100-150): Focuses on recent institutional activity, providing highly relevant, immediate levels.
Long (300-400): Identifies major, long-term structural levels. These nodes are often extremely powerful but may be less frequent.
Institutional Volume Filter (1.3-3.0, Default: 1.8): The multiplier for detecting a volume spike.
High (2.5-3.0): Only registers climactic, undeniable institutional volume. Fewer, but more significant nodes.
Low (1.3-1.7): More sensitive, identifying smaller but still relevant institutional interest.
Node Clustering Distance (0.2-0.8 ATR, Default: 0.4): The ATR-based distance for merging nearby nodes.
High (0.6-0.8): Creates wider, more consolidated zones of liquidity.
Low (0.2-0.3): Creates more numerous, precise, and distinct levels.
Pillar III: Cyclical Resonance Matrix
Cycle Resonance Analysis (30-100, Default: 50): The lookback for determining cycle energy and dominance.
Short (30-40): Tunes the engine to faster, shorter-term market rhythms. Best for scalping.
Long (70-100): Aligns the timing component with the larger primary trend. Best for swing trading.
Institutional Signal Architecture
Signal Quality Mode (Professional, Elite, Supreme): Controls the strictness of the three-pillar confluence.
Professional: Loosest setting. May generate signals if two of the three pillars are in strong alignment. Increases signal frequency.
Elite: Balanced setting. Requires a clear, unambiguous resonance of all three pillars. The recommended default.
Supreme: Most stringent. Requires perfect alignment of all three pillars, with each pillar exhibiting exceptionally strong readings (e.g., coherence > 85%). The highest conviction signals.
Signal Spacing Control (5-25, Default: 10): The minimum bars between signals to prevent clutter and redundant alerts.
🎨 ADVANCED VISUAL SYSTEM
The visual architecture of Aetherium is designed not merely for aesthetics, but to provide an intuitive, at-a-glance understanding of the complex data being processed.
Harmonic Liquidity Nodes: The core visual element. Displayed as multi-layered, semi-transparent horizontal boxes.
Magnitude Visualization: The height and opacity of a node's "glow" are proportional to its volume magnitude. More significant nodes appear brighter and larger, instantly drawing the eye to key levels.
Color Coding: Standard nodes are blue/purple, while exceptionally high-magnitude nodes are highlighted in an accent color to denote critical importance.
🌌 Quantum Resonance Field: A dynamic background gradient that visualizes the overall market environment.
Color: Shifts from cool blues/purples (low coherence) to energetic greens/cyans (high coherence and organization), providing instant context.
Intensity: The brightness and opacity of the field are influenced by total market energy (a composite of coherence, momentum, and volume), making powerful market states visually apparent.
💎 Crystalline Lattice Matrix: A geometric web of lines projected from a central moving average.
Mathematical Basis: Levels are projected using multiples of the Golden Ratio (Phi ≈ 1.618) and the ATR. This visualizes the natural harmonic and fractal structure of the market. It is not arbitrary but is based on mathematical principles of market geometry.
🧠 Synaptic Flow Network: A dynamic particle system visualizing the engine's "thought process."
Node Density & Activation: The number of particles and their brightness/color are tied directly to the Market Coherence score. In high-coherence states, the network becomes a dense, bright, and organized web. In chaotic states, it becomes sparse and dim.
⚡ Institutional Energy Waves: Flowing sine waves that visualize market volatility and rhythm.
Amplitude & Speed: The height and speed of the waves are directly influenced by the ATR and volume, providing a feel for market energy.
📊 INSTITUTIONAL CONTROL MATRIX (DASHBOARD)
The dashboard is the central command console, providing a real-time, quantitative summary of each pillar's status.
Header: Displays the script title and version.
Coherence Engine Section:
State: Displays a qualitative assessment of market organization: ◉ PHASE LOCK (High Coherence), ◎ ORGANIZING (Moderate Coherence), or ○ CHAOTIC (Low Coherence). Color-coded for immediate recognition.
Power: Shows the precise Coherence percentage and a directional arrow (↗ or ↘) indicating if organization is increasing or decreasing.
Liquidity Matrix Section:
Nodes: Displays the total number of active Harmonic Liquidity Nodes currently being tracked.
Target: Shows the price level of the nearest significant Harmonic Node to the current price, representing the most immediate institutional level of interest.
Cycle Matrix Section:
Cycle: Identifies the currently dominant market cycle (e.g., "MID ") based on cycle energy.
Sync: Indicates the alignment of the cyclical forces: ▲ BULLISH , ▼ BEARISH , or ◆ DIVERGENT . This is the core timing confirmation.
Signal Status Section:
A unified status bar that provides the final verdict of the engine. It will display "QUANTUM SCAN" during neutral periods, or announce the tier and direction of an active signal (e.g., "◉ TIER 1 BUY ◉" ), highlighted with the appropriate color.
🎯 SIGNAL GENERATION LOGIC
Aetherium's signal logic is built on the principle of strict, non-negotiable confluence.
Condition 1: Context (Coherence Filter): The Market Coherence must be above the Coherence Activation Level. No signals can be generated in a chaotic market.
Condition 2: Location (Liquidity Node Interaction): Price must be actively interacting with a significant Harmonic Liquidity Node.
For a Buy Signal: Price must be rejecting the Node from below (testing it as support).
For a Sell Signal: Price must be rejecting the Node from above (testing it as resistance).
Condition 3: Timing (Cycle Alignment): The Cyclical Resonance Matrix must confirm that the dominant cycles are synchronized with the intended trade direction.
Signal Tiering: The Signal Quality Mode input determines how strictly these three conditions must be met. 'Supreme' mode, for example, might require not only that the conditions are met, but that the Market Coherence is exceptionally high and the interaction with the Node is accompanied by a significant volume spike.
Signal Spacing: A final filter ensures that signals are spaced by a minimum number of bars, preventing over-alerting in a single move.
🚀 ADVANCED TRADING STRATEGIES
The Primary Confluence Strategy: The intended use of the system. Wait for a Tier 1 (Elite/Supreme) or Tier 2 (Professional/Elite) signal to appear on the chart. This represents the alignment of all three pillars. Enter after the signal bar closes, with a stop-loss placed logically on the other side of the Harmonic Node that triggered the signal.
The Coherence Context Strategy: Use the Coherence Engine as a standalone market filter. When Coherence is high (>70%), favor trend-following strategies. When Coherence is low (<50%), avoid new directional trades or favor range-bound strategies. A sharp drop in Coherence during a trend can be an early warning of a trend's exhaustion.
Node-to-Node Trading: In a high-coherence environment, use the Harmonic Liquidity Nodes as both entry points and profit targets. For example, after a BUY signal is generated at one Node, the next Node above it becomes a logical first profit target.
⚖️ RESPONSIBLE USAGE AND LIMITATIONS
Decision Support, Not a Crystal Ball: Aetherium is an advanced decision-support tool. It is designed to identify high-probability conditions based on a model of institutional behavior. It does not predict the future.
Risk Management is Paramount: No indicator can replace a sound risk management plan. Always use appropriate position sizing and stop-losses. The signals provided are probabilistic, not certainties.
Past Performance Disclaimer: The market models used in this script are based on historical data. While robust, there is no guarantee that these patterns will persist in the future. Market conditions can and do change.
Not a "Set and Forget" System: The indicator performs best when its user understands the concepts behind the three pillars. Use the dashboard and visual cues to build a comprehensive view of the market before acting on a signal.
Backtesting is Essential: Before applying this tool to live trading, it is crucial to backtest and forward-test it on your preferred instruments and timeframes to understand its unique behavior and characteristics.
🔮 CONCLUSION
The Aetherium Institutional Market Resonance Engine represents a paradigm shift from single-variable analysis to a holistic, multi-pillar framework. By quantifying the abstract concepts of market context, location, and timing into a unified, logical system, it provides traders with an unprecedented lens into the mechanics of institutional market operations.
It is not merely an indicator, but a complete analytical engine designed to foster a deeper understanding of market dynamics. By focusing on the core principles of institutional order flow, Aetherium empowers traders to filter out market noise, identify key structural levels, and time their entries in harmony with the market's underlying rhythm.
"In all chaos there is a cosmos, in all disorder a secret order." - Carl Jung
— Dskyz, Trade with insight. Trade with confluence. Trade with Aetherium.
Sentient FLDOverview of the FLD
The Future Line of Demarcation (FLD) was first proposed by JM Hurst in the 1970s as a cycle analysis tool. It is a smoothed median price plotted on a time-based chart, and displaced into the future (to the right on the chart). The amount of displacement is determined by performing a cycle analysis, the line then plotted to extend beyond the right hand edge of the chart by half a cycle wavelength.
Interactions between price and the FLD
As price action unfolds, price interacts with the FLD line, either by crossing over the line, or by finding support or resistance at the line.
Targets
When price crosses an FLD a target for the price move is generated. The target consists of a price level and also expected time.
When price reaches that target it is an indication that the cycle influencing price to move up or down has completed that action and is about to turn around.
If price fails to reach a target by the expected time, it indicates bullish or bearish pressure from longer cycles, and a change in mood of the market.
Sequence of interactions
Price interacts with the FLD in a regular sequence of 8 interactions which are labelled using the letters A - H, in alphabetical order. This sequence of interactions occurs between price and a cycle called the Signal cycle. The full sequence plays out over a single wave of a longer cycle, called the Sequence cycle. The interactions are:
A category interaction is where price crosses above the FLD as it rises out of a trough of the Sequence cycle.
B & C category interactions often occur together as a pair, where price comes back to the FLD line and finds support at the level of the FLD as the first trough of the Signal cycle forms.
D category interaction is where price crosses below the FLD as it falls towards the second trough of the Signal cycle.
E category interaction is where price crosses above the FLD again as it rises out of the second trough of the Signal cycle.
F category interaction is where price crosses below the FLD as it falls towards the next trough of the Sequence cycle.
G & H category interactions often occur together as a pair, where price comes back to the FLD line and finds resistance at the level of the FLD before a final move down into the next Sequence cycle trough.
Trading Opportunities
This sequence of interactions provides the trader with trading opportunities:
A and E category interactions involve price crossing over the FLD line, for a long trading opportunity.
D and F category interactions involve price crossing below the FLD line, for a short trading opportunity.
B and C category interactions occur where price finds support at the FLD, another long trading opportunity.
G and H category interactions occur where price finds resistance at the FLD, another short trading opportunity.
3 FLD Lines Plotted
The Sentient FLD indicator plots three FLD lines, for three primary cycles on your time-based charts:
The Signal cycle (pink color, can be changed in the settings), which is used to generate trading signals on the basis of the sequence of interactions between price and the FLD
The Mid cycle (orange color, can be changed in the settings), which is used for confirmation of the signals from the signal cycle FLD.
The Sequence cycle (green color, can be changed in the settings) which is the cycle over which the entire A - H sequence of interactions plays out.
Cycle Analysis
In addition to plotting the three FLD lines, the Sentient FLD indicator performs a cycle phasing analysis and identifies the positions of the troughs of five cycles on your chart (The Signal, Mid & Sequence cycles and two longer cycles for determining the underlying trend).
The results of this analysis are plotted by using diamond symbols to mark the timing of past troughs of the cycles, and circles to mark the timing of the next expected troughs, with lines extending to each side to represent the range of time in which the trough is expected to form. These are called circles-and-whiskers. The diamonds are stacked vertically because the troughs are synchronized in time. The circles-and-whiskers therefore are also stacked, creating a nest-of-lows which is a high probability period for a trough to form.
Identifying the Interactions
The Sentient FLD also identifies the interactions between price and each one of the three FLDs plotted on your chart, and those interactions are labelled so that you can keep track of the unfolding A - H sequence.
Next Expected Interaction
Because the Sentient FLD is able to identify the sequence of interactions, it is also able to identify the next expected interaction between price and the FLD. This enables you to anticipate levels of support or resistance, or acceleration levels where price is expected to cross through the FLD.
Cycle Table
A cycle table is displayed on the chart (position can be changed in settings). The cycle table comprises 6 columns:
The Cycle Name (CYCLE): the name of the cycle which is its nominal wavelength in words.
The Nominal Wavelength (NM): The nominal wavelength of the cycle measured in bars.
The Current Wavelength (CR): The current recent wavelength of the cycle measured in bars.
The Variation (VAR): The variation between the nominal wavelength and current wavelength as a percentage (%).
The relevant Sequence Cycle (SEQ): The cycle over which the sequence of interactions with this FLD plays out.
The Mode (MODE): Whether the cycle is currently Bearish, Neutral or Bullish.
Benefits of using the Sentient FLD
The cycle analysis shown with diamonds and circles marking the troughs, and next expected troughs of the cycles enable you to anticipate the timing of market turns (troughs and peaks in the price), because of the fact that cycles, by definition, repeat with some regularity.
The results of the cycle analysis are also displayed on your chart in a table, and enable you to understand at a glance what the current mode of each cycle is, whether bullish, bearish or neutral.
The identification of the sequence of interactions between price and the FLD enables you to anticipate the next interaction, and thereby expect either a price cross of the FLD or dynamic levels of support and resistance at the levels of the FLD lines, only visible to the FLD trader.
When the next expected interaction between price and the FLD is an acceleration point (price is expected to cross over the FLD), that level can be used as a signal for entry into a trade.
Similarly when the next expected interaction between price and the FLD is either support or resistance, that level can be used as a signal for entry into a trade when price reacts as expected, finding support or resistance.
The targets that are generated as a result of price crossing the FLD represent cycle exhaustion levels and times, and can be used as take profit exits, or as levels after which stops should be tightened.
The indicator optionally also calculates targets for longer timeframes, and displays them on your chart providing useful context for the influence of longer cycles without needing to change timeframe.
Example
In this image you can see an example of the different aspects of the indicator working on a 5 minute chart (details below):
This is what the indicator shows:
The 3 FLD lines are for the 100 minute (pink), 3 hour (orange) and 6 hour (green) cycles (refer to the cycle table for the cycle names).
Previous targets can be seen, shown as pointed labels, with the same colors.
The cycle table at the bottom left of the chart is colour coded, and indicates that the cycles are all currently running a bit long, by about 14%.
Note also the grey-colored 6 hour target generated by the 15 x minute timeframe at 12:20. When targets are close together their accuracy is enhanced.
At the foot of the chart we can see a collection of circles-and-whiskers in a nest-of-lows, indicating that a 12 hour cycle trough has been due to form in the past hour.
The past interactions between price and the signal cycle are labelled and we can see the sequence of E (with some +E post-interaction taps), F and then G-H.
The next interaction between price and the signal is the A category interaction - a long trading opportunity as price bounces out of the 12 hour cycle trough.
Notice the green upward pointing triangles on the FLD lines, indicating that they are expected to provide acceleration points, where price will cross over the FLD and move towards a target above the FLD.
The cycle table shows that the cycles of 6 hours and longer are all expected to be bullish (with the 12 hour cycle neutral to bullish).
On the basis that we are expecting a 12 hour trough to form, and the 6 hour cycle targets have been reached, and the next interaction with the signal cycle is an A category acceleration point, we can plan to enter into a long trade.
Two hours later
This screenshot shows the situation almost 2 hours later:
Notes:
The expected 12 hour cycle trough has been confirmed in the cycle analysis, and now displayed as a stack of diamonds at 12:25
Price did cross over the signal cycle FLD (the 100 minute cycle, pink FLD line) as expected. That price cross is labelled as an A category interaction at 13:00.
A 100 minute target was generated. That target was almost, but not quite reached in terms of price, indicating that the move out of the 12 hour cycle trough is not quite as bullish as would be expected (remember the 12 hour cycle is expected to be neutral-bullish). The time element of the target proved accurate however with a peak forming at the expected time. Stops could have been tightened at that time.
Notice that price then came back to the signal FLD (100 minute) line at the time that the next 100 minute cycle trough was expected (see the pink circle-and-whiskers between 13:40 and 14:25, with the circle at 14:05.
Price found support (as was expected) when it touched the signal FLD at 13:55 and 14:00, and that interaction has been labelled as a B-C category interaction pair.
We also have a 3 hour target above us at about 6,005. That could be a good target for the move.
Another 2 hours later
This screenshot shows the situation another 2 hours later:
Notes:
We can see that the 100 minute cycle trough has been confirmed at 13:45
The nest-of-lows marking the time the 3 hour cycle trough was expected is between 15:00 and 15:45, with a probable trough in price at 15:00
The sequence of interactions is labelled: A at 13:00; B-C at 14:00; another B-C (double B-C interactions are common) at 14:30; E at 15:10; +E (a post E tap) at 16:20
Price has just reached a cluster of targets at 6005 - 6006. The 3 hour target we noted before, as well as a 6 hour target and a 12 hour target from the 15 x minute timeframe.
Notice how after those targets were achieved, price has exhausted its upward move, and has turned down.
The next expected interaction with the signal cycle FLD is an F category interaction. The downward pointing red triangles on the line indicate that the interaction is expected to be a price cross down, as price moves down into the next 6 hour cycle trough.
Other Details
The Sentient FLD indicator works on all time-based charts from 10 seconds up to monthly.
The indicator works on all actively traded instruments, including forex, stocks, indices, commodities, metals and crypto.
ASE Additionals v1ASE Additionals is a statistics-driven indicator that combines multiple features to provide traders with valuable statistics to help their trading. This indicator offers a customizable table that includes statistics for VWAP with customizable standard deviation waves.
Per the empirical rule, the following is a schedule for what percent of volume should be traded between the standard deviation range:
+/- 1 standard deviation: 68.26% of volume should be trading within this range
+/- 2 standard deviation: 95.44% of volume should be trading within this range
+/- 3 standard deviation: 99.73% of volume should be trading within this range
+/- 4 standard deviation: 99.9937% of volume should be trading within this range
+/- 5 standard deviation: 99.999943% of volume should be trading within this range
+/- 6 standard deviation: 99.9999998% of volume should be trading within this range
The statistics table presents five different pieces of data
Volume Analyzed: Amount of contracts analyzed for the statistics
Volume Traded Inside Upper Extreme: Calculated by taking the amount of volume traded inside the Upper Extreme band divided by the total amount of contracts analyzed
Volume Traded Inside Lower Extreme: Calculated by taking the amount of volume traded inside the Lower Extreme band divided by the total amount of contracts analyzed
Given the user’s inputs, they will see the upper and lower extremes of the day. For example, if the user changed the inner st. dev input to 2, 95.44% of the volume should be traded within the inner band. If the user changed the outer st. dev input to 3, 99.73% of the volume should be traded within the outer band. Thus, statistically, 2.145% ((99.73%-95.44%)/2) of volume should be traded between the upper and lower band fill.
In the chart above, the bands are the 2nd and 3rd standard deviation inputs. We notice that out of the 151 Million Contracts , the actual percentage of volume traded in the upper extreme was 2.7% , and the actual percentage of the volume traded in the lower extreme was 3.3% . Given the empirical rule, about 2.145% of the volume should be traded in the upper extreme band, and 2.145% of the volume should be traded in the lower extreme band. Based on the statistics table, the empirical rule is true when applied to the volume-weighted average price.
The trader should recognize that statistics is all about probability and there is a margin for error, so the bands should be used as a bias, not an entry. For example, given the +/-2 and 3 standard deviations, statistically, if 2.145% of the volume is traded within the upper band extreme, you shouldn’t look for a long trade if the current price is in the band. Likewise, if 2.145% of the volume is traded within the lower band extreme, you shouldn’t look for a short trade if the current price is in the band.
Additionally, we provide traders with the Daily, Weekly, and Monthly OHLC levels. Open, High, Low, and Close are significant levels, especially on major timeframes. Once price has touched the level, the line changes from dashed/dotted to solid.
Features
VWAP Price line and standard deviation waves to analyze the equilibrium and extremes of the sessions trend
Previous Day/WEEK/Month OHLC levels provide Major timeframe key levels
Settings
VWAP Equilibrium: Turn on the VWAP line
VWAP Waves: Turn on the VWAP standard deviation waves
Inner St. Dev: Changes the inner band standard deviation to show the percentage of volume traded within
Outer St. Dev: Changes the outer band standard deviation to show the percentage of volume traded within
Upper Extreme: Change the color of the upper VWAP wave
Lower Extreme: Change the color of the lower VWAP wave
Wave Opacity: Change the opacity of the waves (0= completely transparent, 100=completely solid)
Statistics Table: Turn on or off the statistics table
Statistics Table Settings: Change the Table Color, Text Color, Text Size, and Table Position
Previous Day/Week/Month OHLC: Choose; All, Open, Close, High, Low, and the color of the levels
OHLC Level Settings: Change the OHLC label color, line style, and line width
How to Use
The VWAP price line acts as the 'Fair Value' or the 'Equilibrium' of the price session. Just as the VWAP Waves show the session's upper and lower extreme possibilities. While we can find entries from VWAP , our analysis uses it more as confirmation. OHLC levels are to be used as support and resistance levels. These levels provide us with great entry and target opportunities as they are essential and can show pivots in price action.






















