volume profile ranking indicator📌 Introduction
This script implements a volume profile ranking indicato for TradingView. It is designed to visualize the distribution of traded volume over price levels within a defined historical window. Unlike TradingView’s built-in Volume Profile, this script gives full customization of the profile drawing logic, binning, color gradient, and the ability to anchor the profile to a specific date.
⚙️ How It Works (Logic)
1. Inputs
➤POC Lookback Days (lookback): Defines how many bars (days) to look back from a selected point to calculate the volume distribution.
➤Bin Count (bin_count): Determines how many price bins (horizontal levels) the price range will be divided into.
➤Use Custom Lookback Date (useCustomDate): Enables/disables manually selecting a backtest start date.
➤Custom Lookback Date (customDate): When enabled, the profile will calculate volume based on this date instead of the most recent bar.
2. Target Bar Determination
➤If a custom date is selected, the script searches for the bar closest to that date within 1000 bars.
➤If not, it defaults to the latest bar (bar_index).
➤The profile is drawn only when the current bar is close to the target bar (within ±2 bars), to avoid unnecessary recalculations and performance issues.
3. Volume Binning
➤The price range over the lookback window is divided into bin_count segments.
➤For each bar within the lookback window, its volume is added to the appropriate bin based on price.
➤If the price falls outside the expected range, it is clamped to the first or last bin.
4. Ranking and Sorting
➤A bubble sort ranks each bin by total volume.
➤The most active bin (POC, or Point of Control) is highlighted with a thicker bar.
5. Rendering
➤Horizontal bars (line.new) represent volume intensity in each price bin.
➤Each bar is color-coded by volume heat: more volume = more intense color.
➤Labels (label.new) show:
➤Total volume
➤Rank
➤Percentage of total volume
➤Price range of the bin
🧑💻 How to Use
1. Add the Script to Your Chart
➤Copy the code into TradingView’s Pine Script editor and add it to your chart.
2. Set Lookback Period
➤Default is 252 bars (about one year for daily charts), but can be changed via the input.
3. (Optional) Use Custom Date
●Toggle "Use Custom Lookback Date" to true.
➤Pick a date in the "Custom Lookback Date" input to anchor the profile.
4. Analyze the Volume Distribution
➤The longest (thickest) red/orange bar represents the Point of Control (POC) — the price with the most volume traded.
➤Other bars show volume distribution across price.
➤Labels display useful metrics to evaluate areas of high/low interest.
✅ Features
🔶 Customizable anchor point (custom date).
🔶Adjustable bin count and lookback length.
🔶 Clear visualization with heatmap coloring.
🔶 Lightweight and performance-optimized (especially with the shouldDrawProfile filter)
지표 및 전략
Bitcoin Polynomial Regression ModelThis is the main version of the script. Click here for the Oscillator part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines. The Oscillator version can be found here.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
Bitcoin Polynomial Regression OscillatorThis is the oscillator version of the script. Click here for the other part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
Master Litecoin Miner Sell PressureBrief Description:
Purpose: The indicator overlays on a chart to highlight periods of high miner sell pressure for Litecoin.
Data Sources:
miner_out: Fetches daily Litecoin miner outflows (amount of LTC moved out by miners) using the INTOTHEBLOCK:LTC_MINEROUTFLOWS dataset.
miner_res: Fetches daily Litecoin miner reserves (amount of LTC held by miners) using the INTOTHEBLOCK:LTC_MINERRESERVES dataset.
Calculation:
Computes a ratio m by taking the 14-day sum of miner outflows and dividing it by the 14-day simple moving average (SMA) of miner reserves.
Calculates Bollinger Bands around m:
bbl: Lower band (200-day SMA of m minus 1 standard deviation).
bbu: Upper band (200-day SMA of m plus 1 standard deviation).
Visualization:
If the ratio m exceeds the upper Bollinger Band (bbu), the background is colored blue with 30% opacity, indicating potential high sell pressure from miners.
Momentum Based RSIThe Momentum Based RSI is an enhancement to the RSI. it incorporates 2 sections:
MA Ratio (Fast/Slow)
RSI
at the end both of those are multiplied to create a more responsive RSI which reacts fast to market moves while still providing a whip ressistant tool.
Momentum Calculation
The "MA Ratio" as i like to call it results from comparing 2 MAs (both can be set to whatever type you like) against eachother, which, in the end, provides a Ratio that visualizes the difference. It is simple yet effective
RSI
An Old yet popular tool which dates back to 1978. In and out of itself it is a great tool, however it still can be enhanced.
The Combination
The RSI and the MARatio are multiplied together, which results in an RSI that is ampliefied by the speed of the market movements.
This proves highly effective, since the MA Ratio is hovering around at the same level. However during trends, it picks up speed in either of both directions which marginally increases the RSI's response the said movement.
Why its Creative, New and Good
While it is a super simple concept, it still holds a lot of power relative to its sophistication. Traders may use it like they used the Vanilla RSI (e.g Trend following, Mean-reversion or other).
Unlike RSI with momentum overlays, this indicator actively uses an MA Ratio multiplier for simplicity and responsiveness.
At last, Its primary goal is to detect trends faster while not creating more noise & false signals.
What not to do
if youre using this indicator, please do NOT change the Fast MA to be slower than to Slow MA or vice versa, since you'll be getting broken & noise induced signals which may not align with your goals.
Great inventions require great Care
As with anything, you should not use this tool without any other confluence. As great as the backtests may be, you dont know what the future holds, be careful!
This indicator is not a guaranteed predicition tool. If youre going to use it for investment decisions, please use it in coherence with other tools.
Thank you for reading!
Master Global Liquidity Shifted 75 DaysThe Global Liquidity Index is a Pine Script (version 5) technical indicator designed to measure and visualize global financial liquidity by aggregating data from various central bank balance sheets and money supply metrics. The indicator is plotted as an overlay on the price chart using the left scale, with the entire line shifted left by 75 days.
Key features:
Data Sources: Incorporates balance sheet data from major central banks including the Federal Reserve (FED), European Central Bank (ECB), People's Bank of China (PBC), Bank of Japan (BOJ), and other central banks, along with optional M2 money supply data from various countries.
Components: Includes options to toggle specific liquidity factors such as FED balance sheet, Treasury General Account (TGA), Reverse Repurchase Agreements (RRP), and regional M2 money supplies, all converted to USD.
75-Day Shift: The indicator's output is shifted left by 75 days on the chart, aligning historical liquidity data with earlier price action, with this shift period adjustable via the "Shift Days Left" input.
Calculations:
Computes a total liquidity value by summing enabled central bank and M2 data (adjusted for RRP and TGA as drains)
Scales the total by dividing by 1 trillion (10^12)
Applies a Simple Moving Average (SMA) and Rate of Change (ROC) with user-defined periods
Final output is either the SMA of ROC or SMA alone, depending on ROC length
Visualization: Plots the shifted result as a yellow line with a linewidth of 2.
Fourier Trend Energy (Prototype)Fourier Trend Energy (Prototype)
This indicator brings the logic of Fourier-based trend analysis into Pine Script.
It estimates two key components:
Low-Frequency Energy — representing the strength of the underlying trend
High-Frequency Energy — representing noise, volatility, or deviation from the trend
🔹 Green line → trend strength
🔸 Orange line → short-term noise
🟩🟥 Background color → shows whether trend energy is increasing or decreasing
You can use it to:
Detect early trend formation
Filter fakeouts during consolidation
Spot momentum shifts based on energy crossovers
This is not a traditional oscillator — it’s a frequency-inspired tool to help you understand when the market is charging for a move.
Volume Weighted RSI (VW RSI)The Volume Weighted RSI (VW RSI) is a momentum oscillator designed for TradingView, implemented in Pine Script v6, that enhances the traditional Relative Strength Index (RSI) by incorporating trading volume into its calculation. Unlike the standard RSI, which measures the speed and change of price movements based solely on price data, the VW RSI weights its analysis by volume, emphasizing price movements backed by significant trading activity. This makes the VW RSI particularly effective for identifying bullish or bearish momentum, overbought/oversold conditions, and potential trend reversals in markets where volume plays a critical role, such as stocks, forex, and cryptocurrencies.
Key Features
Volume-Weighted Momentum Calculation:
The VW RSI calculates momentum by comparing the volume associated with upward price movements (up-volume) to the volume associated with downward price movements (down-volume).
Up-volume is the volume on bars where the closing price is higher than the previous close, while down-volume is the volume on bars where the closing price is lower than the previous close.
These volumes are smoothed over a user-defined period (default: 14 bars) using a Running Moving Average (RMA), and the VW RSI is computed using the formula:
\text{VW RSI} = 100 - \frac{100}{1 + \text{VoRS}}
where
\text{VoRS} = \frac{\text{Average Up-Volume}}{\text{Average Down-Volume}}
.
Oscillator Range and Interpretation:
The VW RSI oscillates between 0 and 100, with a centerline at 50.
Above 50: Indicates bullish volume momentum, suggesting that volume on up bars dominates, which may signal buying pressure and a potential uptrend.
Below 50: Indicates bearish volume momentum, suggesting that volume on down bars dominates, which may signal selling pressure and a potential downtrend.
Overbought/Oversold Levels: User-defined thresholds (default: 70 for overbought, 30 for oversold) help identify potential reversal points:
VW RSI > 70: Overbought, indicating a possible pullback or reversal.
VW RSI < 30: Oversold, indicating a possible bounce or reversal.
Visual Elements:
VW RSI Line: Plotted in a separate pane below the price chart, colored dynamically based on its value:
Green when above 50 (bullish momentum).
Red when below 50 (bearish momentum).
Gray when at 50 (neutral).
Centerline: A dashed line at 50, optionally displayed, serving as the neutral threshold between bullish and bearish momentum.
Overbought/Oversold Lines: Dashed lines at the user-defined overbought (default: 70) and oversold (default: 30) levels, optionally displayed, to highlight extreme conditions.
Background Coloring: The background of the VW RSI pane is shaded red when the indicator is in overbought territory and green when in oversold territory, providing a quick visual cue of potential reversal zones.
Alerts:
Built-in alerts for key events:
Bullish Momentum: Triggered when the VW RSI crosses above 50, indicating a shift to bullish volume momentum.
Bearish Momentum: Triggered when the VW RSI crosses below 50, indicating a shift to bearish volume momentum.
Overbought Condition: Triggered when the VW RSI crosses above the overbought threshold (default: 70), signaling a potential pullback.
Oversold Condition: Triggered when the VW RSI crosses below the oversold threshold (default: 30), signaling a potential bounce.
Input Parameters
VW RSI Length (default: 14): The period over which the up-volume and down-volume are smoothed to calculate the VW RSI. A longer period results in smoother signals, while a shorter period increases sensitivity.
Overbought Level (default: 70): The threshold above which the VW RSI is considered overbought, indicating a potential reversal or pullback.
Oversold Level (default: 30): The threshold below which the VW RSI is considered oversold, indicating a potential reversal or bounce.
Show Centerline (default: true): Toggles the display of the 50 centerline, which separates bullish and bearish momentum zones.
Show Overbought/Oversold Lines (default: true): Toggles the display of the overbought and oversold threshold lines.
How It Works
Volume Classification:
For each bar, the indicator determines whether the price movement is upward or downward:
If the current close is higher than the previous close, the bar’s volume is classified as up-volume.
If the current close is lower than the previous close, the bar’s volume is classified as down-volume.
If the close is unchanged, both up-volume and down-volume are set to 0 for that bar.
Smoothing:
The up-volume and down-volume are smoothed using a Running Moving Average (RMA) over the specified period (default: 14 bars) to reduce noise and provide a more stable measure of volume momentum.
VW RSI Calculation:
The Volume Relative Strength (VoRS) is calculated as the ratio of smoothed up-volume to smoothed down-volume.
The VW RSI is then computed using the standard RSI formula, but with volume data instead of price changes, resulting in a value between 0 and 100.
Visualization and Alerts:
The VW RSI is plotted with dynamic coloring to reflect its momentum direction, and optional lines are drawn for the centerline and overbought/oversold levels.
Background coloring highlights overbought and oversold conditions, and alerts notify the trader of significant crossings.
Usage
Timeframe: The VW RSI can be used on any timeframe, but it is particularly effective on intraday charts (e.g., 1-hour, 4-hour) or daily charts where volume data is reliable. Shorter timeframes may require a shorter length for increased sensitivity, while longer timeframes may benefit from a longer length for smoother signals.
Markets: Best suited for markets with significant and reliable volume data, such as stocks, forex, and cryptocurrencies. It may be less effective in markets with low or inconsistent volume, such as certain futures contracts.
Trading Strategies:
Trend Confirmation:
Use the VW RSI to confirm the direction of a trend. For example, in an uptrend, look for the VW RSI to remain above 50, indicating sustained bullish volume momentum, and consider buying on pullbacks when the VW RSI dips but stays above 50.
In a downtrend, look for the VW RSI to remain below 50, indicating sustained bearish volume momentum, and consider selling on rallies when the VW RSI rises but stays below 50.
Overbought/Oversold Conditions:
When the VW RSI crosses above 70, the market may be overbought, suggesting a potential pullback or reversal. Consider taking profits on long positions or preparing for a short entry, but confirm with price action or other indicators.
When the VW RSI crosses below 30, the market may be oversold, suggesting a potential bounce or reversal. Consider entering long positions or covering shorts, but confirm with additional signals.
Divergences:
Look for divergences between the VW RSI and price to spot potential reversals. For example, if the price makes a higher high but the VW RSI makes a lower high, this bearish divergence may signal an impending downtrend.
Conversely, if the price makes a lower low but the VW RSI makes a higher low, this bullish divergence may signal an impending uptrend.
Momentum Shifts:
A crossover above 50 can signal the start of bullish momentum, making it a potential entry point for long trades.
A crossunder below 50 can signal the start of bearish momentum, making it a potential entry point for short trades or an exit for long positions.
Example
On a 4-hour SOLUSDT chart:
During an uptrend, the VW RSI might rise above 50 and stay there, confirming bullish volume momentum. If it approaches 70, it may indicate overbought conditions, as seen near a price peak of 145.08, suggesting a potential pullback.
During a downtrend, the VW RSI might fall below 50, confirming bearish volume momentum. If it drops below 30 near a price low of 141.82, it may indicate oversold conditions, suggesting a potential bounce, as seen in a slight recovery afterward.
A bullish divergence might occur if the price makes a lower low during the downtrend, but the VW RSI makes a higher low, signaling a potential reversal.
Limitations
Lagging Nature: Like the traditional RSI, the VW RSI is a lagging indicator because it relies on smoothed data (RMA). It may not react quickly to sudden price reversals, potentially missing the start of new trends.
False Signals in Ranging Markets: In choppy or ranging markets, the VW RSI may oscillate around 50, generating frequent crossovers that lead to false signals. Combining it with a trend filter (e.g., ADX) can help mitigate this.
Volume Data Dependency: The VW RSI relies on accurate volume data, which may be inconsistent or unavailable in some markets (e.g., certain forex pairs or futures contracts). In such cases, the indicator’s effectiveness may be reduced.
Overbought/Oversold in Strong Trends: During strong trends, the VW RSI can remain in overbought or oversold territory for extended periods, leading to premature exit signals. Use additional confirmation to avoid exiting too early.
Potential Improvements
Smoothing Options: Add options to use different smoothing methods (e.g., EMA, SMA) instead of RMA for the up/down volume calculations, allowing users to adjust the indicator’s responsiveness.
Divergence Detection: Include logic to detect and plot bullish/bearish divergences between the VW RSI and price, providing visual cues for potential reversals.
Customizable Colors: Allow users to customize the colors of the VW RSI line, centerline, overbought/oversold lines, and background shading.
Trend Filter: Integrate a trend strength filter (e.g., ADX > 25) to ensure signals are generated only during strong trends, reducing false signals in ranging markets.
The Volume Weighted RSI (VW RSI) is a powerful tool for traders seeking to incorporate volume into their momentum analysis, offering a unique perspective on market dynamics by emphasizing price movements backed by significant trading activity. It is best used in conjunction with other indicators and price action analysis to confirm signals and improve trading decisions.
Dynamic Trend Indicator (DTI) - VWAP FilterThe Dynamic Trend Indicator (DTI) with VWAP Filter is a trend-following indicator.
It aims to identify and follow market trends while minimizing false signals in choppy or ranging markets.
The DTI combines a dynamically adjusted Exponential Moving Average (EMA) with a daily Volume Weighted Average Price (VWAP) confirmation filter and a cooldown mechanism to enhance signal reliability. This indicator is particularly useful for traders on intraday timeframes (e.g., 4-hour charts) who want to align their trades with the broader daily trend while avoiding whipsaws.
Key Features:
Dynamic Trend Line:
The core of the DTI is a trend line calculated using a custom EMA that adjusts its period dynamically based on market conditions.
The period of the EMA is determined by a combination of volatility (measured via ATR) and trend strength (measured via price momentum). In strong trends, the period shortens for faster responsiveness; in weak or ranging markets, it lengthens to reduce noise.
An optional smoothing EMA can be applied to the dynamic trend line to further reduce noise, with a user-defined smoothing length.
Daily VWAP Confirmation Filter:
A daily VWAP is calculated to provide a higher-timeframe trend bias. VWAP represents the average price paid for an asset during the day, weighted by volume, and is often used as a benchmark by institutional traders.
Buy signals are only generated when the price is above the daily VWAP (indicating a bullish daily bias), and sell signals are only generated when the price is below the VWAP (indicating a bearish daily bias).
The VWAP resets at the start of each day, ensuring it reflects the current day’s trading activity.
Cooldown Mechanism:
To prevent rapid signal reversals (whipsaws), the indicator includes a cooldown period between signals. After a buy or sell signal is generated, no new signals can be generated for a user-defined number of bars (default: 5 bars).
This helps filter out noise in choppy markets, ensuring signals are spaced out and more likely to align with significant trend changes.
Visual Elements:
Trend Line: Plotted on the chart, colored green when the price is above (uptrend) and red when below (downtrend). A gray color indicates a neutral trend.
Buy/Sell Signals: Displayed as green triangles below the bar for buy signals and red triangles above the bar for sell signals.
Background Coloring: The chart background is shaded green during uptrends and red during downtrends, providing a quick visual cue of the trend direction.
Daily VWAP Line: Optionally plotted as a purple step line, allowing traders to see the VWAP level and its relationship to the price.
Alerts:
The indicator includes built-in alerts for buy and sell signals, triggered when the price crosses the trend line and satisfies the VWAP filter and cooldown conditions.
Alert messages specify whether the signal is a buy or sell and confirm that the VWAP condition was met (e.g., "DTI Buy Signal: Price crossed above trend line and VWAP").
Input Parameters
Base Length (default: 14): The base period for calculating volatility and trend strength, used to adjust the dynamic EMA period.
Volatility Multiplier (default: 1.5): Adjusts the sensitivity of the dynamic period to market volatility (via ATR).
Trend Threshold (default: 0.5): Controls the sensitivity of the dynamic period to trend strength (via price momentum).
Use Smoothing (default: true): Enables/disables smoothing of the trend line with an additional EMA.
Smoothing Length (default: 3): The period for the smoothing EMA, if enabled.
Cooldown Bars (default: 5): The minimum number of bars between consecutive signals, reducing signal frequency in choppy markets.
Show Daily VWAP (default: true): Toggles the display of the daily VWAP line on the chart.
How It Works
Dynamic Trend Line Calculation:
Volatility is measured using the Average True Range (ATR) over the base length, scaled by the volatility multiplier.
Trend strength is calculated as the absolute price momentum (change in price over the base length) divided by the volatility factor.
The dynamic EMA period is adjusted based on the trend strength: stronger trends result in a shorter period (faster response), while weaker trends result in a longer period (more stability). The period is constrained between 5 and 50 to avoid extreme values.
A custom EMA function is used to handle the dynamic period, as Pine Script’s built-in ta.ema() requires a fixed length. The trend line is optionally smoothed with a secondary EMA.
Signal Generation:
A buy signal is generated when the price crosses above the trend line, the price is above the daily VWAP, and the cooldown period has elapsed.
A sell signal is generated when the price crosses below the trend line, the price is below the daily VWAP, and the cooldown period has elapsed.
The cooldown mechanism ensures that signals are not generated too frequently, reducing false signals in ranging markets.
Daily VWAP Calculation:
The VWAP is calculated by accumulating the price-volume product (close * volume) and total volume for the day, resetting at the start of each new day.
The VWAP is then computed as the cumulative price-volume divided by the cumulative volume, providing a volume-weighted average price for the day.
Usage
Timeframe: Best suited for intraday timeframes (e.g., 1-hour, 4-hour) where the daily VWAP provides a higher-timeframe trend bias. It can also be used on daily charts with adjustments to the cooldown period.
Markets: Works well in trending markets (e.g., forex, crypto, stocks) where the dynamic trend line can capture sustained price movements. The VWAP filter helps align signals with the daily trend, making it effective for assets with clear daily biases.
Trading Strategy:
Buy: Enter a long position when a green triangle (buy signal) appears, indicating the price has crossed above the trend line and is above the daily VWAP.
Sell: Enter a short position (or exit a long) when a red triangle (sell signal) appears, indicating the price has crossed below the trend line and is below the daily VWAP.
Use the trend line and VWAP as dynamic support/resistance levels to set stop-losses or take-profit targets.
Backtesting: Use TradingView’s strategy tester to evaluate the indicator’s performance on your chosen market and timeframe, adjusting parameters like cooldown_bars and volatility_mult to optimize for profitability.
Example
On a 4-hour SOLUSDT chart, the DTI with VWAP Filter might show:
An uptrend with the price above the green trend line and above the daily VWAP, generating buy signals as the price continues to rise.
A downtrend where the price falls below the red trend line and the daily VWAP, generating sell signals that align with the bearish daily bias.
During choppy periods, the cooldown mechanism and VWAP filter reduce false signals, ensuring trades are taken only when the price aligns with the daily trend.
Limitations
Lagging Nature: Like all trend-following indicators, the DTI may lag during sharp price reversals, as the dynamic EMA needs time to adjust.
Ranging Markets: While the VWAP filter and cooldown mechanism reduce whipsaws, the indicator may still generate some false signals in strongly ranging markets. Combining it with a trend strength filter (e.g., ADX) can help.
VWAP Dependency: The effectiveness of the VWAP filter depends on the market’s respect for the daily VWAP as a support/resistance level. In markets with low volume or erratic price action, the VWAP may be less reliable.
Potential Improvements
VWAP Buffer: Add a percentage buffer around the VWAP (e.g., require the price to be 1% above/below) to further reduce noise.
Multi-Timeframe VWAP: Incorporate a weekly VWAP for additional trend confirmation on longer timeframes.
Trend Strength Filter: Add an ADX filter to ensure signals are generated only during strong trends (e.g., ADX > 25).
ACCURATE TREND LEVELS - TABLE PSv6.1Accurate Trend Level Indicator
Description:
The "Accurate Trend Level" indicator is a powerful tool designed to identify market trends and potential reversals with precision. Built on the concept (foundation) of Swing Highs and Swing Lows, this indicator easily detects uptrends and downtrends, providing traders with clear signals for trend continuation or reversal. Whether you are a swing trader or a trend follower, this indicator offers customization options to suit your trading style.
Key Features:
Trend Identification: Accurately identifies uptrends and downtrends based on Swing High and Swing Low points. This indicator provides signals for Up after Down and Down after Up.
Percentage Adjustment: Includes a customizable percentage factor that reduces false signals and helps identify accurate and strong trends.
Trend Table: Displays essential data in a table, such as:
Last and running Trend Position (Uptrend/Downtrend)
Date and Time of the last and running trend change
Reversal Level (price level for the next potential trend change)
Max. Run-up feature is also provided, which shows how much the market has moved according to the trend.
How It Works:
The indicator analyzes price action using Swing Highs and Lows to determine the current trend direction. A user-defined percentage threshold filters out minor fluctuations, ensuring only significant trends are highlighted. The table provides a quick snapshot of the latest trend data, while reversal levels help traders anticipate the next move.
Cumulative Histogram TickThis script is designed to create a cumulative histogram based on tick data from a specific financial instrument. The histogram resets at the start of each trading session, which is defined by a fixed time.
Key Components:
Tick Data Retrieval:
The script fetches the closing tick values from the specified instrument using request.security("TICK.NY", timeframe.period, close). This line ensures that the script works with the tick data for each bar on the chart.
Session Start and End Detection:
Start Hour: The script checks if the current bar's time is 9:30 AM (hour == 9 and minute == 30). This is used to reset the cumulative value at the beginning of each trading session.
End Hour: It also checks if the current bar's time is 4:00 PM (hour == 16). However, this condition is used to prevent further accumulation after the session ends.
Cumulative Value Management:
Reset: When the start hour condition is met (startHour), the cumulative value (cumulative) is reset to zero. This ensures that each trading session starts with a clean slate.
Accumulation: For all bars that are not at the end hour (not endHour), the tick value is added to the cumulative total. This process continues until the end of the trading session.
Histogram Visualization:
The cumulative value is plotted as a histogram using plot.style_histogram. The color of the histogram changes based on whether the cumulative value is positive (green) or negative (red).
Usage
This script is useful for analyzing intraday market activity by visualizing the accumulation of tick data over a trading session. It helps traders identify trends or patterns within each session, which can be valuable for making informed trading decisions.
VIX Implied MovesKey Features:
Three Timeframe Bands:
Daily: Blue bands showing ±1σ expected move
Weekly: Green bands showing ±1σ expected move
30-Day: Red bands showing ±1σ expected move
Calculation Methodology:
Uses VIX's annualized volatility converted to specific timeframes using square root of time rule
Trading day convention (252 days/year)
Band width = Price × (VIX/100) ÷ √(number of periods)
Visual Features:
Colored semi-transparent backgrounds between bands
Progressive line thickness (thinner for shorter timeframes)
Real-time updates as VIX and ES prices change
Example Calculation (VIX=20, ES=5000):
Daily move = 5000 × (20/100)/√252 ≈ ±63 points
Weekly move = 5000 × (20/100)/√50 ≈ ±141 points
Monthly move = 5000 × (20/100)/√21 ≈ ±218 points
This indicator helps visualize expected price ranges based on current volatility conditions, with wider bands indicating higher market uncertainty. The probabilistic ranges represent 68% confidence levels (1 standard deviation) derived from options pricing.
[blackcat] L3 Composite Trading System with ControlOVERVIEW
This indicator combines three distinct trading strategies into a unified decision-making framework. Utilizing KDJ oscillators, MACD divergence analysis, and adaptive signal filtering techniques, it provides actionable buy/sell signals validated against multi-period momentum trends and structural support/resistance levels.
FEATURES
Integrated KDJ oscillator with weighted moving average smoothing
Dynamic MACD difference visualization normalized against price volatility
Multi-layered confirmation process: • Momentum convergence/divergence tracking
• Candle pattern recognition (Yellow/Fuchsia flags)
• SMAs cross-validation (20/60-day thresholds)
Adaptive risk controls via tunable α parameter adjustment
HOW TO USE
Set Alpha Period parameter matching market cycle characteristics
Monitor primary trend direction via candle coloring (green/red zones)
Confirm directional bias using: ▪️ KDJ-J line position relative to zero axis ▪️ MACD histogram slope persistence (>3 bar validation)
Execute trades only when: • Buy/Sell labels align across both oscillator panels • Coincide with candle flag transitions (e.g., red→yellow) • Validate against concurrent SMA breakout conditions
LIMITATIONS
Lag inherent in EMA-based components during rapid reversals
Requires minimum 60-bar history for full functionality
Sensitive to fractal scaling due to normalization methods
Does not account for liquidity/volume dynamics
NOTES
• Yellow/Fuchsia flags reflect relative strength changes vs prior session
• SMA crossover validations have 16-bar lookback memory retention
Enhanced Fuzzy SMA Analyzer (Multi-Output Proxy) [FibonacciFlux]EFzSMA: Decode Trend Quality, Conviction & Risk Beyond Simple Averages
Stop Relying on Lagging Averages Alone. Gain a Multi-Dimensional Edge.
The Challenge: Simple Moving Averages (SMAs) tell you where the price was , but they fail to capture the true quality, conviction, and sustainability of a trend. Relying solely on price crossing an average often leads to chasing weak moves, getting caught in choppy markets, or missing critical signs of trend exhaustion. Advanced traders need a more sophisticated lens to navigate complex market dynamics.
The Solution: Enhanced Fuzzy SMA Analyzer (EFzSMA)
EFzSMA is engineered to address these limitations head-on. It moves beyond simple price-average comparisons by employing a sophisticated Fuzzy Inference System (FIS) that intelligently integrates multiple critical market factors:
Price deviation from the SMA ( adaptively normalized for market volatility)
Momentum (Rate of Change - ROC)
Market Sentiment/Overheat (Relative Strength Index - RSI)
Market Volatility Context (Average True Range - ATR, optional)
Volume Dynamics (Volume relative to its MA, optional)
Instead of just a line on a chart, EFzSMA delivers a multi-dimensional assessment designed to give you deeper insights and a quantifiable edge.
Why EFzSMA? Gain Deeper Market Insights
EFzSMA empowers you to make more informed decisions by providing insights that simple averages cannot:
Assess True Trend Quality, Not Just Location: Is the price above the SMA simply because of a temporary spike, or is it supported by strong momentum, confirming volume, and stable volatility? EFzSMA's core fuzzyTrendScore (-1 to +1) evaluates the health of the trend, helping you distinguish robust moves from noise.
Quantify Signal Conviction: How reliable is the current trend signal? The Conviction Proxy (0 to 1) measures the internal consistency among the different market factors analyzed by the FIS. High conviction suggests factors are aligned, boosting confidence in the trend signal. Low conviction warns of conflicting signals, uncertainty, or potential consolidation – acting as a powerful filter against chasing weak moves.
// Simplified Concept: Conviction reflects agreement vs. conflict among fuzzy inputs
bullStrength = strength_SB + strength_WB
bearStrength = strength_SBe + strength_WBe
dominantStrength = max(bullStrength, bearStrength)
conflictingStrength = min(bullStrength, bearStrength) + strength_N
convictionProxy := (dominantStrength - conflictingStrength) / (dominantStrength + conflictingStrength + 1e-10)
// Modifiers (Volatility/Volume) applied...
Anticipate Potential Reversals: Trends don't last forever. The Reversal Risk Proxy (0 to 1) synthesizes multiple warning signs – like extreme RSI readings, surging volatility, or diverging volume – into a single, actionable metric. High reversal risk flags conditions often associated with trend exhaustion, providing early warnings to protect profits or consider counter-trend opportunities.
Adapt to Changing Market Regimes: Markets shift between high and low volatility. EFzSMA's unique Adaptive Deviation Normalization adjusts how it perceives price deviations based on recent market behavior (percentile rank). This ensures more consistent analysis whether the market is quiet or chaotic.
// Core Idea: Normalize deviation by recent volatility (percentile)
diff_abs_percentile = ta.percentile_linear_interpolation(abs(raw_diff), normLookback, percRank) + 1e-10
normalized_diff := raw_diff / diff_abs_percentile
// Fuzzy sets for 'normalized_diff' are thus adaptive to volatility
Integrate Complexity, Output Clarity: EFzSMA distills complex, multi-factor analysis into clear, interpretable outputs, helping you cut through market noise and focus on what truly matters for your decision-making process.
Interpreting the Multi-Dimensional Output
The true power of EFzSMA lies in analyzing its outputs together:
A high Trend Score (+0.8) is significant, but its reliability is amplified by high Conviction (0.9) and low Reversal Risk (0.2) . This indicates a strong, well-supported trend.
Conversely, the same high Trend Score (+0.8) coupled with low Conviction (0.3) and high Reversal Risk (0.7) signals caution – the trend might look strong superficially, but internal factors suggest weakness or impending exhaustion.
Use these combined insights to:
Filter Entry Signals: Require minimum Trend Score and Conviction levels.
Manage Risk: Consider reducing exposure or tightening stops when Reversal Risk climbs significantly, especially if Conviction drops.
Time Exits: Use rising Reversal Risk and falling Conviction as potential signals to take profits.
Identify Regime Shifts: Monitor how the relationship between the outputs changes over time.
Core Technology (Briefly)
EFzSMA leverages a Mamdani-style Fuzzy Inference System. Crisp inputs (normalized deviation, ROC, RSI, ATR%, Vol Ratio) are mapped to linguistic fuzzy sets ("Low", "High", "Positive", etc.). A rules engine evaluates combinations (e.g., "IF Deviation is LargePositive AND Momentum is StrongPositive THEN Trend is StrongBullish"). Modifiers based on Volatility and Volume context adjust rule strengths. Finally, the system aggregates these and defuzzifies them into the Trend Score, Conviction Proxy, and Reversal Risk Proxy. The key is the system's ability to handle ambiguity and combine multiple, potentially conflicting factors in a nuanced way, much like human expert reasoning.
Customization
While designed with robust defaults, EFzSMA offers granular control:
Adjust SMA, ROC, RSI, ATR, Volume MA lengths.
Fine-tune Normalization parameters (lookback, percentile). Note: Fuzzy set definitions for deviation are tuned for the normalized range.
Configure Volatility and Volume thresholds for fuzzy sets. Tuning these is crucial for specific assets/timeframes.
Toggle visual elements (Proxies, BG Color, Risk Shapes, Volatility-based Transparency).
Recommended Use & Caveats
EFzSMA is a sophisticated analytical tool, not a standalone "buy/sell" signal generator.
Use it to complement your existing strategy and analysis.
Always validate signals with price action, market structure, and other confirming factors.
Thorough backtesting and forward testing are essential to understand its behavior and tune parameters for your specific instruments and timeframes.
Fuzzy logic parameters (membership functions, rules) are based on general heuristics and may require optimization for specific market niches.
Disclaimer
Trading involves substantial risk. EFzSMA is provided for informational and analytical purposes only and does not constitute financial advice. No guarantee of profit is made or implied. Past performance is not indicative of future results. Use rigorous risk management practices.
Fuzzy SMA with DCTI Confirmation[FibonacciFlux]FibonacciFlux: Advanced Fuzzy Logic System with Donchian Trend Confirmation
Institutional-grade trend analysis combining adaptive Fuzzy Logic with Donchian Channel Trend Intensity for superior signal quality
Conceptual Framework & Research Foundation
FibonacciFlux represents a significant advancement in quantitative technical analysis, merging two powerful analytical methodologies: normalized fuzzy logic systems and Donchian Channel Trend Intensity (DCTI). This sophisticated indicator addresses a fundamental challenge in market analysis – the inherent imprecision of trend identification in dynamic, multi-dimensional market environments.
While traditional indicators often produce simplistic binary signals, markets exist in states of continuous, graduated transition. FibonacciFlux embraces this complexity through its implementation of fuzzy set theory, enhanced by DCTI's structural trend confirmation capabilities. The result is an indicator that provides nuanced, probabilistic trend assessment with institutional-grade signal quality.
Core Technological Components
1. Advanced Fuzzy Logic System with Percentile Normalization
At the foundation of FibonacciFlux lies a comprehensive fuzzy logic system that transforms conventional technical metrics into degrees of membership in linguistic variables:
// Fuzzy triangular membership function with robust error handling
fuzzy_triangle(val, left, center, right) =>
if na(val)
0.0
float denominator1 = math.max(1e-10, center - left)
float denominator2 = math.max(1e-10, right - center)
math.max(0.0, math.min(left == center ? val <= center ? 1.0 : 0.0 : (val - left) / denominator1,
center == right ? val >= center ? 1.0 : 0.0 : (right - val) / denominator2))
The system employs percentile-based normalization for SMA deviation – a critical innovation that enables self-calibration across different assets and market regimes:
// Percentile-based normalization for adaptive calibration
raw_diff = price_src - sma_val
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
normalized_diff_raw = raw_diff / diff_abs_percentile
normalized_diff = useClamping ? math.max(-clampValue, math.min(clampValue, normalized_diff_raw)) : normalized_diff_raw
This normalization approach represents a significant advancement over fixed-threshold systems, allowing the indicator to automatically adapt to varying volatility environments and maintain consistent signal quality across diverse market conditions.
2. Donchian Channel Trend Intensity (DCTI) Integration
FibonacciFlux significantly enhances fuzzy logic analysis through the integration of Donchian Channel Trend Intensity (DCTI) – a sophisticated measure of trend strength based on the relationship between short-term and long-term price extremes:
// DCTI calculation for structural trend confirmation
f_dcti(src, majorPer, minorPer, sigPer) =>
H = ta.highest(high, majorPer) // Major period high
L = ta.lowest(low, majorPer) // Major period low
h = ta.highest(high, minorPer) // Minor period high
l = ta.lowest(low, minorPer) // Minor period low
float pdiv = not na(L) ? l - L : 0 // Positive divergence (low vs major low)
float ndiv = not na(H) ? H - h : 0 // Negative divergence (major high vs high)
float divisor = pdiv + ndiv
dctiValue = divisor == 0 ? 0 : 100 * ((pdiv - ndiv) / divisor) // Normalized to -100 to +100 range
sigValue = ta.ema(dctiValue, sigPer)
DCTI provides a complementary structural perspective on market trends by quantifying the relationship between short-term and long-term price extremes. This creates a multi-dimensional analysis framework that combines adaptive deviation measurement (fuzzy SMA) with channel-based trend intensity confirmation (DCTI).
Multi-Dimensional Fuzzy Input Variables
FibonacciFlux processes four distinct technical dimensions through its fuzzy system:
Normalized SMA Deviation: Measures price displacement relative to historical volatility context
Rate of Change (ROC): Captures price momentum over configurable timeframes
Relative Strength Index (RSI): Evaluates cyclical overbought/oversold conditions
Donchian Channel Trend Intensity (DCTI): Provides structural trend confirmation through channel analysis
Each dimension is processed through comprehensive fuzzy sets that transform crisp numerical values into linguistic variables:
// Normalized SMA Deviation - Self-calibrating to volatility regimes
ndiff_LP := fuzzy_triangle(normalized_diff, norm_scale * 0.3, norm_scale * 0.7, norm_scale * 1.1)
ndiff_SP := fuzzy_triangle(normalized_diff, norm_scale * 0.05, norm_scale * 0.25, norm_scale * 0.5)
ndiff_NZ := fuzzy_triangle(normalized_diff, -norm_scale * 0.1, 0.0, norm_scale * 0.1)
ndiff_SN := fuzzy_triangle(normalized_diff, -norm_scale * 0.5, -norm_scale * 0.25, -norm_scale * 0.05)
ndiff_LN := fuzzy_triangle(normalized_diff, -norm_scale * 1.1, -norm_scale * 0.7, -norm_scale * 0.3)
// DCTI - Structural trend measurement
dcti_SP := fuzzy_triangle(dcti_val, 60.0, 85.0, 101.0) // Strong Positive Trend (> ~85)
dcti_WP := fuzzy_triangle(dcti_val, 20.0, 45.0, 70.0) // Weak Positive Trend (~30-60)
dcti_Z := fuzzy_triangle(dcti_val, -30.0, 0.0, 30.0) // Near Zero / Trendless (~+/- 20)
dcti_WN := fuzzy_triangle(dcti_val, -70.0, -45.0, -20.0) // Weak Negative Trend (~-30 - -60)
dcti_SN := fuzzy_triangle(dcti_val, -101.0, -85.0, -60.0) // Strong Negative Trend (< ~-85)
Advanced Fuzzy Rule System with DCTI Confirmation
The core intelligence of FibonacciFlux lies in its sophisticated fuzzy rule system – a structured knowledge representation that encodes expert understanding of market dynamics:
// Base Trend Rules with DCTI Confirmation
cond1 = math.min(ndiff_LP, roc_HP, rsi_M)
strength_SB := math.max(strength_SB, cond1 * (dcti_SP > 0.5 ? 1.2 : dcti_Z > 0.1 ? 0.5 : 1.0))
// DCTI Override Rules - Structural trend confirmation with momentum alignment
cond14 = math.min(ndiff_NZ, roc_HP, dcti_SP)
strength_SB := math.max(strength_SB, cond14 * 0.5)
The rule system implements 15 distinct fuzzy rules that evaluate various market conditions including:
Established Trends: Strong deviations with confirming momentum and DCTI alignment
Emerging Trends: Early deviation patterns with initial momentum and DCTI confirmation
Weakening Trends: Divergent signals between deviation, momentum, and DCTI
Reversal Conditions: Counter-trend signals with DCTI confirmation
Neutral Consolidations: Minimal deviation with low momentum and neutral DCTI
A key innovation is the weighted influence of DCTI on rule activation. When strong DCTI readings align with other indicators, rule strength is amplified (up to 1.2x). Conversely, when DCTI contradicts other indicators, rule impact is reduced (as low as 0.5x). This creates a dynamic, self-adjusting system that prioritizes high-conviction signals.
Defuzzification & Signal Generation
The final step transforms fuzzy outputs into a precise trend score through center-of-gravity defuzzification:
// Defuzzification with precise floating-point handling
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10
fuzzyTrendScore := (strength_SB * STRONG_BULL + strength_WB * WEAK_BULL +
strength_N * NEUTRAL + strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1.0 (Strong Bear) to +1.0 (Strong Bull), with critical threshold zones at ±0.3 (Weak trend) and ±0.7 (Strong trend). The histogram visualization employs intuitive color-coding for immediate trend assessment.
Strategic Applications for Institutional Trading
FibonacciFlux provides substantial advantages for sophisticated trading operations:
Multi-Timeframe Signal Confirmation: Institutional-grade signal validation across multiple technical dimensions
Trend Strength Quantification: Precise measurement of trend conviction with noise filtration
Early Trend Identification: Detection of emerging trends before traditional indicators through fuzzy pattern recognition
Adaptive Market Regime Analysis: Self-calibrating analysis across varying volatility environments
Algorithmic Strategy Integration: Well-defined numerical output suitable for systematic trading frameworks
Risk Management Enhancement: Superior signal fidelity for risk exposure optimization
Customization Parameters
FibonacciFlux offers extensive customization to align with specific trading mandates and market conditions:
Fuzzy SMA Settings: Configure baseline trend identification parameters including SMA, ROC, and RSI lengths
Normalization Settings: Fine-tune the self-calibration mechanism with adjustable lookback period, percentile rank, and optional clamping
DCTI Parameters: Optimize trend structure confirmation with adjustable major/minor periods and signal smoothing
Visualization Controls: Customize display transparency for optimal chart integration
These parameters enable precise calibration for different asset classes, timeframes, and market regimes while maintaining the core analytical framework.
Implementation Notes
For optimal implementation, consider the following guidance:
Higher timeframes (4H+) benefit from increased normalization lookback (800+) for stability
Volatile assets may require adjusted clamping values (2.5-4.0) for optimal signal sensitivity
DCTI parameters should be aligned with chart timeframe (higher timeframes require increased major/minor periods)
The indicator performs exceptionally well as a trend filter for systematic trading strategies
Acknowledgments
FibonacciFlux builds upon the pioneering work of Donovan Wall in Donchian Channel Trend Intensity analysis. The normalization approach draws inspiration from percentile-based statistical techniques in quantitative finance. This indicator is shared for educational and analytical purposes under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Past performance does not guarantee future results. All trading involves risk. This indicator should be used as one component of a comprehensive analysis framework.
Shout out @DonovanWall
Fuzzy SMA Trend Analyzer (experimental)[FibonacciFlux]Fuzzy SMA Trend Analyzer (Normalized): Advanced Market Trend Detection Using Fuzzy Logic Theory
Elevate your technical analysis with institutional-grade fuzzy logic implementation
Research Genesis & Conceptual Framework
This indicator represents the culmination of extensive research into applying fuzzy logic theory to financial markets. While traditional technical indicators often produce binary outcomes, market conditions exist on a continuous spectrum. The Fuzzy SMA Trend Analyzer addresses this limitation by implementing a sophisticated fuzzy logic system that captures the nuanced, multi-dimensional nature of market trends.
Core Fuzzy Logic Principles
At the heart of this indicator lies fuzzy logic theory - a mathematical framework designed to handle imprecision and uncertainty:
// Improved fuzzy_triangle function with guard clauses for NA and invalid parameters.
fuzzy_triangle(val, left, center, right) =>
if na(val) or na(left) or na(center) or na(right) or left > center or center > right // Guard checks
0.0
else if left == center and center == right // Crisp set (single point)
val == center ? 1.0 : 0.0
else if left == center // Left-shoulder shape (ramp down from 1 at center to 0 at right)
val >= right ? 0.0 : val <= center ? 1.0 : (right - val) / (right - center)
else if center == right // Right-shoulder shape (ramp up from 0 at left to 1 at center)
val <= left ? 0.0 : val >= center ? 1.0 : (val - left) / (center - left)
else // Standard triangle
math.max(0.0, math.min((val - left) / (center - left), (right - val) / (right - center)))
This implementation of triangular membership functions enables the indicator to transform crisp numerical values into degrees of membership in linguistic variables like "Large Positive" or "Small Negative," creating a more nuanced representation of market conditions.
Dynamic Percentile Normalization
A critical innovation in this indicator is the implementation of percentile-based normalization for SMA deviation:
// ----- Deviation Scale Estimation using Percentile -----
// Calculate the percentile rank of the *absolute* deviation over the lookback period.
// This gives an estimate of the 'typical maximum' deviation magnitude recently.
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
// ----- Normalize the Raw Deviation -----
// Divide the raw deviation by the estimated 'typical max' magnitude.
normalized_diff = raw_diff / diff_abs_percentile
// ----- Clamp the Normalized Deviation -----
normalized_diff_clamped = math.max(-3.0, math.min(3.0, normalized_diff))
This percentile normalization approach creates a self-adapting system that automatically calibrates to different assets and market regimes. Rather than using fixed thresholds, the indicator dynamically adjusts based on recent volatility patterns, significantly enhancing signal quality across diverse market environments.
Multi-Factor Fuzzy Rule System
The indicator implements a comprehensive fuzzy rule system that evaluates multiple technical factors:
SMA Deviation (Normalized): Measures price displacement from the Simple Moving Average
Rate of Change (ROC): Captures price momentum over a specified period
Relative Strength Index (RSI): Assesses overbought/oversold conditions
These factors are processed through a sophisticated fuzzy inference system with linguistic variables:
// ----- 3.1 Fuzzy Sets for Normalized Deviation -----
diffN_LP := fuzzy_triangle(normalized_diff_clamped, 0.7, 1.5, 3.0) // Large Positive (around/above percentile)
diffN_SP := fuzzy_triangle(normalized_diff_clamped, 0.1, 0.5, 0.9) // Small Positive
diffN_NZ := fuzzy_triangle(normalized_diff_clamped, -0.2, 0.0, 0.2) // Near Zero
diffN_SN := fuzzy_triangle(normalized_diff_clamped, -0.9, -0.5, -0.1) // Small Negative
diffN_LN := fuzzy_triangle(normalized_diff_clamped, -3.0, -1.5, -0.7) // Large Negative (around/below percentile)
// ----- 3.2 Fuzzy Sets for ROC -----
roc_HN := fuzzy_triangle(roc_val, -8.0, -5.0, -2.0)
roc_WN := fuzzy_triangle(roc_val, -3.0, -1.0, -0.1)
roc_NZ := fuzzy_triangle(roc_val, -0.3, 0.0, 0.3)
roc_WP := fuzzy_triangle(roc_val, 0.1, 1.0, 3.0)
roc_HP := fuzzy_triangle(roc_val, 2.0, 5.0, 8.0)
// ----- 3.3 Fuzzy Sets for RSI -----
rsi_L := fuzzy_triangle(rsi_val, 0.0, 25.0, 40.0)
rsi_M := fuzzy_triangle(rsi_val, 35.0, 50.0, 65.0)
rsi_H := fuzzy_triangle(rsi_val, 60.0, 75.0, 100.0)
Advanced Fuzzy Inference Rules
The indicator employs a comprehensive set of fuzzy rules that encode expert knowledge about market behavior:
// --- Fuzzy Rules using Normalized Deviation (diffN_*) ---
cond1 = math.min(diffN_LP, roc_HP, math.max(rsi_M, rsi_H)) // Strong Bullish: Large pos dev, strong pos roc, rsi ok
strength_SB := math.max(strength_SB, cond1)
cond2 = math.min(diffN_SP, roc_WP, rsi_M) // Weak Bullish: Small pos dev, weak pos roc, rsi mid
strength_WB := math.max(strength_WB, cond2)
cond3 = math.min(diffN_SP, roc_NZ, rsi_H) // Weakening Bullish: Small pos dev, flat roc, rsi high
strength_N := math.max(strength_N, cond3 * 0.6) // More neutral
strength_WB := math.max(strength_WB, cond3 * 0.2) // Less weak bullish
This rule system evaluates multiple conditions simultaneously, weighting them by their degree of membership to produce a comprehensive trend assessment. The rules are designed to identify various market conditions including strong trends, weakening trends, potential reversals, and neutral consolidations.
Defuzzification Process
The final step transforms the fuzzy result back into a crisp numerical value representing the overall trend strength:
// --- Step 6: Defuzzification ---
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10 // Use small epsilon instead of != 0.0 for float comparison
fuzzyTrendScore := (strength_SB * STRONG_BULL +
strength_WB * WEAK_BULL +
strength_N * NEUTRAL +
strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1 (strong bearish) to +1 (strong bullish), providing a smooth, continuous evaluation of market conditions that avoids the abrupt signal changes common in traditional indicators.
Advanced Visualization with Rainbow Gradient
The indicator incorporates sophisticated visualization using a rainbow gradient coloring system:
// Normalize score to for gradient function
normalizedScore = na(fuzzyTrendScore) ? 0.5 : math.max(0.0, math.min(1.0, (fuzzyTrendScore + 1) / 2))
// Get the color based on gradient setting and normalized score
final_color = get_gradient(normalizedScore, gradient_type)
This color-coding system provides intuitive visual feedback, with color intensity reflecting trend strength and direction. The gradient can be customized between Red-to-Green or Red-to-Blue configurations based on user preference.
Practical Applications
The Fuzzy SMA Trend Analyzer excels in several key applications:
Trend Identification: Precisely identifies market trend direction and strength with nuanced gradation
Market Regime Detection: Distinguishes between trending markets and consolidation phases
Divergence Analysis: Highlights potential reversals when price action and fuzzy trend score diverge
Filter for Trading Systems: Provides high-quality trend filtering for other trading strategies
Risk Management: Offers early warning of potential trend weakening or reversal
Parameter Customization
The indicator offers extensive customization options:
SMA Length: Adjusts the baseline moving average period
ROC Length: Controls momentum sensitivity
RSI Length: Configures overbought/oversold sensitivity
Normalization Lookback: Determines the adaptive calculation window for percentile normalization
Percentile Rank: Sets the statistical threshold for deviation normalization
Gradient Type: Selects the preferred color scheme for visualization
These parameters enable fine-tuning to specific market conditions, trading styles, and timeframes.
Acknowledgments
The rainbow gradient visualization component draws inspiration from LuxAlgo's "Rainbow Adaptive RSI" (used under CC BY-NC-SA 4.0 license). This implementation of fuzzy logic in technical analysis builds upon Fermi estimation principles to overcome the inherent limitations of crisp binary indicators.
This indicator is shared under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Remember that past performance does not guarantee future results. Always conduct thorough testing before implementing any technical indicator in live trading.
Spot - Fut spread v2"Spot - Fut Spread v2"
indicator is designed to track the difference between spot and futures prices on various exchanges. It automatically identifies the corresponding instrument (spot or futures) based on the current symbol and calculates the spread between the prices. This tool is useful for analyzing the delta between spot and futures markets, helping traders assess arbitrage opportunities and market sentiment.
Key Features:
- Automatic detection of spot and futures assets based on the current chart symbol.
- Flexible asset selection: the ability to manually choose the second asset if automatic selection is disabled.
- Spread calculation between futures and spot prices.
- Moving average of the spread for smoothing data and trend analysis.
Flexible visualization:
- Color indication of positive and negative spread.
- Adjustable background transparency.
- Text label displaying the current spread and moving average values.
- Error alerts in case of invalid data.
How the Indicator Works:
- Determines whether the current symbol is a futures contract.
- Based on this, selects the corresponding spot or futures symbol.
- Retrieves price data and calculates the spread between them.
- Displays the spread value and its moving average.
- The chart background color changes based on the spread value (positive or negative).
- In case of an error, the indicator provides an alert with an explanation.
Customization Parameters:
-Exchange selection: the ability to specify a particular exchange from the list.
- Automatic pair selection: enable or disable automatic selection of the second asset.
- Moving average period: user-defined.
- Colors for positive and negative spread values.
- Moving average color.
- Background transparency.
- Background coloring source (based on spread or its moving average).
Application:
The indicator is suitable for traders who analyze the difference between spot and futures prices, look for arbitrage opportunities, and assess the premium or discount of futures relative to the spot market.
Three Red WicksThe indicator will mark spots on your chart where three red candles appear in a row. You can modify the marker's color, shape, or position by adjusting the plotshape parameters if desired.
Would you like me to modify anything in this indicator, like changing the marker style or adding additional conditions?
SemaforThis is the 4 Level Semafor indicator with Daily Open Line and Average Session Range. Also on the chart is the EMA Ribbon indicator.
Credit to:
Devlucem for the Semafor indicator
Quantvue for the Average Session Range
Shusterivi for the Daily Open Line
MYNAMEISBRANDON for the EMA Ribbon
The Semafors are based on the ZigZag indicator and show higher highs/lower lows of a specified period, determined by the user and applied in settings.
The default periods I use are:
10 period (hidden on this chart)
50 period-blue dots
250 period-white dots
615 period-black dots
Just as the ZigZag indicator will recalculate so to will the semafors, as additional candles are built. The semafor indicator is never to be used as a stand alone signal. It must be combined with other indicators to be used effectively. What we look for are the semafor patterns of a large white dot followed by a 1st blue dot opposite of the white. Then a 2nd blue dot in agreement with the white dot. In theory, the 2nd blue dot is seen as confirmation of the establishment of the white semafor..
When combined with Daily Open Line, ADR (Average Sessions Range), EMA cross and VWAP anchored to your 250 semafors, your odds are greatly increased. Add to that the knowledge of basic market structure and the wisdom that comes from patience and you have a very powerful weapon.
The Daily Open...I trade the M1 chart and also draw a H4 Open Line on my chart for the smaller time frames. Price will tend to trade away from the Daily Open Line. In many cases until it reaches certain levels...Fib, Gann, ADR, etc., then runs through a pullback cycle. I like the ADR levels. The ADR can give clues when entering a consolidation phase, ie trading between the buy side and sell side 15% levels. Trading away from the Daily Open(or H4 open) along with breaking the 15% level, while in agreement with a semafor pattern is a good sign.
Add to that confluence the agreement of your MA cross and the 250 semafor Anchored VWAP and you have a solid signal to help determine your actions. This trend following layout will work on any time frame. I just really like the M1 for its precision, not for crazy back and forth all day. With the exception of some strong pull back signals, I don't enter any more trades on the M1 than on M5, 15 or 30.
This is based on and follows the teachings of Xard and his trading strategy. Just as I don't want to take anyone's credit for these indicators, I won't take credit for what I have been taught either.
The trader can obviously use their favorite MA cross indicator. But this one is visually beautiful AND displays the current time frame and 1 time frame higher on the chart...awesome!
Of note, I do run into trouble at times with the 615 period semafor. I have been told it is because TradingView has trouble with extended period indicators. As a matter of fact, I would like a much higher period for my biggest semafor. I would like it set at 1250, but that seems to be a no starter. If anyone has a solution, that would be welcomed news.
Super Cycle Low FinderHow the Indicator Works
1. Inputs
Users can adjust the cycle lengths:
Daily Cycle: Default is 40 days (within 36-44 days).
Weekly Cycle: Default is 26 weeks (182 days, within 22-31 weeks).
Yearly Cycle: Default is 4 years (1460 days).
2. Cycle Low Detection
Function: detect_cycle_low finds the lowest low over the specified period and confirms it with a bullish candle (close > open).
Timeframes: Daily lows are calculated directly; weekly and yearly lows use request.security to fetch data from higher timeframes.
3. Half Cycle Lows
Detected over half the cycle length, plotted to show mid-cycle strength or weakness.
4. Cycle Translation
Logic: Compares the position of the highest high to the cycle’s midpoint.
Output: "R" for right translated (bullish), "L" for left translated (bearish), displayed above bars.
5. Cycle Failure
Flags when a new low falls below the previous cycle low, indicating a breakdown.
6. Visualization
Cycle Lows: Diamonds below bars (yellow for daily, green for weekly, blue for yearly).
Half Cycle Lows: Circles below bars (orange, lime, aqua).
Translations: "R" or "L" above bars in distinct colors.
Failures: Downward triangles below bars (red, orange, purple).
Market Heat Z-ScoreThe "Market Heat Z-Score" indicator calculates the Z-score of a chosen price source over a specified lookback period, indicating how far the current price is from the mean in terms of standard deviations. It visually represents overbought and oversold conditions with a color gradient and customizable glow effect, with background shading indicating extreme Z-scores.
TimeMapTimeMap is a visual price-reference indicator designed to help traders rapidly visualize how current price levels relate to significant historical closing prices. It overlays your chart with reference lines representing past weekly, monthly, quarterly (3-month), semi-annual (6-month), and annual closing prices. By clearly plotting these historical price references, TimeMap helps traders quickly gauge price position relative to historical market structure, aiding in the identification of trends, support/resistance levels, and potential reversals.
How it Works:
The indicator calculates the precise number of historical bars corresponding to weekly, monthly, quarterly, semi-annual, and annual intervals, dynamically adjusting according to your chart’s timeframe (intraday, daily, weekly, monthly) and chosen market type (Stocks US, Crypto, Forex, or Futures). Historical closing prices from these periods are plotted directly on your chart as horizontal reference lines.
For intraday traders, the script accurately calculates historical offsets considering regular and extended trading sessions (e.g., pre-market and after-hours sessions for US stocks), ensuring correct positioning of historical lines.
User-Configurable Inputs Explained in Detail:
Market Type:
Allows you to specify your trading instrument type, automatically adjusting calculations for:
- Stocks US (default): 390 minutes per regular session (780 minutes if extended hours enabled), 5 trading days/week.
- Crypto: 1440 minutes/day, 7 trading days/week.
- Forex: 1440 minutes/day, 5 trading days/week.
- Futures: 1320 minutes/day, 5 trading days/week.
Show Weekly Close:
When enabled, plots a line at the exact closing price from one week ago. Provides short-term context and helps identify recent price momentum.
Show Monthly Close:
When enabled, plots a line at the exact closing price from one month ago. Helpful for evaluating medium-term price positioning and monthly trend strength.
Show 3-Month Close:
When enabled, plots a line at the exact closing price from three months ago. Useful for assessing quarterly market shifts, intermediate trend changes, and broader market sentiment.
Show 6-Month Close:
When enabled, plots a line at the exact closing price from six months ago. Useful for identifying semi-annual trends, significant price pivots, and longer-term support/resistance levels.
Show 1-Year Close:
When enabled, plots a line at the exact closing price from one year ago. Excellent for assessing long-term market direction and key annual price levels.
Enable Smoothing:
Activates a Simple Moving Average (SMA) smoothing of historical reference lines, reducing volatility and providing clearer visual references. Recommended for traders preferring less volatile reference levels.
Smoothing Length:
Determines the number of bars used in calculating the SMA smoothing of historical lines. Higher values result in smoother but slightly delayed reference lines; lower values offer more immediate yet more volatile levels.
Use Extended Hours (Intraday Only):
When enabled (only applicable for Stocks US), it accounts for pre-market and after-hours trading sessions, providing accurate intraday historical line calculations based on extended sessions (typically 780 minutes/day total).
Important Notes and Compliance:
- This indicator does not provide trading signals, recommendations, or predictions. It serves purely as a visual analytical tool to supplement traders’ existing methods.
- Historical lines plotted are strictly based on past available price data; the indicator never accesses future data or data outside the scope of Pine Script’s standard capabilities.
- The script incorporates built-in logic to avoid runtime errors if insufficient historical data exists for a selected timeframe, ensuring robustness even with limited historical bars.
- TimeMap is original work developed exclusively by Julien Eche (@Julien_Eche). It does not reuse or replicate third-party or existing open-source scripts.
Recommended Best Practices:
- Use TimeMap as a complementary analytical reference, not as a standalone strategy or trade decision-making tool.
- Adapt displayed historical periods and smoothing settings based on your trading style and market approach.
- Default plot colors are optimized for readability on dark-background charts; adjust as necessary according to your preference and chart color scheme.
This script is published open-source to benefit the entire TradingView community and fully complies with all TradingView script publishing rules and guidelines.
Low Liquidity Zones [PhenLabs]📊 Low Liquidity Zones
Version: PineScript™ v6
📌 Description
Low Liquidity Zones identifies and highlights periods of unusually low trading volume on your chart, marking areas where price movement occurred with minimal participation. These zones often represent potential support and resistance levels that may be more susceptible to price breakouts or reversals when revisited with higher volume.
Unlike traditional volume analysis tools that focus on high volume spikes, this indicator specializes in detecting low liquidity areas where price moved with minimal resistance. Each zone displays its volume delta, providing insight into buying vs. selling pressure during these thin liquidity periods. This combination of low volume detection and delta analysis helps traders identify potential price inefficiencies and weak structures in the market.
🚀 Points of Innovation
• Identifies low liquidity zones that most volume indicators overlook but which often become significant technical levels
• Displays volume delta within each zone, showing net buying/selling pressure during low liquidity periods
• Dynamically adjusts to different timeframes, allowing analysis across multiple time horizons
• Filters zones by maximum size percentage to focus only on precise price levels
• Maintains historical zones until they expire based on your lookback settings, creating a cumulative map of potential support/resistance areas
🔧 Core Components
• Low Volume Detection: Identifies candles where volume falls below a specified threshold relative to recent average volume, highlighting potential liquidity gaps.
• Volume Delta Analysis: Calculates and displays the net buying/selling pressure within each low liquidity zone, providing insight into the directional bias during low participation periods.
• Dynamic Timeframe Adjustment: Automatically scales analysis periods to match your selected timeframe preference, ensuring consistent identification of low liquidity zones regardless of chart settings.
• Zone Management System: Creates, tracks, and expires low liquidity zones based on your configured settings, maintaining visual clarity on the chart.
🔥 Key Features
• Low Volume Identification: Automatically detects and highlights candles where volume falls below your specified threshold compared to the moving average.
• Volume Delta Visualization: Shows the net volume delta within each zone, providing insight into whether buyers or sellers were dominant despite the low overall volume.
• Flexible Timeframe Analysis: Analyze low liquidity zones across multiple predefined timeframes or use a custom lookback period specific to your trading style.
• Zone Size Filtering: Filters out excessively large zones to focus only on precise price levels, improving signal quality.
• Automatic Zone Expiration: Older zones are automatically removed after your specified lookback period to maintain a clean, relevant chart display.
🎨 Visualization
• Volume Delta Labels: Each zone displays its volume delta with “+” or “-” prefix and K/M suffix for easy interpretation, showing the strength and direction of pressure during the low volume period.
• Persistent Historical Mapping: Zones remain visible for your specified lookback period, creating a cumulative map of potential support and resistance levels forming under low liquidity conditions.
📖 Usage Guidelines
Analysis Timeframe
Default: 1D
Range/Options: 15M, 1HR, 3HR, 4HR, 8HR, 16HR, 1D, 3D, 5D, 1W, Custom
Description: Determines the historical period to analyze for low liquidity zones. Shorter timeframes provide more recent data while longer timeframes offer a more comprehensive view of significant zones. Use Custom option with the setting below for precise control.
Custom Period (Bars)
Default: 1000
Range: 1+
Description: Number of bars to analyze when using Custom timeframe option. Higher values show more historical zones but may impact performance.
Volume Analysis
Volume Threshold Divisor
Default: 0.5
Range: 0.1-1.0
Description: Maximum volume relative to average to identify low volume zones. Example: 0.5 means volume must be below 50% of the average to qualify as low volume. Lower values create more selective zones while higher values identify more zones.
Volume MA Length
Default: 15
Range: 1+
Description: Period length for volume moving average calculation. Shorter periods make the indicator more responsive to recent volume changes, while longer periods provide a more stable baseline.
Zone Settings
Zone Fill Color
Default: #2196F3 (80% transparency)
Description: Color and transparency of the low liquidity zones. Choose colors that stand out against your chart background without obscuring price action.
Maximum Zone Size %
Default: 0.5
Range: 0.1+
Description: Maximum allowed height of a zone as percentage of price. Larger zones are filtered out. Lower values create more precise zones focusing on tight price ranges.
Display Options
Show Volume Delta
Default: true
Description: Toggles the display of volume delta within each zone. Enabling this provides additional insight into buying vs. selling pressure during low volume periods.
Delta Text Position
Default: Right
Options: Left, Center, Right
Description: Controls the horizontal alignment of the delta text within zones. Adjust based on your chart layout for optimal readability.
✅ Best Use Cases
• Identifying potential support and resistance levels that formed during periods of thin liquidity
• Spotting price inefficiencies where larger players may have moved price with minimal volume
• Finding low-volume consolidation areas that may serve as breakout or reversal zones when revisited
• Locating potential stop-hunting zones where price moved on minimal participation
• Complementing traditional support/resistance analysis with volume context
⚠️ Limitations
• Requires volume data to function; will not work on symbols where the data provider doesn’t supply volume information
• Low volume zones don’t guarantee future support/resistance - they simply highlight potential areas of interest
• Works best on liquid instruments where volume data has meaningful fluctuations
• Historical analysis is limited by the maximum allowed box count (500) in TradingView
• Volume delta in some markets may not perfectly reflect buying vs. selling pressure due to data limitations
💡 What Makes This Unique
• Focus on Low Volume: Unlike some indicators that highlight high volume events particularly like our very own TLZ indicator, this tool specifically identifies potentially significant price zones that formed with minimal participation.
• Delta + Low Volume Integration: Combines volume delta analysis with low volume detection to reveal directional bias during thin liquidity periods.
• Flexible Lookback System: The dynamic timeframe system allows analysis across any timeframe while maintaining consistent zone identification criteria.
• Support/Resistance Zone Generation: Automatically builds a visual map of potential technical levels based on volume behavior rather than just price patterns.
🔬 How It Works
1. Volume Baseline Calculation:
The indicator calculates a moving average of volume over your specified period to establish a baseline for normal market participation. This adaptive baseline accounts for natural volume fluctuations across different market conditions.
2. Low Volume Detection:
Each candle’s volume is compared to the moving average and flagged when it falls below your threshold divisor. The indicator also filters zones by maximum size to ensure only precise price levels are highlighted.
3. Volume Delta Integration:
For each identified low volume candle, the indicator retrieves the volume delta from a lower timeframe. This delta value is formatted with appropriate scaling (K/M) and displayed within the zone.
4. Zone Management:
New zones are created and tracked in a dynamic array, with each zone extending rightward until it expires. The system automatically removes expired zones based on your lookback period to maintain a clean chart.
💡 Note:
Low liquidity zones often represent areas where price moved with minimal participation, which can indicate potential market inefficiencies. These zones frequently become important support/resistance levels when revisited, especially if approached with higher volume. Consider using this indicator alongside traditional technical analysis tools for comprehensive market context. For best results, experiment with different volume threshold settings based on the specific instrument’s typical volume patterns.
PSP - Precision CandlePSP Precision Spotting Points (PSP) Indicator
The PSP Precision Spotting Points (PSP) Indicator is designed for traders seeking to identify high-probability reversal zones by detecting PSP setups with precision. PSPs are Potential Swing Points that often precede market reversals or significant price reactions. This indicator simplifies the process of spotting these opportunities by highlighting areas of interest based on market structure, correlation imbalances, and wick rejections.
📌 Key Features:
PSP Detection: Accurately identifies Potential Swing Points by scanning for candle patterns that suggest a shift in momentum.
Precision Entry Zones: Marks areas where price is likely to react, offering clear visual cues for optimal trade execution.
Smart Filtering: Filters out low-quality signals using advanced volatility and liquidity analysis.
Wick Confirmation: Validates PSP setups using wick rejections and correlation cracks, enhancing the probability of a successful trade.
Customizable Alerts: Stay informed with real-time notifications when a PSP is detected.
🛠️ How It Works:
Candle Analysis: Scans for specific price action patterns where candle body-to-wick ratios and volatility suggest a Potential Swing Point.
Correlation Cracks: Detects discrepancies between correlated instruments, adding confluence to PSP setups.
POI Alignment: Highlights areas near Points of Interest (POIs) like Fair Value Gaps (FVGs), previous highs/lows, and session kill zones.
Rejection Confirmation: Ensures PSPs are validated through wick-based rejection patterns, minimizing false signals.