Advanced Volume-Driven Breakout SignalsThe "Advanced Volume-Driven Breakout Signals" indicator is a cutting-edge tool designed to help traders identify high-potential trading opportunities through sophisticated volume analysis techniques. This indicator integrates volume flow analysis, moving averages, and Relative Volume (RVOL) to provide a comprehensive view of market conditions, going beyond traditional Volume Spread Analysis (VSA) methods.
Key Features:
Volume Flow Analysis: Distinguishes bullish and bearish volume flows with distinct colors, making it easier to visualize market sentiment and potential breakout points.
Volume Flow Moving Averages: Calculates moving averages for volume using various methods (SMA, EMA, WMA, HMA, VWMA), accommodating different trading strategies. This includes settings for adjusting the type of moving average and its period, as well as thresholds for high, medium, and low volume levels.
Volume Spikes Detection: Identifies significant volume spikes based on user-defined multipliers and moving averages, highlighting unusual trading activity.
Volume MA Cloud Settings: Computes general moving averages of volume to track trends and detect deviations. This feature includes options to select different moving average types and adjust thresholds for detecting high volume activity.
Relative Volume (RVOL): Measures current volume relative to historical averages, triggering signals when RVOL exceeds predefined thresholds, indicating notable changes in trading activity.
Entry Conditions: Provides clear long and short entry signals based on combined volume flow conditions and RVOL, offering actionable trading opportunities.
Volume Visualization:
— Bullish Volume Flow: Light and dark green bars indicate bullish volume flow.
— Bearish Volume Flow: Light and dark red bars denote bearish volume flow.
— High Volume Bars: Highlighted in yellow, and extreme volume bars in orange for additional context. These bars are plotted for visual aid and do not directly influence trade signals, focusing instead on the quality and strength of the volume flow.
Alerts: Allows users to create alert notifications for long and short entry signals when the criteria are met, enabling traders to respond promptly to trading opportunities.
Usage:
Overlay: Apply the indicator directly to your price chart to visualise real-time signals and volume conditions.
Customisable: Adjust settings for moving averages, RVOL, and other parameters to match your trading strategy and preferences.
Comparison to VSA Scripts: The "Advanced Volume-Driven Breakout Signals" indicator extends beyond traditional VSA scripts by incorporating a wider range of analytical features. While VSA primarily focuses on volume spread patterns and price action, this indicator offers enhanced functionality with advanced RVOL metrics, customizable moving averages, and detailed volume spike detection, making it a more versatile tool for identifying breakout opportunities and managing trades. It is particularly effective when used alongside key levels and order blocks.
Acknowledgements: Special thanks to @oh92 and @goofoffgoose for their invaluable scripts, which served as inspiration in the development of this advanced trading indicator.
Notes: The script is continually evolving, with ongoing refinements aimed at enhancing accuracy and performance.
Volumespreadanalysis
Big Volumes HighlighterBig Volumes Highlighter
Overview:
The "Big Volume Highlighter" is a powerful tool designed to help traders quickly identify candles with the highest trading volume over a specified period. This indicator not only highlights the most significant volume candles but also color-codes them based on the candle's direction—green for bullish (close > open) and red for bearish (close < open). Whether you're analyzing volume spikes or looking for key moments in price action, this indicator provides clear visual cues to enhance your trading decisions.
Features:
Customizable Lookback Period: Define the number of candles to consider when determining the highest volume.
Automatic Color Coding: Candles with the highest volume are highlighted in green if bullish and red if bearish.
Visual Clarity: The indicator marks the significant volume candles with a triangle above the bar and changes the background color to match, making it easy to spot important volume events at a glance.
Use Cases:
Volume Spike Detection:
Quickly identify when a large volume enters the market, which may indicate significant buying or selling pressure.
Trend Confirmation: Use volume spikes to confirm trends or potential reversals by observing the direction of the high-volume candles.
Market Sentiment Analysis: Understand market sentiment by analyzing the direction of the candles with the biggest volumes.
How to Use:
Add the "Big Volume Highlighter" to your chart.
Adjust the lookback period to suit your analysis.
Observe the highlighted candles for insights into market dynamics.
This script is ideal for traders who want to incorporate volume analysis into their technical strategy, providing a simple yet effective way to monitor significant volume changes in the market.
Volume Spread Analysis [AlgoAlpha]Unleash the power of Volume Spread Analysis (VSA) with our state-of-the-art indicator designed to detect market divergences and convergences, helping you make informed trading decisions. 📈
Key Features:
Detects bullish and bearish divergences based on volume and price movements. 📊🔍
Identifies bullish and bearish convergences, signaling potential trend continuations or reversals. 🔄📉
Customizable parameters for period length, volume SMA period, and outlier reduction factor. ⚙️🔧
Visual highlights for detected effects, with color-coded boxes and labels. 🟩🟥
Provides alerts for divergences and convergences, keeping you updated on market conditions. 🔔📬
📚 Introduction to Volume Spread Analysis (VSA) :
Volume Spread Analysis is a method used to interpret the relationship between volume and price to identify the intentions of market participants. By analyzing the spread (range) of a price bar and its corresponding volume, VSA helps traders discern market strength and potential reversals.
In VSA, harmony occurs when price and volume move in sync, such as when increasing prices(aka "Effect" in the script) are accompanied by increasing volume. This indicates a strong and healthy trend. Conversely, divergence happens when price and volume move in opposite directions. For example, if prices are rising lesser but volume is still high, it may signal a weakening trend and a potential reversal. Identifying these patterns helps traders understand market dynamics and make more informed trading decisions.
🛠 Quick Guide to Using the Volume Spread Analysis Indicator
⭐ Add the Indicator: Add the indicator to favorites by pressing the star icon. Customize settings such as period length, volume SMA period, and outlier reduction factor to fit your trading style.
📊 Market Analysis: Watch for color-coded boxes indicating effects and labels showing effort values. Look for divergences and convergences to identify potential trading opportunities. A higher work done suggests that the markets are needing to work harder to move the price and users can use that information as displayed below each trend impulse box to analyze the likely hood of trend continuation/reversals.
🔔 Alerts: Enable alerts for divergences and convergences to stay informed of critical market conditions without constant chart monitoring.
🔍 How It Works:
Our indicator meticulously analyzes volume and price data to detect significant market movements. It identifies periods where volume is above or below a moving average, marks these points, and tracks the price effect over a user-defined range. By calculating the effort (volume) and effect (price movement), it distinguishes between divergences and convergences based on predefined conditions. Bullish and bearish conditions are visually represented with color-coded boxes and labels, making it easy to spot trading opportunities. Alerts can be set to notify you of critical market conditions, ensuring you never miss a potential trade setup.
Happy trading! 📈🚀
Auto Volume Spread Analysis (VSA) [TANHEF]Auto Volume Spread Analysis (visible volume and spread bars auto-scaled): Understanding Market Intentions through the Interpretation of Volume and Price Movements.
All the sections below contain the same descriptions as my other indicator "Volume Spread Analysis" with the exception of 'Auto Scaling'.
█ Auto-Scaling
This indicator auto-scales spread bars to match the visible volume bars, unlike the previous "Volume Spread Analysis " version which limited the number of visible spread bars to a fixed count. The auto-scaling feature allows for easier navigation through historical data, enabling both more historical spread bars to be viewed and more historical VSA pattern labels being displayed without requiring using the bar replay tool. Please note that this indicator’s auto-scaling feature recalculates the visible bars on the chart, causing the indicator to reload whenever the chart is moved.
Auto-scaled spread bars have two display options (set via 'Spread Bars Method' setting):
Lines: a bar lookback limit of 500 bars.
Polylines: no bar lookback limit as only plotted on visible bars on chart, which uses multiple polylines are used.
█ Simple Explanation:
The Volume Spread Analysis (VSA) indicator is a comprehensive tool that helps traders identify key market patterns and trends based on volume and spread data. This indicator highlights significant VSA patterns and provides insights into market behavior through color-coded volume/spread bars and identification of bars indicating strength, weakness, and neutrality between buyers and sellers. It also includes powerful volume and spread forecasting capabilities.
█ Laws of Volume Spread Analysis (VSA):
The origin of VSA begins with Richard Wyckoff, a pivotal figure in its development. Wyckoff made significant contributions to trading theory, including the formulation of three basic laws:
The Law of Supply and Demand: This fundamental law states that supply and demand balance each other over time. High demand and low supply lead to rising prices until demand falls to a level where supply can meet it. Conversely, low demand and high supply cause prices to fall until demand increases enough to absorb the excess supply.
The Law of Cause and Effect: This law assumes that a 'cause' will result in an 'effect' proportional to the 'cause'. A strong 'cause' will lead to a strong trend (effect), while a weak 'cause' will lead to a weak trend.
The Law of Effort vs. Result: This law asserts that the result should reflect the effort exerted. In trading terms, a large volume should result in a significant price move (spread). If the spread is small, the volume should also be small. Any deviation from this pattern is considered an anomaly.
█ Volume and Spread Analysis Bars:
Display: Volume and spread bars that consist of color coded levels, with the spread bars scaled to match the volume bars. A displayable table (Legend) of bar colors and levels can give context and clarify to each volume/spread bar.
Calculation: Levels are calculated using multipliers applied to moving averages to represent key levels based on historical data: low, normal, high, ultra. This method smooths out short-term fluctuations and focuses on longer-term trends.
Low Level: Indicates reduced volatility and market interest.
Normal Level: Reflects typical market activity and volatility.
High Level: Indicates increased activity and volatility.
Ultra Level: Identifies extreme levels of activity and volatility.
This illustrates the appearance of Volume and Spread bars when scaled and plotted together:
█ Forecasting Capabilities:
Display: Forecasted volume and spread levels using predictive models.
Calculation: Volume and Spread prediction calculations differ as volume is linear and spread is non-linear.
Volume Forecast (Linear Forecasting): Predicts future volume based on current volume rate and bar time till close.
Spread Forecast (Non-Linear Dynamic Forecasting): Predicts future spread using a dynamic multiplier, less near midpoint (consolidation) and more near low or high (trending), reflecting non-linear expansion.
Moving Averages: In forecasting, moving averages utilize forecasted levels instead of actual levels to ensure the correct level is forecasted (low, normal, high, or ultra).
The following compares forecasted volume with actual resulting volume, highlighting the power of early identifying increased volume through forecasted levels:
█ VSA Patterns:
Criteria and descriptions for each VSA pattern are available as tooltips beside them within the indicator’s settings. These tooltips provide explanations of potential developments based on the volume and spread data.
Signs of Strength (🟢): Patterns indicating strong buying pressure and potential market upturns.
Down Thrust
Selling Climax
No Effort ➤ Bearish Result
Bearish Effort ➤ No Result
Inverse Down Thrust
Failed Selling Climax
Bull Outside Reversal
End of Falling Market (Bag Holder)
Pseudo Down Thrust
No Supply
Signs of Weakness (🔴): Patterns indicating strong selling pressure and potential market downturns.
Up Thrust
Buying Climax
No Effort ➤ Bullish Result
Bullish Effort ➤ No Result
Inverse Up Thrust
Failed Buying Climax
Bear Outside Reversal
End of Rising Market (Bag Seller)
Pseudo Up Thrust
No Demand
Neutral Patterns (🔵): Patterns indicating market indecision and potential for continuation or reversal.
Quiet Doji
Balanced Doji
Strong Doji
Quiet Spinning Top
Balanced Spinning Top
Strong Spinning Top
Quiet High Wave
Balanced High Wave
Strong High Wave
Consolidation
Bar Patterns (🟡): Common candlestick patterns that offer insights into market sentiment. These are required in some VSA patterns and can also be displayed independently.
Bull Pin Bar
Bear Pin Bar
Doji
Spinning Top
High Wave
Consolidation
This demonstrates the acronym and descriptive options for displaying bar patterns, with the ability to hover over text to reveal the descriptive text along with what type of pattern:
█ Alerts:
VSA Pattern Alerts: Notifications for identified VSA patterns at bar close.
Volume and Spread Alerts: Alerts for confirmed and forecasted volume/spread levels (Low, High, Ultra).
Forecasted Volume and Spread Alerts: Alerts for forecasted volume/spread levels (High, Ultra) include a minimum percent time elapsed input to reduce false early signals by ensuring sufficient bar time has passed.
█ Inputs and Settings:
Indicator Bar Color: Select color schemes for bars (Normal, Detail, Levels).
Indicator Moving Average Color: Select schemes for bars (Fill, Lines, None).
Price Bar Colors: Options to color price bars based on VSA patterns and volume levels.
Legend: Display a table of bar colors and levels for context and clarity of volume/spread bars.
Forecast: Configure forecast display and prediction details for volume and spread.
Average Multipliers: Define multipliers for different levels (Low, High, Ultra) to refine the analysis.
Moving Average: Set volume and spread moving average settings.
VSA: Select the VSA patterns to be calculated and displayed (Strength, Weakness, Neutral).
Bar Patterns: Criteria for bar patterns used in VSA (Doji, Bull Pin Bar, Bear Pin Bar, Spinning Top, Consolidation, High Wave).
Colors: Set exact colors used for indicator bars, indicator moving averages, and price bars.
More Display Options: Specify how VSA pattern text is displayed (Acronym, Descriptive), positioning, and sizes.
Alerts: Configure alerts for VSA patterns, volume, and spread levels, including forecasted levels.
█ Usage:
The Volume Spread Analysis indicator is a helpful tool for leveraging volume spread analysis to make informed trading decisions. It offers comprehensive visual and textual cues on the chart, making it easier to identify market conditions, potential reversals, and continuations. Whether analyzing historical data or forecasting future trends, this indicator provides insights into the underlying factors driving market movements.
Volume Spread Analysis [TANHEF]Volume Spread Analysis: Understanding Market Intentions through the Interpretation of Volume and Price Movements.
█ Simple Explanation:
The Volume Spread Analysis (VSA) indicator is a comprehensive tool that helps traders identify key market patterns and trends based on volume and spread data. This indicator highlights significant VSA patterns and provides insights into market behavior through color-coded volume/spread bars and identification of bars indicating strength, weakness, and neutrality between buyers and sellers. It also includes powerful volume and spread forecasting capabilities.
█ Laws of Volume Spread Analysis (VSA):
The origin of VSA begins with Richard Wyckoff, a pivotal figure in its development. Wyckoff made significant contributions to trading theory, including the formulation of three basic laws:
The Law of Supply and Demand: This fundamental law states that supply and demand balance each other over time. High demand and low supply lead to rising prices until demand falls to a level where supply can meet it. Conversely, low demand and high supply cause prices to fall until demand increases enough to absorb the excess supply.
The Law of Cause and Effect: This law assumes that a 'cause' will result in an 'effect' proportional to the 'cause'. A strong 'cause' will lead to a strong trend (effect), while a weak 'cause' will lead to a weak trend.
The Law of Effort vs. Result: This law asserts that the result should reflect the effort exerted. In trading terms, a large volume should result in a significant price move (spread). If the spread is small, the volume should also be small. Any deviation from this pattern is considered an anomaly.
█ Volume and Spread Analysis Bars:
Display: Volume and/or spread bars that consist of color coded levels. If both of these are displayed, the number of spread bars can be limited for visual appeal and understanding, with the spread bars scaled to match the volume bars. While automatic calculation of the number of visual bars for auto scaling is possible, it is avoided to prevent the indicator from reloading whenever the number of visual price bars on the chart is adjusted, ensuring uninterrupted analysis. A displayable table (Legend) of bar colors and levels can give context and clarify to each volume/spread bar.
Calculation: Levels are calculated using multipliers applied to moving averages to represent key levels based on historical data: low, normal, high, ultra. This method smooths out short-term fluctuations and focuses on longer-term trends.
Low Level: Indicates reduced volatility and market interest.
Normal Level: Reflects typical market activity and volatility.
High Level: Indicates increased activity and volatility.
Ultra Level: Identifies extreme levels of activity and volatility.
This illustrates the appearance of Volume and Spread bars when scaled and plotted together:
█ Forecasting Capabilities:
Display: Forecasted volume and spread levels using predictive models.
Calculation: Volume and Spread prediction calculations differ as volume is linear and spread is non-linear.
Volume Forecast (Linear Forecasting): Predicts future volume based on current volume rate and bar time till close.
Spread Forecast (Non-Linear Dynamic Forecasting): Predicts future spread using a dynamic multiplier, less near midpoint (consolidation) and more near low or high (trending), reflecting non-linear expansion.
Moving Averages: In forecasting, moving averages utilize forecasted levels instead of actual levels to ensure the correct level is forecasted (low, normal, high, or ultra).
The following compares forecasted volume with actual resulting volume, highlighting the power of early identifying increased volume through forecasted levels:
█ VSA Patterns:
Criteria and descriptions for each VSA pattern are available as tooltips beside them within the indicator’s settings. These tooltips provide explanations of potential developments based on the volume and spread data.
Signs of Strength (🟢): Patterns indicating strong buying pressure and potential market upturns.
Down Thrust
Selling Climax
No Effort → Bearish Result
Bearish Effort → No Result
Inverse Down Thrust
Failed Selling Climax
Bull Outside Reversal
End of Falling Market (Bag Holder)
Pseudo Down Thrust
No Supply
Signs of Weakness (🔴): Patterns indicating strong selling pressure and potential market downturns.
Up Thrust
Buying Climax
No Effort → Bullish Result
Bullish Effort → No Result
Inverse Up Thrust
Failed Buying Climax
Bear Outside Reversal
End of Rising Market (Bag Seller)
Pseudo Up Thrust
No Demand
Neutral Patterns (🔵): Patterns indicating market indecision and potential for continuation or reversal.
Quiet Doji
Balanced Doji
Strong Doji
Quiet Spinning Top
Balanced Spinning Top
Strong Spinning Top
Quiet High Wave
Balanced High Wave
Strong High Wave
Consolidation
Bar Patterns (🟡): Common candlestick patterns that offer insights into market sentiment. These are required in some VSA patterns and can also be displayed independently.
Bull Pin Bar
Bear Pin Bar
Doji
Spinning Top
High Wave
Consolidation
This demonstrates the acronym and descriptive options for displaying bar patterns, with the ability to hover over text to reveal the descriptive text along with what type of pattern:
█ Alerts:
VSA Pattern Alerts: Notifications for identified VSA patterns at bar close.
Volume and Spread Alerts: Alerts for confirmed and forecasted volume/spread levels (Low, High, Ultra).
Forecasted Volume and Spread Alerts: Alerts for forecasted volume/spread levels (High, Ultra) include a minimum percent time elapsed input to reduce false early signals by ensuring sufficient bar time has passed.
█ Inputs and Settings:
Display Volume and/or Spread: Choose between displaying volume bars, spread bars, or both with different lookback periods.
Indicator Bar Color: Select color schemes for bars (Normal, Detail, Levels).
Indicator Moving Average Color: Select schemes for bars (Fill, Lines, None).
Price Bar Colors: Options to color price bars based on VSA patterns and volume levels.
Legend: Display a table of bar colors and levels for context and clarity of volume/spread bars.
Forecast: Configure forecast display and prediction details for volume and spread.
Average Multipliers: Define multipliers for different levels (Low, High, Ultra) to refine the analysis.
Moving Average: Set volume and spread moving average settings.
VSA: Select the VSA patterns to be calculated and displayed (Strength, Weakness, Neutral).
Bar Patterns: Criteria for bar patterns used in VSA (Doji, Bull Pin Bar, Bear Pin Bar, Spinning Top, Consolidation, High Wave).
Colors: Set exact colors used for indicator bars, indicator moving averages, and price bars.
More Display Options: Specify how VSA pattern text is displayed (Acronym, Descriptive), positioning, and sizes.
Alerts: Configure alerts for VSA patterns, volume, and spread levels, including forecasted levels.
█ Usage:
The Volume Spread Analysis indicator is a helpful tool for leveraging volume spread analysis to make informed trading decisions. It offers comprehensive visual and textual cues on the chart, making it easier to identify market conditions, potential reversals, and continuations. Whether analyzing historical data or forecasting future trends, this indicator provides insights into the underlying factors driving market movements.
VolumeSpreadAnalysisLibrary "VolumeSpreadAnalysis"
A library for Volume Spread Analysis (VSA).
spread(_barIndex)
Calculates the spread of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The spread of the bar.
volume(_barIndex)
Retrieves the volume of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The volume of the bar.
body(_barIndex)
Calculates the body of a bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The body size of the bar.
wickUpper(_barIndex)
Calculates the upper wick of a bar (upper shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The upper wick size of the bar.
wickLower(_barIndex)
Calculates the lower wick of a bar (lower shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The lower wick size of the bar.
calcForecastedSMA(_source, _length, _forecastedLevel)
Calculates the forecasted Simple Moving Average (SMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the SMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted SMA value.
calcForecastedEMA(_source, _length, _forecastedLevel)
Calculates the forecasted Exponential Moving Average (EMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the EMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted EMA value.
calcForecastedRMA(_source, _length, _forecastedLevel)
Calculates the forecasted Relative Moving Average (RMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the RMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted RMA value.
calcForecastedWMA(_source, _length, _forecastedLevel)
Calculates the forecasted Weighted Moving Average (WMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the WMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted WMA value.
calcElapsedTimePercent()
Calculates the elapsed time percent of the current bar.
Returns: (float) The elapsed time percent.
calcForecastedSpread(multiplierAtMidpoints, multiplierAtPeaks)
Calculates the forecasted spread using elapsed time and dynamic multipliers, handling spread's non-linear nature.
Parameters:
multiplierAtMidpoints (float) : (float) The multiplier value at midpoints.
multiplierAtPeaks (float) : (float) The multiplier value at peaks.
Returns: (float) The forecasted spread value.
calcForecastedVolume()
Calculates the forecasted volume using elapsed time, satisfying volume's linear nature.
Returns: (float) The forecasted volume value.
calcForecastedMA(_source, _length, _forecastedSource, _type)
Calculates the forecasted Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_forecastedSource (float) : (float) The forecasted level to include in the calculation.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The forecasted MA value.
calcMA(_source, _length, _type)
Calculates the Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The MA value.
bullBar(_barIndex)
Determines if the bar is bullish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bullish, otherwise false.
bearBar(_barIndex)
Determines if the bar is bearish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bearish, otherwise false.
breakout(_barIndex)
Determines if there is a breakout above the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakout, otherwise false.
breakdown(_barIndex)
Determines if there is a breakdown below the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakdown, otherwise false.
rejectionWickUpper(_rejectionWick)
Determines if the upper wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the upper wick is a rejection wick, otherwise false.
rejectionWickLower(_rejectionWick)
Determines if the lower wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the lower wick is a rejection wick, otherwise false.
setupDataVolume(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _maTypeVolume)
Sets up data for volume levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataSpread(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _maTypeSpread)
Sets up data for spread levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastVolume(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _predictedLevelVolume, _maTypeVolume)
Sets up data for volume and spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_predictedLevelVolume (float) : (float) The predicted level for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastSpread(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _predictedLevelSpread, _maTypeSpread)
Sets up data for spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_predictedLevelSpread (float) : (float) The predicted level for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
isVolumeLow(_data, _barIndex)
Determines if the volume is low.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is low, otherwise false.
isVolumeNormal(_data, _barIndex)
Determines if the volume is normal.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is normal, otherwise false.
isVolumeHigh(_data, _barIndex)
Determines if the volume is high.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is high, otherwise false.
isVolumeUltra(_data, _barIndex)
Determines if the volume is ultra.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is ultra, otherwise false.
isSpreadLow(_data, _barIndex)
Determines if the spread is low.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is low, otherwise false.
isSpreadNormal(_data, _barIndex)
Determines if the spread is normal.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is normal, otherwise false.
isSpreadHigh(_data, _barIndex)
Determines if the spread is high.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is high, otherwise false.
isSpreadUltra(_data, _barIndex)
Determines if the spread is ultra.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is ultra, otherwise false.
isVolumeText(_data)
Determines text string representing the volume area level.
Parameters:
_data (map) : (map) The data map with volume levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
isSpreadText(_data)
Determines text string representing the spread area level.
Parameters:
_data (map) : (map) The data map with spread levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
calcBarColor(_value, _level)
Calculates the color based level.
Parameters:
_value (float) : (float) The value to check.
_level (float) : (float) The value level for comparison.
Returns: (color) The color for the bar.
bullPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bull pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bull pin bar, otherwise false.
bearPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bear pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bear pin bar, otherwise false.
dojiBar(_maxBodyPercent)
Determines if the bar is a doji.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
Returns: (bool) True if the bar is a doji, otherwise false.
spinningTopBar(_minWicksPercent, _emaLength)
Determines if the bar is a spinning top.
Parameters:
_minWicksPercent (simple float) : (float) The minimum wicks percentage.
_emaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if the bar is a spinning top, otherwise false.
highWaveBar(_minBodyPercent, _minWickPercent, _bars)
Determines if the bar is a high wave bar.
Parameters:
_minBodyPercent (simple float) : (float) The minimum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bar is a high wave bar, otherwise false.
consolidationBar(_data, _spread, _bars)
Determines if the bars are in consolidation.
Parameters:
_data (map) : (map) The data map with spread levels.
_spread (simple float) : (float) The spread percentage for comparison.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bars are in consolidation, otherwise false.
S_DownThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (DownThrust), otherwise false.
S_SellingClimax(_data, _rejectionWick)
Determines if there is a sign of strength (Selling Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of strength (Selling Climax), otherwise false.
S_NoEffortBearishResult()
Determines if there is a sign of strength (No Effort Bearish Result).
Returns: (bool) True if there is a sign of strength (No Effort Bearish Result), otherwise false.
S_BearishEffortNoResult()
Determines if there is a sign of strength (Bearish Effort No Result).
Returns: (bool) True if there is a sign of strength (Bearish Effort No Result), otherwise false.
S_InverseDownThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of strength (Inverse DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of strength (Inverse DownThrust), otherwise false.
S_FailedSellingClimax()
Determines if there is a sign of strength (Failed Selling Climax).
Returns: (bool) True if there is a sign of strength (Failed Selling Climax), otherwise false.
S_BullOutsideReversal(_data)
Determines if there is a sign of strength (Bull Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (Bull Outside Reversal), otherwise false.
S_EndOfFallingMarket(_data)
Determines if there is a sign of strength (End of Falling Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (End of Falling Market), otherwise false.
S_PseudoDownThrust(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (Pseudo DownThrust).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (Pseudo DownThrust), otherwise false.
S_NoSupply(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (No Supply).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (No Supply), otherwise false.
W_UpThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (UpThrust), otherwise false.
W_BuyingClimax(_data, _rejectionWick)
Determines if there is a sign of weakness (Buying Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of weakness (Buying Climax), otherwise false.
W_NoEffortBullishResult()
Determines if there is a sign of weakness (No Effort Bullish Result).
Returns: (bool) True if there is a sign of weakness (No Effort Bullish Result), otherwise false.
W_BullishEffortNoResult()
Determines if there is a sign of weakness (Bullish Effort No Result).
Returns: (bool) True if there is a sign of weakness (Bullish Effort No Result), otherwise false.
W_InverseUpThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of weakness (Inverse UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of weakness (Inverse UpThrust), otherwise false.
W_FailedBuyingClimax()
Determines if there is a sign of weakness (Failed Buying Climax).
Returns: (bool) True if there is a sign of weakness (Failed Buying Climax), otherwise false.
W_BearOutsideReversal(_data)
Determines if there is a sign of weakness (Bear Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (Bear Outside Reversal), otherwise false.
W_EndOfRisingMarket(_data)
Determines if there is a sign of weakness (End of Rising Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (End of Rising Market), otherwise false.
W_PseudoUpThrust(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (Pseudo UpThrust).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (Pseudo UpThrust), otherwise false.
W_NoDemand(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (No Demand).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (No Demand), otherwise false.
N_QuietDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Quiet Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Quiet Doji), otherwise false.
N_BalancedDoji(_data, _dojiBarMaxBody)
Determines if there is a neutral signal (Balanced Doji).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Balanced Doji), otherwise false.
N_StrongDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Strong Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Strong Doji), otherwise false.
N_QuietSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Quiet Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Quiet Spinning Top), otherwise false.
N_BalancedSpinningTop(_data, _spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Balanced Spinning Top).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Balanced Spinning Top), otherwise false.
N_StrongSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Strong Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Strong Spinning Top), otherwise false.
N_QuietHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Quiet High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Quiet High Wave), otherwise false.
N_BalancedHighWave(_data, _highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Balanced High Wave).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Balanced High Wave), otherwise false.
N_StrongHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Strong High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Strong High Wave), otherwise false.
N_Consolidation(_data, _consolidationBarSpread, _consolidationBarBars)
Determines if there is a neutral signal (Consolidation).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_consolidationBarSpread (simple float) : (float) The spread percentage for consolidation bar.
_consolidationBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Consolidation), otherwise false.
Net Buying/Selling Flows Toolkit [AlgoAlpha]🌟📊 Introducing the Net Buying/Selling Flows Toolkit by AlgoAlpha 📈🚀
🔍 Explore the intricate dynamics of market movements with the Net Buying/Selling Flows Toolkit designed for precision and effectiveness in visualizing money inflows and outflows and their impact on asset prices.
🔀 Multiple Display Modes : Choose from "Flow Comparison", "Net Flow", or "Sum of Flows" to view the data in the most relevant way for your analysis.
📏 Adjustable Unit Display : Easily manage the magnitude of the values displayed with options like "1 Billion", "1 Million", "1 Thousand", or "None".
🔧 Lookback Period Customization : Tailor the sum calculation window with a configurable lookback period, applicable in "Sum of Flows" mode.
📊 Deviation Thresholds : Set up lower and upper deviation thresholds to identify significant changes in flow data.
🔄 Reversal Signals and Deviation Bands : Enable signals for potential reversals and visualize deviation bands for comparative analysis.
🎨 Color-coded Visualization : Distinct colors for upward and downward movements make it easy to distinguish between buying and selling pressures.
🚀 Quick Guide to Using the Net Buying/Selling Flows Toolkit :
🔍 Add the Indicator : Add the indicator to you favorites. Customize the settings to fit your trading requirements.
👁️🗨️ Data Analysis : Compare the trend of Buying and Selling to help indicate whether bulls or bears are in control of the market. Utilize the different display modes to present the data in different form to suite your analysis style.
🔔 Set Alerts : Activate alerts for reversal conditions to keep abreast of significant market movements without having to monitor the charts constantly.
🌐 How It Works :
The toolkit processes volume data on a lower timeframe to distinguish between buying and selling pressures based on intra-bar price closing higher or lower than it opened. It aggregates these transactions and finds the net selling and buying that took place during that bar, offering a clearer view of market fundamentals. The indicator then plots this data visually with multiple modes including comparisons between buying/selling and the net flow of the asset. Deviation thresholds help in identifying significant changes, allowing traders to spot potential buying or selling opportunities based on the money flow dynamics. The "Sum of Flows" mode is unique from other trend following indicators as it does not determine trend based on price action, but rather based on the net buying/selling. Therefore in some cases the "Sum of Flows" mode can be a leading indicator showing bullish/bearish net flows even before the prices move significantly.
Embark on a more informed trading journey with this dynamic and insightful tool, tailor-made for those who demand precision and clarity in their trading strategies. 🌟📉📈
Fine-Tune Inputs: Fourier Smoothed Hybrid Volume Spread AnalysisUse this Strategy to Fine-tune inputs for the HSHVSA Indicator.
Strategy allows you to fine-tune the indicator for 1 TimeFrame at a time; cross Timeframe Input fine-tuning is done manually after exporting the chart data.
I suggest using " Close all " input False when fine-tuning Inputs for 1 TimeFrame. When you export data to Excel/Numbers/GSheets I suggest using " Close all " input as True , except for the lowest TimeFrame.
MEANINGFUL DESCRIPTION:
The Fourier Smoothed Hybrid Volume Spread Analysis (FSHVSA) Strategy/Indicator is an innovative trading tool designed to fuse volume analysis with trend detection capabilities, offering traders a comprehensive view of market dynamics.
This Strategy/Indicator stands apart by integrating the principles of the Discrete Fourier Transform (DFT) and volume spread analysis, enhanced with a layer of Fourier smoothing to distill market noise and highlight trend directions with unprecedented clarity.
This smoothing process allows traders to discern the true underlying patterns in volume and price action, stripped of the distractions of short-term fluctuations and noise.
The core functionality of the FSHVSA revolves around the innovative combination of volume change analysis, spread determination (calculated from the open and close price difference), and the strategic use of the EMA (default 10) to fine-tune the analysis of spread by incorporating volume changes.
Trend direction is validated through a moving average (MA) of the histogram, which acts analogously to the Volume MA found in traditional volume indicators. This MA serves as a pivotal reference point, enabling traders to confidently engage with the market when the histogram's movement concurs with the trend direction, particularly when it crosses the Trend MA line, signalling optimal entry points.
It returns 0 when MA of the histogram and EMA of the Price Spread are not align.
WHAT IS FSHVSA INDICATOR:
The FSHVSA plots a positive trend when a positive Volume smoothed Spread and EMA of Volume smoothed price is above 0, and a negative when negative Volume smoothed Spread and EMA of Volume smoothed price is below 0. When this conditions are not met it plots 0.
HOW TO USE THE STRATEGY:
Here you fine-tune the inputs until you find a combination that works well on all Timeframes you will use when creating your Automated Trade Algorithmic Strategy. I suggest 4h, 12h, 1D, 2D, 3D, 4D, 5D, 6D, W and M.
ORIGINALITY & USEFULNESS:
The FSHVSA Strategy is unique because it applies DFT for data smoothing, effectively filtering out the minor fluctuations and leaving traders with a clear picture of the market's true movements. The DFT's ability to break down market signals into constituent frequencies offers a granular view of market dynamics, highlighting the amplitude and phase of each frequency component. This, combined with the strategic application of Ehler's Universal Oscillator principles via a histogram, furnishes traders with a nuanced understanding of market volatility and noise levels, thereby facilitating more informed trading decisions.
DETAILED DESCRIPTION:
My detailed description of the indicator and use cases which I find very valuable.
What is the meaning of price spread?
In finance, a spread refers to the difference between two prices, rates, or yields. One of the most common types is the bid-ask spread, which refers to the gap between the bid (from buyers) and the ask (from sellers) prices of a security or asset.
We are going to use Open-Close spread.
What is Volume spread analysis?
Volume spread analysis (VSA) is a method of technical analysis that compares the volume per candle, range spread, and closing price to determine price direction.
What does this mean?
We need to have a positive Volume Price Spread and a positive Moving average of Volume price spread for a positive trend. OR via versa a negative Volume Price Spread and a negative Moving average of Volume price spread for a negative trend.
What if we have a positive Volume Price Spread and a negative Moving average of Volume Price Spread?
It results in a neutral, not trending price action.
Thus the Indicator/Strategy returns 0 and Closes all long and short positions.
In the next Image you can see that trend is negative on 4h, we just move Negative on 12h and Positive on 1D. That means trend/Strategy flipped negative .
I am sorry, the chart is a bit messy. The idea is to use the indicator/strategy over more than 1 Timeframe.
Use this Strategy to fine-tune inputs for the HSHVSA Indicator.
(Strategy allows you to fine-tune the indicator for 1 TimeFrame at a time; cross Timeframe Input fine-tuning is done manually after exporting the chart data)
I suggest using " Close all " input False when fine-tuning Inputs for 1 TimeFrame. When you export data to Excel/Numbers/GSheets I suggest using " Close all " input as True , except for the lowest TimeFrame. I suggest using 100% equity as your default quantity for fine-tune purposes. I have to mention that 100% equity may lead to unrealistic backtesting results. Be avare. When backtesting for trading purposes use Contracts or USDT.
Fourier Smoothed Hybrid Volume Spread AnalysisIndicator id:
USER;91bdff47320b4284a375f428f683b21e
(only relevant to those that use API requests)
MEANINGFUL DESCRIPTION:
The Fourier Smoothed Hybrid Volume Spread Analysis (FSHVSA) indicator is an innovative trading tool designed to fuse volume analysis with trend detection capabilities, offering traders a comprehensive view of market dynamics.
This indicator stands apart by integrating the principles of the Discrete Fourier Transform (DFT) and volume spread analysis, enhanced with a layer of Fourier smoothing to distill market noise and highlight trend directions with unprecedented clarity.
This smoothing process allows traders to discern the true underlying patterns in volume and price action, stripped of the distractions of short-term fluctuations and noise.
The core functionality of the FSHVSA revolves around the innovative combination of volume change analysis, spread determination (calculated from the open and close price difference), and the strategic use of the EMA (default 10) to fine-tune the analysis of spread by incorporating volume changes.
Trend direction is validated through a moving average (MA) of the histogram, which acts analogously to the Volume MA found in traditional volume indicators. This MA serves as a pivotal reference point, enabling traders to confidently engage with the market when the histogram's movement concurs with the trend direction, particularly when it crosses the Trend MA line, signalling optimal entry points.
It returns 0 when MA of the histogram and EMA of the Price Spread are not align.
HOW TO USE THE INDICATOR:
The FSHVSA plots a positive trend when a positive Volume smoothed Spread and EMA of Volume smoothed price is above 0, and a negative when negative Volume smoothed Spread and EMA of Volume smoothed price is below 0. When this conditions are not met it plots 0.
ORIGINALITY & USEFULNESS:
The FSHVSA is unique because it applies DFT for data smoothing, effectively filtering out the minor fluctuations and leaving traders with a clear picture of the market's true movements. The DFT's ability to break down market signals into constituent frequencies offers a granular view of market dynamics, highlighting the amplitude and phase of each frequency component. This, combined with the strategic application of Ehler's Universal Oscillator principles via a histogram, furnishes traders with a nuanced understanding of market volatility and noise levels, thereby facilitating more informed trading decisions.
DETAILED DESCRIPTION:
My detailed description of the indicator and use cases which I find very valuable.
What is the meaning of price spread?
In finance, a spread refers to the difference between two prices, rates, or yields. One of the most common types is the bid-ask spread, which refers to the gap between the bid (from buyers) and the ask (from sellers) prices of a security or asset.
We are going to use Open-Close spread.
What is Volume spread analysis?
Volume spread analysis (VSA) is a method of technical analysis that compares the volume per candle, range spread, and closing price to determine price direction.
What does this mean?
We need to have a positive Volume Price Spread and a positive Moving average of Volume price spread for a positive trend. OR via versa a negative Volume Price Spread and a negative Moving average of Volume price spread for a negative trend.
What if we have a positive Volume Price Spread and a negative Moving average of Volume Price Spread ?
It results in a neutral, not trending price action.
Thus the indicator returns 0.
In the next Image you can see that trend is negative on 4h, neutral on 12h and neutral on 1D. That means trend is negative .
I am sorry, the chart is a bit messy. The idea is to use the indicator over more than 1 Timeframe.
What is approximation and smoothing?
They are mathematical concepts for making a discrete set of numbers a
continuous curved line.
Fourier and Euler approximation of a spread are taken from aprox library.
Key Features:
Noise Reduction leverages Euler's White noise capabilities for effective Volume smoothing, providing a cleaner and more accurate representation of market dynamics.
Choose between the innovative Double Discrete Fourier Transform (DTF32) and Regular Open & Close price series.
Mathematical equations presented in Pinescript:
Fourier of the real (x axis) discrete:
x_0 = array.get(x, 0) + array.get(x, 1) + array.get(x, 2)
x_1 = array.get(x, 0) + array.get(x, 1) * math.cos( -2 * math.pi * _dir / 3 ) - array.get(y, 1) * math.sin( -2 * math.pi * _dir / 3 ) + array.get(x, 2) * math.cos( -4 * math.pi * _dir / 3 ) - array.get(y, 2) * math.sin( -4 * math.pi * _dir / 3 )
x_2 = array.get(x, 0) + array.get(x, 1) * math.cos( -4 * math.pi * _dir / 3 ) - array.get(y, 1) * math.sin( -4 * math.pi * _dir / 3 ) + array.get(x, 2) * math.cos( -8 * math.pi * _dir / 3 ) - array.get(y, 2) * math.sin( -8 * math.pi * _dir / 3 )
Fourier of the imaginary (y axis) discrete:
y_0 = array.get(x, 0) + array.get(x, 1) + array.get(x, 2)
y_1 = array.get(x, 0) + array.get(x, 1) * math.sin( -2 * math.pi * _dir / 3 ) + array.get(y, 1) * math.cos( -2 * math.pi * _dir / 3 ) + array.get(x, 2) * math.sin( -4 * math.pi * _dir / 3 ) + array.get(y, 2) * math.cos( -4 * math.pi * _dir / 3 )
y_2 = array.get(x, 0) + array.get(x, 1) * math.sin( -4 * math.pi * _dir / 3 ) + array.get(y, 1) * math.cos( -4 * math.pi * _dir / 3 ) + array.get(x, 2) * math.sin( -8 * math.pi * _dir / 3 ) + array.get(y, 2) * math.cos( -8 * math.pi * _dir / 3 )
Euler's Smooth with Discrete Furrier approximated Volume.
a = math.sqrt(2) * math.pi / _devided
b = math.cos(math.sqrt(2) * 180 / _devided)
c2 = 2 * math.pow(a, 2) * b
c3 = math.pow(a, 4)
c1 = 1 - 2 * math.pow(a, 2) * math.cos(b) + math.pow(a, 4)
filt := na(filt ) ? 0 : c1 * (w + nz(w )) / 2.0 + c2 * nz(filt ) + c3 * nz(filt )
Usecase:
First option:
Leverage the script to identify Bullish and Bearish trends, shown with green and red triangle.
Combine Different Timeframes to accurately determine market trend.
Second option:
Pull the data with API sockets to automate your trading journey.
plot(close, title="ClosePrice", display=display.status_line)
plot(open, title="OpenPrice", display=display.status_line)
plot(greencon ? 1 : redcon ? -1 : 0, title="position", display=display.status_line)
Use ClosePrice, OpenPrice and "position" titles to easily read and backtest your strategy utilising more than 1 Time Frame.
Indicator id:
USER;91bdff47320b4284a375f428f683b21e
(only relevant to those that use API requests)
Cumulative Volume Delta (CVD)█ OVERVIEW
Cumulative Volume Delta (CVD) is a volume-based trading indicator that provides a visual representation of market buying and selling pressure by calculating the difference in traded volumes between the two sides. It uses intrabar information to obtain more precise volume delta information than methods using only the chart's timeframe.
Volume delta is the net difference between Buy Volume and Sell Volume. Positive volume delta indicates that buy volume is more than sell volume, and opposite. So Cumulative Volume Delta (CVD) is a running total/cumulation of volume delta values, where positive VD gets added to the sum and negative VD gets subtracted from the sum.
I found simple and fast solution how to calculate CVD, so made plain and concise code, here is CVD function :
cvd(_c, _o, _v) =>
var tcvd = 0.0, delta = 0.0
posV = 0.0, negV = 0.0
totUV = 0.0, totDV = 0.0
switch
_c > _o => posV += _v
_c < _o => negV -= _v
_c > nz(_c ) => posV += _v
_c < nz(_c ) => negV -= _v
nz(posV ) > 0 => posV += _v
nz(negV ) < 0 => negV -= _v
totUV += posV
totDV += negV
delta := totUV + totDV
cvd = tcvd + delta
tcvd += delta
cvd
where _c, _o, _v are close, open and volume of intrabar much lower timeframe.
Indicator uses intrabar information to obtain more precise volume delta information than methods using only the chart's timeframe.
Intrabar precision calculation depends on the chart's timeframe:
CVD is good to use together with open interest, volume and price change.
For example if CVD is rising and price makes good move up in short period and volume is rising and open interest makes good move up in short period and before was flat market it is show big chance to pump.
VSA Volume Spread AnalysisVolume Spread Analysis with Trend Direction is an indicator designed to Identify trend based volume spread.
Volume
Spread
Trend
This is a very simple yet powerful to identify Trend and corresponding volume Breakout. Unlike other Volume Indicators this indicator detects Breakout along with trend direction. One can detect the Early breakout in volume using this indicator. The Buy or Sell Signal is based on zero crossing of the Histogram.
Trend direction is confirmed using the MA of the Histogram which is similar to the Volume MA on volume indicator. One can enter a trade using the indicator when Trend direction and histogram are in same direction. Entry is done when ever histogram crosses the Trend MA line.
Fake entries can be eliminated by changing the indicator to higher Timeframe.
Spread is determined using the difference in open and close of the candle
Volume change is determined using the ratio of change of volume to previous volume
EMA 10 is used to determine the Spread and multiplied by volume change so the
PRICE(ema10), Volume, Spread(close-open) are merged to one indicator.
Direction changes when ever difference of VSA is positive or negative.
Volume Footprint Voids [BigBeluga]Volume Footprint Voids is a unique tool that uses lower timeframe calculation to plot different styles of single candle POC.
This indicator is very powerful for scalping and finding very precise entry and exits, spotting potential trapped traders, and more.
Unlike many other volume profiles, this aims to plot single candle profiles as well as their own footprints.
🔶 FEATURES
The script includes the following settings:
Windows: Plotting style and calculations
Coloring modes
Display modes
lower-timeframe calculations
🔶 CALCULATION
In the image above we can see how the script calculates each level position that will serve as a calculation process to see how much volume/closes there are within the levels.
In the image above, we can have a more clear example of how we count each candle close.
We use the prior screenshot as an example, after setting each level we will use the lower-timeframe input to measure the amount of closes within the ranges.
Depending on the lot size, the box will be larger or smaller, usually the POC will always have the highest box size.
NOTE: Size is the starting point, always from the low of the candle.
To find more voids, select a closer LTF to the current one you're using.
To find fewer voids, select a timeframe away from your current one.
Due to Pine Script limitations, we are only able to plot a certain amount of footprints, and we can't plot the whole history chart.
POC will be the largest block displayed, indicating the time point of control
Gray areas are closes above the average
Black are Void or imbalance that price will fill in the future, like FVG
The image above shows an incorrect size input that will lead to bad calculations, while on the other side, a correct size input that will lead to a clear vision and better calculation.
🔶 WINDOWS
The "▲▼" Mode will display delta buyers and delta sellers coloring with voids as black.
It also offers a gradient mode for a beautier visualization
The "Total Volume" mode will display the net volume within the lot size (closes within the levels).
This is useful to spot possible highest net volume within the same highest lot size.
The "POC + Gaps" will show both POC and Gaps as the highest block while all the rest will be considered as the smaller block.
This is useful to see where the highest lot were and if there are higher or lower imbalances within the candle
The last option "Gaps" will simply display the gaps as the highest block, while the POC as the lowest block.
This is useful to have a better view of the gaps areas
🔶 EXAMPLE
This is one of the most basic examples of how this script can be used. POC at the bottom creating a strong support area as price holds and creates higher voids gap that price fills while rising.
🔶 SETTINGS
Users have full control over the script, from colors to choosing the lower-timeframe inputs to disabling the lot size.
Whalemap [BigBeluga]The Whalemap indicator aims to spot big buying and selling activity represented as big orders for a possible bottom or top formation on the chart.
🔶 CALCULATION
The indicator uses volume to spot big volume activity represented as big orders in the market.
for i = 0 to len - 1
blV.vol += (close > close ? volume : 0)
brV.vol += (close < close ? volume : 0)
When volume exceeds its own threshold, it is a sign that volume is exceeding its normal value and is considered as a "Whale order" or "Whale activity," which is then plotted on the chart as circles.
🔶 DETAILS
The indicator plots Bubbles on the chart with different sizes indicating the buying or selling activity. The bigger the circle, the more impact it will have on the market.
On each circle is also plotted a line, and its own weight is also determined by the strength of its own circle; the bigger the circle, the bigger the line.
Old buying/selling activity can also be used for future support and resistance to spot interesting areas.
The more price enters old buying/selling activity and starts producing orders of the same direction, it might be an interesting point to take a closer look.
🔶 EXAMPLES
The chart above is showing us price reacting to big orders, finding good bottoms in price and good tops in confluence with old activity.
🔶 SETTINGS
Users will have the options to:
Filter options to adjust buying and selling sensitivity.
Display/Hide Lines
Display/Hide Bubbles
Choose which orders to display (from smallest to biggest)
Intraday Volume Profile [BigBeluga]The Intraday Volume Profile aims to show delta volume on lower timeframes to spot trapped shorts at the bottom or trapped longs at the top, with buyers pushing the price up at the bottom and sellers at the top acting as resistance.
🔶 FEATURES
The indicator includes the following features:
LTF Delta precision (timeframe)
Sensibility color - adjust gradient color sensitivity
Source - source of the candle to use as the main delta calculation
Color mode - display delta coloring in different ways
🔶 DELTA EXAMPLE
In the image above, we can see how delta is created.
If delta is positive, we know that buyers have control over sellers, while if delta is negative, we know sellers have control over buyers.
Using this data, we can spot interesting trades and identify trapped individuals within the candle.
🔶 HOW TO USE
In the image above, we can see how shorts are trapped at the bottom of the wick (red + at the bottom), leading to a pump also called a "short squeeze."
Same example as before, but with trapped longs (blue + at the top).
This can also work as basic support and resistance, for example, trapped shorts at the bottom with positive delta at the bottom acting as strong support for price.
Users can have the option to also display delta data within the corresponding levels, showing Buyers vs Sellers for more precise trading ideas.
NOTE:
User can only display the most recent data for the last 8 buyers and sellers.
It is recommended to use a hollow candle while using this script.
High volume candles.
High Volume Candles Indicator:
This is a simple tool that shows you when there's a lot of action in the market. It highlights the candles with the highest trading volume on your chart.
What It Does:
Picks the Busiest Candle: It points out the candle with the most trading in your set time.
Shows Buying and Selling: Green for lots of buying, red for lots of selling.
You Choose the Time Frame: Whether it's a few candles or many, it's up to you.
Best Part - Alerts:
Get Notified: The cool thing? It'll alert you when these big volume candles happen. You won't miss the important moments.
Use this to keep track of when things are really moving in the market, without having to watch your screen all the time.
Relative Volume Candles [QuantVue]In the words of Dan Zanger, "Trying to trade without using volume is like trying to drive a few hundred miles without putting gas in your tank. Trying to trade without chart patterns is like leaving without having an idea how to get there!"
Volume tends to show up at the beginning and the end of trends. As a general rule, when a stock goes up on low volume, it's seen as negative because it means buyers aren't committed. When a stock goes down on low volume, it means that not many people are trying to sell it, which is positive.
The Relative Volume Candles indicator is based on the Zanger Volume Ratio and designed to help identify key volume patterns effortlessly, with color coded candles and wicks.
The indicator is designed to be used on charts less than 1 Day and calculates the average volume for the user selected lookback period at the given time of day. From there a ratio of the current volume vs the average volume is used to determine the candle’s colors.
The candles wicks are color coded based on whether or not the volume ratio is rising or falling.
So when is it most important to have volume? When prices break out of a consolidation pattern like a bull flag or cup and handle pattern, volume plays a role. When a stock moves out of a range, volume shows how committed buyers are to that move.
Note in order to see this indicator you will need to change the visual order. This is done by selecting the the 3 dots next to the indicator name, scrolling down to visual order and selecting bring to front.
Indicator Features
🔹Selectable candle colors
🔹Selectable ratio levels
🔹Custom lookback period***
***TradingView has a maximum 5,000 bar lookback for most plans. If you are on a lower time frame chart and you select a lookback period larger than 5,000 bars the indicator will not show and you will need to select a shorter lookback period or move to a higher time frame chart.
Give this indicator a BOOST and COMMENT your thoughts!
We hope you enjoy.
Cheers!
Bitcoin Aggregated Volume Profile «NoaTrader»If you use volume profile for analyzing Bitcoin, you may know that sometimes the decisions of big CEXs like Binance can change the volume of each symbol and so the analysis perceived from the data (which may not be valid anymore); Like when Binance decided to transfer the free transaction fee promotion from BTCUSDT to BTCTUSD pair or the new introduced BTCFDUSD pair with volume market share as much as BTCTUSD after only 1 month (according to the coinmarketcap's data).
This indicator tries to solve that problem for using volume profile. So, it collects all the volumes of different pairs from different exchanges and then uses all of them to calculate the volume profile.
Also, there is an option to compare the current symbols volume to the whole volume profile which is a Boolean option in the settings (the picture above)
The aggregated volume data includes:
BINANCE:BTCUSDT
BINANCE:BTCTUSD
BINANCE:BTCBUSD
BINANCE:BTCFDUSD
BINANCE:BTCDAI
BINANCE:BTCEUR
BITSTAMP:BTCUSDT
BITSTAMP:BTCUSD
COINBASE:BTCUSDT
COINBASE:BTCUSD
COINBASE:BTCEUR
HUOBI:BTCUSDT
KUCOIN:BTCUSDT
KRAKEN:XBTUSD
KRAKEN:XBTEUR
BITFINEX:BTCUSD
BYBIT:BTCUSDT
KRAKEN:BTCUSD
OKX:BTCUSDT
Relative Strength Volume ComparisonThe Relative Strength Volume Comparison is a powerful tool that can help traders identify the current trend based on volume pressure and potential reversals.
This oscillator is made of two lines and the overbought and oversold levels. Each of these two lines is a relative-strength formula that contains both the famous RSI and CCI formulas, smoothed by a Hull moving average.
The two lines are different for input. The colored line is based just on price and changes color based on the relation with the other line. The second line uses as input an average of three different popular volume indicators: The OBV, the Accumulation/Distribution, and the PVT.
Thanks to this tool, which uses 6 different formulas combined, traders can:
- Identify the current trend direction, based on the color of the area fill and the first colored line
- Identify potential reversal areas thanks to the overbought and oversold levels, customizable in the input section alongside the length and smoothing parameters.
Time Profile [QuantVue]The Time Profile indicator provides traders with a comprehensive view of volume and time-based price activity. The indicator combines two essential components into one indicator: the volume profile and the time profile.
The volume profile represents the distribution of trading volume at different price levels over a specified period and is displayed as a circle on the chart.
It provides a visual representation of where the majority of trading volume occurred and often highlights significant support and resistance levels. The volume profile is calculated as the closing price of the highest volume intraday bar, based on the user selected lower time frame.
On the other hand, the time profile focuses on analyzing the time spent at certain price levels. The indicator divides the current bars range into 10 blocks and counts the number of user selected lower time frame closes within each time block.
The block with the most lower time frame closes in it is deemed the time point of control. Traders can use this information to identify time blocks where price movement was most significant.
The time profile is drawn on the Y axis of the current bar to allow for an easy visualization of where price spent most of its time. Historical time profiles are also noted on previous bars with a dash marking the level.
The Time Profile indicator offers several customization options. Traders can adjust the timeframe for the lower time frame data, decide whether to display the time profile, and customize colors for visual clarity.
Additionally, traders can choose to highlight instances where the Volume POC and Time POC align, indicating a strong concentration of volume and price activity.
Don't hesitate to reach out with any questions or concerns.
We hope you enjoy!
Cheers.
Volume DockThis oscillator has two different modes:
The first one called RSIs is a comparison between the Relative strength index of the Accumulation/Distribution (and the On Balance Volume) and the normal price, to analyze the differences in momentum between the price with volume and without.
The second one, called Dock, is similar except for the fact that the lines are smoothed using the hull moving average formula, this mode is great to signal entries and for reversal analyzing.
LNL Simple Hedging ToolLNL Simple Hedging Tool
Simple Hedging Tool was created specifically for swing traders who struggle with hedging. This tool helps to spot the ideal moments to put the hedges on (protection of the portfolio during "high risk" times). Simple Hedging Tool will not help you when day trading. It was designed for the daily charts. It is called simple because it is pretty much self-explanatory indicator. The candles are either blue or yellow. Meaning of the colors depend on the version you are using. This tool consist of two versions:
SPX Version:
This version was designed for indexes & overall market benchmarks. In contrast with the VIX version, the SPX version is little more sophisticated since it is based on key market internals. Blue arrows above the candles? More often than not this is signalizing that the key market internals are now approaching bearish signals which means it is the best time to hedge any bullish positions. On the contrary, the yellow arrows are the good reason to lighten up of the shorts & ease off the gas pedal on any bearish outlooks.
VIX Version:
Apart from the black swan events (big market crashes) Vix usually oscillates between the daily extremes. The VIX version is based on a simple bollinger band technique which is visualized with blue & yellow arrows. Whenever the yellow arrows & candles appear, it is good time to put the hedges on & perhaps lighten up on longs.
IMPORTANT DISCLAIMER:
The signals from this tool WILL NOT TELL YOU where to buy or sell! But rather when is a good time TO NOT buy or TO NOT sell. Once the signals appear it does not necessarily mean that the move is over & reversion willl happen immidiately. These signals can be flashing for days even weeks. They are not flashing for you to change the bias but rather tighten up your exposure in case your portfolio is mostly one sided.
Hope it helps.
ADX Volume Trend
Thie indicator is a modified and upgraded version of the popular ADX tool.
ADX is used to determine the strength of a trend, and also to determine the direction in which the trend is likely to go.
With this script, I have added in the formula the usage of volume, leading to the following functionality.
The length is used to determine the period to calculate the trend strength and direction, and the average is used to then determine the oscillator and to confront the previous line.
The volume average determines how many volumes bars the indicator should use to determine if a volume bar is above or below average if volume mode is selected.
With the volume mode on, you'll get the DI+ and DI- lines, which are by default displayed as a histogram that calculates the difference between the two lines, called "Directional difference", are calculated using also the volume in the formula, multiplying the normal output by the volume multiplier. I suggest using this mode in high-volume markets.
The trend strength difference is the area calculated using the difference between the ADX line and his moving average and can be used to analyze divergences in the swing points.
It has a lot of improvements and new functionalities, like:
- Histogram to show the output at best
- Averages to compare the data
- The option to include the volume inside of the formula
- Other options and esthetic changes
This indicator is created to improve the usability of the popular ADX indicator, including the very important variable of the volumes, in fact, it's the best to use for the Volume Spread Analysis.
Volume Spread Analysis IchimokuThis version of the popular Ichimoku indicator is modified to let the user choose between his classic mode and the volume-weighted mode.
Every line of the indicator is customizable with this function.
The Kijun and Tenkan lines are choosable from:
1. The normal version, so the average of the high and the low of the selected period
2. The volume mode, so the average price of the selected input ponderated to the volume
The Senkau Span A is the average from the Kijun (fast line) and the Tenkan (slow line) lines and it's choosable from:
1. The normal price version
2. The volume mode
3. The average between points 1 and 2
4. The automatic average between the two fast lines that you've chosen
The Senkau Span B is the slowest line of the indicator, used to determine the long-term trend, and can be chosen from:
1. The normal average price between the high and the low of the selected period
2. The volume average price, using the Volume Weighted Moving Average
The Trama Backline is the popular "LUX Algo" T.R.A.M.A. indicator, which I'm thankful for, and can be fantastically used to display the current trend strength and condition. This line is readable in the following way:
- If the line is moving sideways, the trend may be in a consolidation phase
- If the line is moving upwards or downwards, the trend may be in a trend phase