Trended CVD [Mxwll]Hey!
This indicator "Trended CVD" categorizes price movement by trend (using zig zag) and calculates cumulative volume delta for the entirety of the price move.
Features
CVD calculated for the trend
CVD divergences are distinguished (uptrend and falling CVD / downtrend and rising CVD)
CVD output normalized to scale with chart, and is plotted alongside the trend
Can be used for trend confirmation (CVD trend correlating with price trend)
All regular zig-zag features available
What constitutes a trend is customizable. Can locate small, medium, large price trends with detailed user-input settings.
How-To Use Trended CVD
The image above shows one of two primary uses for the indicator.
In the left-half of the image, price is downtrending simultaneously with CVD; thereby, CVD is confirming the downtrend.
The right-half of the image shows price uptrending simultaneously with CVD; CVD is confirming the uptrend.
This information can be used to classify the "strength" of the price move, and decide to trade with it or against it.
The image above shows the second primary use for the indicator.
A slight price decrease transpires while CVD increases - CVD diverging upwards from the price trend.
This information can be used to classify the strength of the downtrend, and decide to trade against it, or abstain from trading with it.
The image above shows, subsequent to divergence, price failed to sustain "meaningful" downwards movement.
Labels oriented at the final pivot of a trend show the cumulative volume delta for the entirety of the price move (distinguishable by the superimposed zig zag line).
That's really it! A more complex concept integrated with a simple output.
Thank you!
Analisis Gelombang
Squeeze & Release [AlgoAlpha]Introduction:
💡The Squeeze & Release by AlgoAlpha is an innovative tool designed to capture price volatility dynamics using a combination of EMA-based calculations and ATR principles. This script aims to provide traders with clear visual cues to spot potential market squeezes and release scenarios. Hence it is important to note that this indicator shows information on volatility, not direction.
Core Logic and Components:
🔶EMA Calculations: The script utilizes the Exponential Moving Average (EMA) in multiple ways to smooth out the data and provide indicator direction. There are specific lengths for the EMAs that users can modify as per their preference.
🔶ATR Dynamics: Average True Range (ATR) is a core component of the script. The differential between the smoothed ATR and its EMA is used to plot the main line. This differential, when represented as a percentage of the high-low range, provides insights into volatility.
🔶Squeeze and Release Detection: The script identifies and highlights squeeze and release scenarios based on the crossover and cross-under events between our main line and its smoothed version. Squeezes are potential setups where the market may be consolidating, and releases indicate a potential breakout or breakdown.
🔶Hyper Squeeze Detection: A unique feature that detects instances when the main line is rising consistently over a user-defined period. Hyper squeeze marks areas of extremely low volatility.
Visual Components:
The main line (ATR-based) changes color depending on its position relative to its EMA.
A middle line plotted at zero level which provides a quick visual cue about the main line's position. If the main line is above the zero level, it indicates that the price is squeezing on a longer time horizon, even if the indicator indicates a shorter-term release.
"𝓢" and "𝓡" characters are plotted to represent 'Squeeze' and 'Release' scenarios respectively.
Standard Deviation Bands are plotted to help users gauge the extremity and significance of the signal from the indicator, if the indicator is closer to either the upper or lower deviation bands, this means that statistically, the current value is considered to be more extreme and as it is further away from the mean where the indicator is oscillating at for the majority of the time. Thus indicating that the price has experienced an unusual amount or squeeze or release depending on the value of the indicator.
Usage Guidelines:
☝️Traders can use the script to:
Identify potential consolidation (squeeze) zones.
Gauge potential breakout or breakdown scenarios (release).
Fine-tune their entries and exits based on volatility.
Adjust the various lengths provided in the input for better customization based on individual trading styles and the asset being traded.
ZigzagLiteLibrary "ZigzagLite"
Lighter version of the Zigzag Library. Without indicators and sub-component divisions
method getPrices(pivots)
Gets the array of prices from array of Pivots
Namespace types: Pivot
Parameters:
pivots (Pivot ) : array array of Pivot objects
Returns: array array of pivot prices
method getBars(pivots)
Gets the array of bars from array of Pivots
Namespace types: Pivot
Parameters:
pivots (Pivot ) : array array of Pivot objects
Returns: array array of pivot bar indices
method getPoints(pivots)
Gets the array of chart.point from array of Pivots
Namespace types: Pivot
Parameters:
pivots (Pivot ) : array array of Pivot objects
Returns: array array of pivot points
method getPoints(this)
Namespace types: Zigzag
Parameters:
this (Zigzag)
method calculate(this, ohlc, ltfHighTime, ltfLowTime)
Calculate zigzag based on input values and indicator values
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
ohlc (float ) : Array containing OHLC values. Can also have custom values for which zigzag to be calculated
ltfHighTime (int) : Used for multi timeframe zigzags when called within request.security. Default value is current timeframe open time.
ltfLowTime (int) : Used for multi timeframe zigzags when called within request.security. Default value is current timeframe open time.
Returns: current Zigzag object
method calculate(this)
Calculate zigzag based on properties embedded within Zigzag object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: current Zigzag object
method nextlevel(this)
Namespace types: Zigzag
Parameters:
this (Zigzag)
method clear(this)
Clears zigzag drawings array
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing ) : array
Returns: void
method clear(this)
Clears zigzag drawings array
Namespace types: ZigzagDrawingPL
Parameters:
this (ZigzagDrawingPL ) : array
Returns: void
method drawplain(this)
draws fresh zigzag based on properties embedded in ZigzagDrawing object without trying to calculate
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
Returns: ZigzagDrawing object
method drawplain(this)
draws fresh zigzag based on properties embedded in ZigzagDrawingPL object without trying to calculate
Namespace types: ZigzagDrawingPL
Parameters:
this (ZigzagDrawingPL) : ZigzagDrawingPL object
Returns: ZigzagDrawingPL object
method drawfresh(this, ohlc)
draws fresh zigzag based on properties embedded in ZigzagDrawing object
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (float ) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
Returns: ZigzagDrawing object
method drawcontinuous(this, ohlc)
draws zigzag based on the zigzagmatrix input
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (float ) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
Returns:
PivotCandle
PivotCandle represents data of the candle which forms either pivot High or pivot low or both
Fields:
_high (series float) : High price of candle forming the pivot
_low (series float) : Low price of candle forming the pivot
length (series int) : Pivot length
pHighBar (series int) : represents number of bar back the pivot High occurred.
pLowBar (series int) : represents number of bar back the pivot Low occurred.
pHigh (series float) : Pivot High Price
pLow (series float) : Pivot Low Price
Pivot
Pivot refers to zigzag pivot. Each pivot can contain various data
Fields:
point (chart.point) : pivot point coordinates
dir (series int) : direction of the pivot. Valid values are 1, -1, 2, -2
level (series int) : is used for multi level zigzags. For single level, it will always be 0
ratio (series float) : Price Ratio based on previous two pivots
sizeRatio (series float)
ZigzagFlags
Flags required for drawing zigzag. Only used internally in zigzag calculation. Should not set the values explicitly
Fields:
newPivot (series bool) : true if the calculation resulted in new pivot
doublePivot (series bool) : true if the calculation resulted in two pivots on same bar
updateLastPivot (series bool) : true if new pivot calculated replaces the old one.
Zigzag
Zigzag object which contains whole zigzag calculation parameters and pivots
Fields:
length (series int) : Zigzag length. Default value is 5
numberOfPivots (series int) : max number of pivots to hold in the calculation. Default value is 20
offset (series int) : Bar offset to be considered for calculation of zigzag. Default is 0 - which means calculation is done based on the latest bar.
level (series int) : Zigzag calculation level - used in multi level recursive zigzags
zigzagPivots (Pivot ) : array which holds the last n pivots calculated.
flags (ZigzagFlags) : ZigzagFlags object which is required for continuous drawing of zigzag lines.
ZigzagObject
Zigzag Drawing Object
Fields:
zigzagLine (series line) : Line joining two pivots
zigzagLabel (series label) : Label which can be used for drawing the values, ratios, directions etc.
ZigzagProperties
Object which holds properties of zigzag drawing. To be used along with ZigzagDrawing
Fields:
lineColor (series color) : Zigzag line color. Default is color.blue
lineWidth (series int) : Zigzag line width. Default is 1
lineStyle (series string) : Zigzag line style. Default is line.style_solid.
showLabel (series bool) : If set, the drawing will show labels on each pivot. Default is false
textColor (series color) : Text color of the labels. Only applicable if showLabel is set to true.
maxObjects (series int) : Max number of zigzag lines to display. Default is 300
xloc (series string) : Time/Bar reference to be used for zigzag drawing. Default is Time - xloc.bar_time.
curved (series bool) : Boolean field to print curved zigzag - used only with polyline implementation
ZigzagDrawing
Object which holds complete zigzag drawing objects and properties.
Fields:
zigzag (Zigzag) : Zigzag object which holds the calculations.
properties (ZigzagProperties) : ZigzagProperties object which is used for setting the display styles of zigzag
drawings (ZigzagObject ) : array which contains lines and labels of zigzag drawing.
ZigzagDrawingPL
Object which holds complete zigzag drawing objects and properties - polyline version
Fields:
zigzag (Zigzag) : Zigzag object which holds the calculations.
properties (ZigzagProperties) : ZigzagProperties object which is used for setting the display styles of zigzag
zigzagLabels (label )
zigzagLine (series polyline) : polyline object of zigzag lines
ZigzagLibrary "Zigzag"
Zigzag related user defined types. Depends on DrawingTypes library for basic types
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts ZigzagTypes/Pivot object to string representation
Namespace types: Pivot
Parameters:
this (Pivot) : ZigzagTypes/Pivot
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (string ) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of ZigzagTypes/Pivot
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts Array of Pivot objects to string representation
Namespace types: Pivot
Parameters:
this (Pivot ) : Pivot object array
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (string ) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of Pivot object array
method tostring(this)
Converts ZigzagFlags object to string representation
Namespace types: ZigzagFlags
Parameters:
this (ZigzagFlags) : ZigzagFlags object
Returns: string representation of ZigzagFlags
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts ZigzagTypes/Zigzag object to string representation
Namespace types: Zigzag
Parameters:
this (Zigzag) : ZigzagTypes/Zigzagobject
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (string ) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of ZigzagTypes/Zigzag
method calculate(this, ohlc, indicators, indicatorNames)
Calculate zigzag based on input values and indicator values
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
ohlc (float ) : Array containing OHLC values. Can also have custom values for which zigzag to be calculated
indicators (matrix) : Array of indicator values
indicatorNames (string ) : Array of indicator names for which values are present. Size of indicators array should be equal to that of indicatorNames
Returns: current Zigzag object
method calculate(this)
Calculate zigzag based on properties embedded within Zigzag object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: current Zigzag object
method nextlevel(this)
Calculate Next Level Zigzag based on the current calculated zigzag object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: Next Level Zigzag object
method clear(this)
Clears zigzag drawings array
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing ) : array
Returns: void
method drawplain(this)
draws fresh zigzag based on properties embedded in ZigzagDrawing object without trying to calculate
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
Returns: ZigzagDrawing object
method drawfresh(this, ohlc, indicators, indicatorNames)
draws fresh zigzag based on properties embedded in ZigzagDrawing object
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (float ) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
indicators (matrix) : Array of indicator values
indicatorNames (string ) : Array of indicator names for which values are present. Size of indicators array should be equal to that of indicatorNames
Returns: ZigzagDrawing object
method drawcontinuous(this, ohlc, indicators, indicatorNames)
draws zigzag based on the zigzagmatrix input
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (float ) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
indicators (matrix) : Array of indicator values
indicatorNames (string ) : Array of indicator names for which values are present. Size of indicators array should be equal to that of indicatorNames
Returns:
method getPrices(pivots)
Namespace types: Pivot
Parameters:
pivots (Pivot )
method getBars(pivots)
Namespace types: Pivot
Parameters:
pivots (Pivot )
Indicator
Indicator is collection of indicator values applied on high, low and close
Fields:
indicatorHigh (series float) : Indicator Value applied on High
indicatorLow (series float) : Indicator Value applied on Low
PivotCandle
PivotCandle represents data of the candle which forms either pivot High or pivot low or both
Fields:
_high (series float) : High price of candle forming the pivot
_low (series float) : Low price of candle forming the pivot
length (series int) : Pivot length
pHighBar (series int) : represents number of bar back the pivot High occurred.
pLowBar (series int) : represents number of bar back the pivot Low occurred.
pHigh (series float) : Pivot High Price
pLow (series float) : Pivot Low Price
indicators (Indicator ) : Array of Indicators - allows to add multiple
Pivot
Pivot refers to zigzag pivot. Each pivot can contain various data
Fields:
point (chart.point) : pivot point coordinates
dir (series int) : direction of the pivot. Valid values are 1, -1, 2, -2
level (series int) : is used for multi level zigzags. For single level, it will always be 0
componentIndex (series int) : is the lower level zigzag array index for given pivot. Used only in multi level Zigzag Pivots
subComponents (series int) : is the number of sub waves per each zigzag wave. Only applicable for multi level zigzags
microComponents (series int) : is the number of base zigzag components in a zigzag wave
ratio (series float) : Price Ratio based on previous two pivots
sizeRatio (series float)
subPivots (Pivot )
indicatorNames (string ) : Names of the indicators applied on zigzag
indicatorValues (float ) : Values of the indicators applied on zigzag
indicatorRatios (float ) : Ratios of the indicators applied on zigzag based on previous 2 pivots
ZigzagFlags
Flags required for drawing zigzag. Only used internally in zigzag calculation. Should not set the values explicitly
Fields:
newPivot (series bool) : true if the calculation resulted in new pivot
doublePivot (series bool) : true if the calculation resulted in two pivots on same bar
updateLastPivot (series bool) : true if new pivot calculated replaces the old one.
Zigzag
Zigzag object which contains whole zigzag calculation parameters and pivots
Fields:
length (series int) : Zigzag length. Default value is 5
numberOfPivots (series int) : max number of pivots to hold in the calculation. Default value is 20
offset (series int) : Bar offset to be considered for calculation of zigzag. Default is 0 - which means calculation is done based on the latest bar.
level (series int) : Zigzag calculation level - used in multi level recursive zigzags
zigzagPivots (Pivot ) : array which holds the last n pivots calculated.
flags (ZigzagFlags) : ZigzagFlags object which is required for continuous drawing of zigzag lines.
ZigzagObject
Zigzag Drawing Object
Fields:
zigzagLine (series line) : Line joining two pivots
zigzagLabel (series label) : Label which can be used for drawing the values, ratios, directions etc.
ZigzagProperties
Object which holds properties of zigzag drawing. To be used along with ZigzagDrawing
Fields:
lineColor (series color) : Zigzag line color. Default is color.blue
lineWidth (series int) : Zigzag line width. Default is 1
lineStyle (series string) : Zigzag line style. Default is line.style_solid.
showLabel (series bool) : If set, the drawing will show labels on each pivot. Default is false
textColor (series color) : Text color of the labels. Only applicable if showLabel is set to true.
maxObjects (series int) : Max number of zigzag lines to display. Default is 300
xloc (series string) : Time/Bar reference to be used for zigzag drawing. Default is Time - xloc.bar_time.
ZigzagDrawing
Object which holds complete zigzag drawing objects and properties.
Fields:
zigzag (Zigzag) : Zigzag object which holds the calculations.
properties (ZigzagProperties) : ZigzagProperties object which is used for setting the display styles of zigzag
drawings (ZigzagObject ) : array which contains lines and labels of zigzag drawing.
BDC - Bitcoin (BTC) Dominance Change [Logue]Bitcoin Dominance Change. Interesting things tend to happen when the Bitcoin dominance increases or decreases rapidly. Perhaps because there is overexuberance in the market in either BTC or the alts. In back testing, I found a rapid 13-day change in dominance indicates interesting switches in the BTC trends. Prior to 2019, the indicator doesn't work as well to signal trend shifts (i.e., local tops and bottoms) likely based on very few coins making up the crypto market.
The BTC dominance change is calculated as a percentage change of the daily dominance. You are able to change the upper bound, lower bound, and the period (daily) of the indicator to your own preferences. The indicator going above the upper bound or below the lower bound will trigger a different background color.
Use this indicator at your own risk. I make no claims as to its accuracy in forecasting future trend changes of Bitcoin.
Cycles MasterCycles Master Indicator
The "Cycles Master" indicator is a powerful tool designed to reveal cyclical patterns within market trends. It operates with precision, allowing users to adjust cycle lines to the top of prices using the "Multiplication" parameter.
Multiplication: Aligning Cycle Lines
The "Multiplication" parameter serves a crucial role in aligning cycle lines with the upper extremes of price action. Increasing this value adjusts the cycles upward, offering a clearer view of cyclical patterns in relation to price peaks.
MA Length: Cycle Frequency
Meanwhile, the "MA Length" parameter determines the frequency of cycles displayed on the chart. A shorter length leads to more frequent cycles, capturing shorter-term market fluctuations. In contrast, a longer length smooths out cycles, revealing longer-term trends.
Interpreting the Indicator:
Each line represents a unique cyclical variation derived from the chosen moving average type and its parameters.
The alignment of these cycles with price peaks assists in spotting potential trend reversals or shifts in market momentum.
Usage Recommendations:
Adjust the "Multiplication" value to precisely align cycle lines with price peaks, aiding in accurate identification of cyclic patterns in relation to market highs.
Tailor the "MA Length" parameter to capture cycles of varying frequencies, catering to short-term fluctuations or longer-term trends.
Complement this indicator with additional analysis tools for a comprehensive market assessment.
Gradient Vertical Box: Cycle Line Colors
Located at the middle right of the chart, the gradient vertical box showcases varying colors that correspond to the cycle lines displayed. The colors portray the intensity and diversity of the cycles observed within the market.
Within this gradient vertical box, the top of the gradient is marked with an "H," symbolizing the Highs of cycles, while the bottom displays an "L," signifying the Lows of cycles. This arrangement provides a clear visual reference for interpreting the cycle lines.
Risk Advisory:
While the indicator assists in market analysis, it should be used alongside other indicators or analysis methods.
It does not guarantee specific market outcomes; hence, traders should practice caution and employ proper risk management strategies.
WPO Modified [BackQuant]The Wave Period Oscillator (WPO), developed by Akram El Sherbini, is a sophisticated technical analysis tool that offers traders a dynamic way to interpret market cycles. Its design is inspired by the natural ebb and flow of markets, which often follow cyclical patterns driven by underlying economic, political, and psychological factors. The oscillator's unique contribution to market analysis lies in its ability to smooth out the "noise" inherent in daily price movements, thus providing a clearer view of the market's rhythmic fluctuations over time.
-----> Time Cycle Oscillators' in the IFTA Journal 2018 (page 66 - 77), as found below:
ifta.org
El Sherbini's WPO is grounded in the concept of wave period analysis, which suggests that financial markets move in waves or cycles. The oscillator translates these movements into a visual tool that oscillates above and below a central zero line. Peaks and troughs on the oscillator correspond to the crests and troughs of market price waves, providing a visual representation of the market's heartbeat.
The WPO is not merely a tool for identifying trends but also for detecting shifts in market momentum. It does this through a mathematical model that measures divergence—when the direction of the oscillator deviates from the direction of price movement. Such divergences can be precursors to potential reversals or continuations in the market, offering traders advance notice of significant changes in price direction.
Further refining its utility, the WPO incorporates methods for calculating divergence that are sensitive to the unique conditions of different markets and securities. This includes adjusting for volatility and market velocity, allowing the oscillator to provide relevant signals regardless of the market environment.
In practical terms, traders use the WPO to time their entries and exits with greater precision. When the oscillator shows a high peak or a deep trough, it can signal that a market is potentially overbought or oversold, respectively. The WPO's smoothing property ensures that these signals are not just reactionary to short-term price spikes or drops, but indicative of more substantial, sustained movements.
By providing a more measured and smoothed analysis of market cycles, the WPO helps to filter out insignificant price movements and focus on the ones that matter—those that indicate a significant wave of buying or selling pressure. This can be particularly valuable in the cryptocurrency markets, where volatility is high, and traditional indicators may struggle to provide clear signals.
For traders and analysts alike, the Wave Period Oscillator represents a convergence of technical precision and market psychology. By focusing on the periodic nature of market movements, it aligns traders with the rhythm of the markets, potentially leading to more harmonious trading decisions that are in step with the market's natural waves.
Please see the backtest here:
For more simple terms:
You can use this indicator as a the oscillator
Above 0 for long
Below 0 for short
OR
WPO MA
Above 0 for long
Below 0 for short
Trend Strength GaugeTrend Strength Gauge with Modified Hull Moving Average (HMA)
Overview:
The indicator combines a modified Hull Moving Average (HMA) with a visual gauge that represents the strength and direction of the current trend. This helps traders quickly assess the trend's vigor and direction.
Key Features:
Modified Hull Moving Average (HMA):
Purpose: The HMA is a smoothed moving average designed to reduce lag and provide more responsive trend signals.
The indicator displays two HMA line and SMA line on the chart and fill color between them
based on HMA is above SMA or not.
Trend Strength Gauge:
Visualization: Below the chart, there's a gauge represented by gradient line gauge with "V" symbol.
The gauge line change color based on the direction of the trend.
Additionally, symbol "V" moves from solid color to transparent, indicating the trend's strength gradient.
Up Trend:
Dn Trend:
Trend Assessment:
When "V" at the strong teal collor it represents a strong positive trend (uptrend).
When "V" at the strong white collor it Indicates a strong negative trend (downtrend).
Arrow Movement: The symbol 'V' transitions from a solid color (teal or white) to a more transparent shade based on the strength of the trend.
Usage:
Trend Confirmation: Traders can use this indicator to confirm trends and assess their strength before making trading decisions.
Entry/Exit Points: The changing colors and transparency levels of the 'V' symbols can assist in identifying potential entry or exit points.
Can be used as a simple Hull indicator
This combined indicator simplifies trend analysis by offering an easily understandable visual representation of trend strength and direction.
Remember, while indicators are valuable tools, successful trading requires a comprehensive approach that incorporates multiple sources of information and risk management strategies.
Always exercise caution, apply critical thinking, and consider the broader market context when using indicators to make informed trading decisions.
Elliott's Quadratic Momentum - Strategy [presentTrading]█ Introduction and How It Is Different
The "Elliott's Quadratic Momentum - Strategy" is a unique and innovative approach in the realm of technical trading. This strategy is a fusion of multiple SuperTrend indicators combined with an Elliott Wave-like pattern analysis, offering a comprehensive and dynamic trading tool. It stands apart from conventional strategies by incorporating multiple layers of trend analysis, thereby providing a more robust and nuanced view of market movements.
*Although the script doesn't explicitly analyze Elliott Wave patterns, it employs a wave-like approach by considering multiple SuperTrend indicators. Elliott Wave theory is based on the premise that markets move in predictable wave patterns. While this script doesn't identify specific Elliott Wave structures like impulsive and corrective waves, the sequential checking of trend conditions across multiple SuperTrend indicators mimics a wave-like progression.
BTC 8hr Long/Short Performance
Local Detail
█ Strategy, How It Works: Detailed Explanation
The core of this strategy lies in its multi-tiered approach:
1. Multiple SuperTrend Indicators:
The strategy employs four different SuperTrend indicators, each with unique ATR lengths and multipliers. These indicators offer various perspectives on market trends, ranging from short to long-term views.
By analyzing the convergence of these indicators, the strategy can pinpoint robust entry signals for both long and short positions.
2. Elliott Wave-like Pattern Recognition:
While not directly applying Elliott Wave theory, the strategy takes inspiration from its pattern recognition approach. It looks for alignments in market movements that resemble the characteristic waves of Elliott's theory.
This pattern recognition aids in confirming the signals provided by the SuperTrend indicators, adding an extra layer of validation to the trading signals.
3. Comprehensive Market Analysis:
By combining multiple indicators and pattern analysis, the strategy offers a holistic view of the market. This allows for capturing potential trend reversals and significant market moves early.
█ Trade Direction
The strategy is designed with flexibility in mind, allowing traders to select their preferred trading direction – Long, Short, or Both. This adaptability is key for traders looking to tailor their approach to different market conditions or personal trading styles. The strategy automatically adjusts its logic based on the chosen direction, ensuring that traders are always aligned with their strategic objectives.
█ Usage
To utilize the "Elliott's Quadratic Momentum - Strategy" effectively:
Traders should first determine their trading direction and adjust the SuperTrend settings according to their market analysis and risk appetite.
The strategy is versatile and can be applied across various time frames and asset classes, making it suitable for a wide range of trading scenarios.
It's particularly effective in trending markets, where the alignment of multiple SuperTrend indicators can provide strong trade signals.
█ Default Settings
Trading Direction: Configurable (Long, Short, Both)
SuperTrend Settings:
SuperTrend 1: ATR Length 7, Multiplier 4.0
SuperTrend 2: ATR Length 14, Multiplier 3.618
SuperTrend 3: ATR Length 21, Multiplier 3.5
SuperTrend 4: ATR Length 28, Multiplier 3.382
Additional Settings: Gradient effect for trend visualization, customizable color schemes for upward and downward trends.
Cumulative Volume Value (BTC)The Cumulative Volume Value (BTC) indicator is designed to visualize and analyze cumulative volume data specific to Bitcoin. This indicator provides insights into the total volume transacted over a time, aiding in understanding market activity and potential value of Bitcoin.
It considers whether the closing price is greater than the opening price over the defined length, adding or subtracting volume accordingly.
The Cumulative Volume Value (BTC) indicator offers a valuable perspective on Bitcoin's market activity by visualizing cumulative volume and providing insights into potential market tops, bottoms, and the relationship between volume and BTC value movements.
Peaks in the cumulative volume might suggest potential tops in the BTC market, indicating periods of intense trading activity.
Conversely, bottoms in cumulative volume might signal potential market bottoms, representing phases of reduced trading activity or consolidation.
This is how human psychology works. The greatest activity is close to the peak and the worst when the price of BTC has decreased to the level when people lose interest and faith in the cryptocurrency market and the volume of trades falls, then the best time to buy.
Important Considerations:
Historical patterns suggest a relationship between cumulative volume and market tops/bottoms, but this indicator should be used in conjunction with other technical analysis tools for informed trading decisions.
Past performance of cumulative volume in relation to market tops or bottoms does not guarantee future outcomes in financial markets.
Volatility ZigZagIt calculates and plots zigzag lines based on volatility and price movements. It has various inputs for customization, allowing you to adjust parameters like source data, length, deviation, line styling, and labeling options.
The indicator identifies pivot points in the price movement, drawing lines between these pivots based on the deviation from certain price levels or volatility measures.
The script labels various data points at the ZigZag pivot points on the chart. These labels provide information about different aspects of the price movement and volume around these pivot points. Here's a breakdown of what gets labeled:
Price Change: Indicates the absolute and average percentage change between the two pivot points. It displays the absolute or relative change in price as a percentage. Additionally, the average absolute price increase or the average rate of increase can also be labeled.
Volume: Shows the total volume and average volume between the two pivot points.
Number of Bars: Indicates the number of bars between the current and the last pivot point.
Reversal Price: Displays the price of the reversal point (the previous pivot).
Wave Reader v2.4.2 only GOLD/XAU/USD The WaveReader is an algorithm that works out a strategy using various indicators that have been reconfigured and as soon as certain areas/goals/triggers have been reached, this is visualized as a sell or buy signal (large triangles)
The indicator also uses the Smart Money Concept (Expo) by @Zeiierman which has been reconfigured and adapted from his open source code to perfectly fit the rest of the strategy.
The smart money concept refers to the idea that capital does not only exist in the form of financial resources, but also includes knowledge, experience and networks. In the context of investing, smart money means that investors not only provide money but also add value through their expertise, industry experience and strategic influence.
In the traditional sense, "dumb money" refers to investors who merely provide capital, without any specific knowledge or insight into the industry or company in which they are investing. In contrast, “smart money” refers to investors who not only contribute financial resources, but can also make an active contribution to the development of the company.
This concept is particularly relevant in venture capital and private equity circles, where startups and high-growth companies seek capital. Smart money investors bring not only their financial support, but also their industry-specific know-how, relationships and experience. This can help companies make strategic decisions, optimize their business models and grow successfully.
Smart money can also be used in the trading environment to indicate experienced and knowledgeable investors who trade based not only on financial analysis but also on their deep understanding of the market, industry trends and fundamental business factors.
Overall, the Smart Money Concept represents a holistic approach to investments in which not only the capital but also the intellectual resources of investors can have a significant influence on the success of a company.
Of course, everything that was built into this indicator/algo will not be revealed, but there are countless hours of optimization in this project.
Explanation of the various components of the WaveReader:
WaveReader Confluence Box (CB)
The WaveReader Confluence Box is a Confluence for swing and day trading. It also confirms our one signal.
- If the price is above a newly opened CB, a long setup is confirmed.
- If the price is below a newly opened CB, a short setup is confirmed.
The WaveReader Cloud
WaveReader Cloud is our main trend.
WaveReader signals can be traded with or without confirmation.
However, the more confirmations we have, the more likely a successful setup will be.
- Green = Bullish Trend - Large Triangle (green)
- Red = Bearish Trend - Large Triangle (red)
- Gray = Neutral Trend - avoid new positions
The Waveline
The WaveReader Waveline is a trend confirmation. The waveline shows whether a trend is strong and serves as additional confirmation of a profitable setup.
Take trades when in bullish (green) or bearish (red), avoid new trades in neutral (black).
Re-entries and take profits
Re-entries and take profits are only displayed in the chart from the 1h time frame.
- Re-entry long position = small ▲ (green)
- Re-entry short position = small ▼ (red)
- Take profit in a long position = ⨯ (green)
- Take profit in a short position = ⨯ (red)
Additional features
- Display market structure (internal and swing).
- Display of order blocks (internal and swing).
- Display of fair value gaps (pre-filtered)
- Display EQ High Low
- Trailing Stop Loss
If you have any questions, please feel free to contact me
Volume Spread Analysis [Ahmed]Greetings everyone,
I'm thrilled to present a Pine Script I've crafted for Volume Spread Analysis (VSA) Indicator. This tool is aimed at empowering you to make smarter trading choices by scrutinizing the volume spread across a specified interval.
The script delivers a comparative volume analysis, permitting you to fix the type and length of the moving average. It subsequently delineates the moving average (MA), MA augmented by 1 standard deviation (SD), and MA increased by 2 SD. You can fully personalize the color coding for these echelons.
Volume Spread Analysis is an analytical technique that scrutinizes candles and the volume per candle to predict price direction. It considers the volume per candle, the spread range, and the closing price.
To effectively leverage VSA, you need to adhere to a few steps:
1. Ensure you use candlesticks for trading. Other chart types like line, bar, and renko charts may not yield optimal results.
2. Confirm that your broker provides reliable volume data.
3. Be mindful of the chart's timeframe. Volume analysis may not be effective on very short timeframes such as a minute chart. I recommend using daily, weekly, or monthly charts.
Another tip is to examine the spread between the price bars and the volume bars to discern the trend.
The script not only makes it easier to integrate these principles into your trading but also brings precision and convenience to your analysis.
Please remember to adhere to Tradinview terms of service when using the script. Happy trading!
Cumulative Volume PriceCumulative Volume Price
Purpose :
The indicator aims to display a weighted average price based on cumulative volume and cumulative price within defined lengths.
How it works
Calculation Steps:
Cumulative Volume (cumvol): the cumulative total volume.
Cumulative Price (cumprice): the cumulative closing price.
Net Value (net): Calculates the weighted average price by dividing the cumulative price by the cumulative volume.
Formula:
net = (cumulative price * volume) / cumulative volume
Check for Rising Trend:
Utilizes a simple moving average to detect rising trends.
Uses the ta.rising() function to identify if the simple moving average is rising.
If the condition is met, the net value is retained; otherwise, it is inverted.
Interpretation:
Positive Values (Green): Indicates a positive weighted volume average price, potentially suggesting upward price momentum or buying pressure.
Negative Values (Red): Represents a negative weighted volume average price, possibly signaling downward price momentum or selling pressure.
Usage:
Trend Confirmation: Helps confirm trends based on changes in the weighted average price.
Volume-Price Relationship: Illustrates the relationship between cumulative volume and price movement.
Zig-Zag Open Interest Footprint [Kioseff Trading]Hello!
This script "Zig Zag Open Interest Footprint" calculates open interest x price values for zig zag trends!
Features
Open interest footprints anchored to zig zag trends
Summed OI x price level footprints
Total OI (for each category) for the entire trend shown
Standard POC lines, in addition to separated POC lines for each category of open interest x price possibility
Up to 9999 profile rows per zigzag trend
Stylistic options for profiles
Configurable zig zag - footprints generated for small to large trends
The zigzag indicator is configurable as normal; minor and major trend volume footprints are calculable. This indicator can be thought of as "Open Interest Footprint for Trends''.
Up to 9999 open interest levels (price levels) can be calculated for each profile, thanks to the new polyline feature, allowing for less aggregation / more precision of open interest at price.
Zig Zag OI Footprints
The image above shows primary functionality!
Green = Higher OI + Higher Price
Yellow = Lower OI + Higher Price
Purple = Higher OI + Lower Price
Red = Lower OI + Lower Price
Profiles are generated for each trend identified by the zigzag indicator.
The image above shows the indicator calculating open interest x price for specific price blocks on the footprint. Aggregate open interest for the identified trend is displayed over the profile!
Neon highlighted values correspond to the highest open interest change for the category. This is a configurable option :D
The image above shows POC lines for each category of open interest x price!
Additionally, you can select to show a single POV for footprint - the single level the greatest amount of OI change occurred.
The indicator is robust enough to calculate on "long zig zags" and "short zig zags"; curved profiles can also be used!
The image above shows key levels, each OI footprint, and summed OI values for the current trend!
That's about it :D
This indicator is part of a series titled "Bull vs. Bear" - a suite of profile-like indicators I will be releasing over the coming days. Thanks for checking this out!
If you have any suggestions please feel free to share!
Elliot waves calibratorThis script is a part of the "Elliot waves" toolkit and need to be used with the "Elliot waves" script", because it's generating input parameters for the "Elliot waves" scripts.
You need to add script to chart and on the right bottom corner you can see table with calibration params. Those values you need to copy to "Elliot waves" script settings to see Elliot waves visualization on that chart.
Script settings:
Vertex filter - Value used in the "Elliot waves" script to filter highs and lows that are not an extreme over area width equal to vertex filter value. In edge cases it can change calbiration params. Both scripts should have set the same values of this param.
Troubleshooting:
In case of any problems, please send error details to the author of the script.
Elliot wavesA script marking Elliot waves on a chart.
This script can be used by any user. There is no need to have a PRO or PREMIUM account.
Script with limited access, contact author to get authorization
According to Elliott, a market cycle consists of eight waves. 5 upward waves and 3 downward waves following them, which are their corrections. In up and down movements, the odd waves are in the direction of the movement, and the even waves are their corrections. Analyzing in more detail, each direction movement again consists of 5 waves, and each correction consists of 3 waves.
The symbols used are non-standard (result of platform limitations):
Trend moves ⠀⠀⠀⠀⠀|⠀⠀Correction moves
𝐈 𝐈𝐈 𝐈𝐈𝐈 𝐈𝐕 𝐕 ⠀⠀⠀⠀⠀ |⠀⠀⠀ 𝐚 𝐛 𝐜
𝟏 𝟐 𝟑 𝟒 𝟓 ⠀⠀⠀⠀⠀⠀⠀|⠀⠀⠀ 𝐀 𝐁 𝐂
I II III IV V ⠀⠀⠀⠀⠀⠀⠀|⠀⠀⠀ a b c
1 2 3 4 5 ⠀⠀⠀⠀⠀⠀⠀ |⠀⠀⠀ A B C
(I) (II) (III) (IV) (V) ⠀ |⠀⠀⠀(a) (b) (c)
(1) (2) (3) (4) (5)⠀⠀ |⠀⠀⠀(A) (B) (C)
➀ ➁ ➂ ➃ ➄ ⠀⠀⠀⠀⠀ |⠀⠀⠀Ⓐ Ⓑ Ⓒ
❶ ❷ ❸ ❹ ❺ ⠀⠀⠀⠀⠀ |⠀⠀⠀🅐 🅑 🅒
This script is a part of the "Elliot waves" toolkit and require initial calibration done with separate script: "Elliot waves calibrator". Elliot waves calibrator will generate a set of numbers that you need to copy to Calibration params in script settings. Proper instruction will be shown on the screen.
Script settings:
Calibration - Fields used for script calibration.
Levels - Param deciding how many levels of waves should be shown on the chart. 0 is showing only the main waves, with +1 increase adding one more level of details.
Vertex filter - Filter eliminating highs and lows that are not an extreme over area width equal to vertex filter value.
8 sets of trend configurations, where you can specify: visiblity, line color, line width
Labels configuration where you can specify: visiblity, text size and text color.
Troubleshooting:
In case of any problems, please send error details to the author of the script.
Technical Analysis Notes👉 Hello trader.
- In the process of monitoring the list of trading pairs such as stocks, cryptocurrencies... I often mark signals such as: RSI divergence, MACD, Stochatic, RSI trendline, Trendline..."by hand" , like recording on a drawing board, or excell, notepad... Therefore, taking notes is very limited. In addition, each time frame gives different, inconsistent signals and it is difficult to analyze the trend of a trading pair. somehow.
- After a period of careful research, I created the "Technical Analysis notes" indicator to solve the problems mentioned above, and after using it, I personally found it very effective to mark it. Trading signals as well as trend analysis across time frames from small to large.
- For example: On weekends, I often use automatic scanning indicators (about 200 codes) RSI divergence, RSI trendline, Trendlines, MACD-histogram .. within a week, then mark trading pairs when there are signals. Signals such as RSI cutting its trend line, price breaking through the trend line, Histogram MACD divergence... in the weekly frame, from there look to the D1, H4 frames to see the next signals in those frames to find the direction of intersection. Move in the same direction as the weekly frame signal to trade in the same trend. From that analysis, I limit my ability to go against the trend, and wait patiently for the signals that have been noted before.
- On this board you can monitor 10 transaction codes (in real time)
- On this table I have given 4 different time frames (can be customized in settings)
- I add Kumo Cloud (ichimoku) signals on 4 time frames so that people can easily recognize the trend when the price is above the cloud (green circle), in the cloud (white circle), below the cloud (green circle). red circle)
- I add fast typing mode, shortcut typing depending on each person's description including 16 fast typing modes (for example: "ru:RSI br up" in my understanding means the RSI line has broken above the trend line direction)
- From the above example "ru:RSI br up" the sign ' : ' is the separator that must be present to interpret the word 'ru' as being typed quickly, and 'RSI br up' is the part that explains the content of that word typed quickly.
- In those 16 quick typing boxes (divided into 4 rows), the first 3 rows are colored with custom boxes for each person. The last remaining row is not filled.
- The content of note boxes can be hidden in the settings using the check box.
- In particular, the private notes column cannot be hidden, because it is the column for recording, synthesizing, analyzing, identifying main trends, or waiting points to place orders... (This box is the most important in my opinion. ..)
- Has a super smart warning mode (customizable) when Kumo cloud signals are in the same color on 4 time frames for the most certain trend (green - bullish, red - bearish)
- In the warning section, you can adjust from 4 time frames to 3 time frames, 2 time frames, 1 time frame.
- Alert mode lists exact code names when one or more codes qualify. (eg BTC, ADA, BNB...)
--------------------------------------------------------------------------------------------------------------------
👉 Vietnamess
- Trong quá trình theo dõi danh sách các cặp giao dịch như cổ phiếu, tiền điện tử...tôi thường đánh dấu các tín hiệu như : phân kì RSI, MACD, Stochatic, trendline RSI, Trendline ..."bằng tay", như ghi trên bảng vẽ, hoặc excell, notepad...Vì vậy ghi chép rất hạn chế ngoài ra mỗi khung thời gian cho các tín hiệu khác nhau, không đồng nhất và rất khó để phân tích xu hướng của một cặp giao dịch nào đó.
- Sau một thời gian nghiên cứu kĩ lưỡng tôi có lập lên được chỉ báo "ghi chép Phân tích kĩ thuật " nhằm giải quyết các vấn đề nêu như trên, và sau quá trình dùng, cá nhân tôi thấy rất hiệu quả khi đánh dấu các tín hiệu giao dịch cũng như phân tích xu hướng qua các khung thời gian từ nhỏ đến lớn.
- Ví dụ: Cuối tuần tôi thường dùng chỉ báo quét tự động(khoảng 200 mã) RSI phân kì, RSI trendline, Trendlines , MACD-histogram .. trong khung 1 tuần, sau đó đánh dấu những cặp giao dịch khi có những tín hiệu như RSI cắt đường xu hướng của nó, giá đột phá đường xu hướng, phân kì Histogram MACD.. trong khung tuần, từ đó tìm đến những khung D1,H4 xem các tín hiệu tiếp theo trong các khung đó để tìm hướng giao dịch cùng hướng với tín hiệu khung tuần để giao dịch cùng xu hướng. Từ những phân tích đó tôi hạn chế được đi ngược xu hướng, và kiên nhẫn chờ đợi khi có tín hiệu được đã ghi chú từ trước.
- Trên bảng này có thể theo õi được 10 mã giao dịch(theo thời gian thực)
- Trên bảng này tôi có đưa ra 4 khung thời gian khác nhau(có thể tùy chỉnh trong thiết lập)
- Tôi đưa thêm tín hiệu Mây Kumo( ichimoku) trên 4 khung thời gian để mọi người từ đó dễ dàng nhận biết xu hướng khi giá trên mây(dấu tròn xanh lá) , trong mây(dấu tròn trắng) , dưới mây(dấu tròn đỏ)
- Tôi đưa thêm chế độ gõ nhanh, gõ tắt tùy theo diễn tả của mỗi người gồm 16 chế độ gõ nhanh (ví dụ: "ru:RSI br up" theo ý hiểu của tôi là đường RSI đã phá vỡ lên trên đường xu hướng)
- Từ ví dụ trên "ru:RSI br up" dấu ' : ' là ngăn cách phải có để diễn giải từ 'ru' là gõ nhanh, còn 'RSI br up' là phần diễn giải nội dung của từ gõ nhanh đó
- Trong 16 ô gõ nhanh đó(được chia làm 4 hàng) có 3 hàng đầu được tô màu ô tùy chỉnh cầu mỗi người. hàng cuối cùng còn lại không được tô.
- Nội dung các ô ghi chú có thể được ẩn hiện trong mục cài đặt bằng ô dấu tích.
- Đặc biệt cột ghi chú riêng tư không ẩn được, vì đó là cột ghi chép, tổng hợp , phân tích , nhận định xu hướng chính, hay điểm chờ để đặt lệnh...(ô này theo tôi là quan trọng nhất...)
- Có chế độ cảnh báo siêu thông minh(có thể tùy chỉnh) khi tín hiệu mây Kumo cùng trên 4 khung thời gian cùng màu cho xu hướng chắc chắn nhất(xanh- tăng giá, đỏ- giảm giá)
- Trong mục cảnh báo có thể điều chỉnh từ 4 khung thời gian xuống còn 3 khung thời gian, 2 khung thời gian, 1 khung thời gian.
- Chế độ cảnh báo được liệt kê tên mã chính xác khi một hay nhiều mã đủ điều kiện .(ví dụ BTC , ADA , BNB...)
Dynamic Sine Wave The Dynamic Sine Wave is designed to calculate a sine wave that reflects the oscillations between the highest high and lowest low points over a specified period, providing traders with a unique perspective on market trends.
Why a Sine Wave is Relevant:
A sine wave is relevant in this context because it is a mathematical function that represents periodic oscillations, making it suitable for capturing the cyclic nature of price movements in financial markets.
By using a sine wave, this indicator highlights the repetitive patterns of price highs and lows over a specified period, which can assist traders in identifying potential trend reversals or continuations.
The sine wave's amplitude and frequency are adjusted based on the highest high and lowest low points, ensuring that it adapts to market volatility and provides a dynamic representation of price action.
Overall, the "Dynamic Sine Wave" indicator offers a unique perspective on market dynamics, helping traders make informed decisions by visualizing the ebb and flow of prices.
Hull WavesThe Hull Waves indicator is based on the Hull Moving Averages (HMA), which are special moving averages that stand out for their ability to filter out market noise and offer a clearer view of price trends. Compared to traditional moving averages, HMAs are more responsive yet smoother, allowing traders to capture significant price movements without getting overwhelmed by short-term fluctuations.
The HMAs integrated into Hull Waves provide two distinct perspectives on the price trend:
8-period HMA: This short-term HMA is extremely reactive and closely follows price changes. It is ideal for capturing short-term trading signals while the medium-term 21-period HMA offers a more balanced view of price trends and identifies medium-term trends.
By crossing HMAs, traders can efficiently identify trend reversal points or strong market continuations.
Another feature of the indicator is the “fan” of dynamic lines, which acts as a visual float for price candles, allowing traders to quickly evaluate trading opportunities.
The "fan" or float of dynamic lines represents a visual representation of the candle's price movements. These lines extend from the start point to the end point, like an open fan. This visual approach makes the market dynamics immediately evident.
Strategy:
Long Entry Signal (Buy):
When the Hull Waves range shows a series of upward sloping lines and the Hull Moving Averages (e.g. 8-period HMA) crosses the 21-period HMA upwards, it is a long entry signal.
Confirmation of the signal can come from an increase in trader volume or other supporting indicators.
Place a buy order at the next closing price.
Short Entry Signal (Sell):
When the Hull Waves range shows a series of downward sloping lines and the Hull Moving Averages (e.g. 8-period HMA) crosses the 21-period HMA downward, it is a short entry signal.
Confirm the signal with an increase in trader volume or other relevant indicators.
Place a sell order at the next closing price.
Exit Signal (Closing a Position):
To close a long position, wait for a signal reversal, such as the Hull Moving Averages crossing downwards or a change in the Hull Waves range.
To close a short position, wait for a signal reversal, such as the Hull Moving Averages crossing higher or a change in the Hull Waves range.
ZigZag++ FibonacciAuto Fibonacci tools are powerful ways designed to simplify your technical analysis by automatically drawing Fibonacci retracement and extension levels on your chart. This indicator is built to enhance your trading experience with clearer market moves and informative insights.
You can easily spot your waves and patterns when the percentages are moving with you.
Key Features:
Automated Fibonacci Levels: Plots Fibonacci retracement and extension levels based on recent price movements.
Multi-Timeframe Support: This indicator is your versatile companion, offering multi-timeframe functionality. You can seamlessly track Fibonacci levels across different resolutions, providing a comprehensive view of the market.
Two Types of Fibs: Retracement and Timeframe extension Fibonacci levels. Use retracements to identify potential reversal points and extensions to anticipate price targets, giving you a well-rounded perspective on market movements.
Benefits:
Save Time: No more manual Fibonacci drawing; It does this for you in real-time.
Enhanced Analysis: Gain a deeper understanding of potential support, resistance, and price targets.
User-Friendly: Suitable for traders of all levels, this indicator simplifies complex technical analysis.
For the math lovers
I started creating the ZigZag++ based on the MT4 calculation as I found it better performing than the tradingview inbuilt one. I have revised the calculation couple of times and now the final calculation is simple yet more accurate for my analysis.
First, I observe the market direction for the last Depth setting by comparing the rate at which high values reduce and low values increase. When the number of ticks set by Deviation is crossed and the last cross is more than the Backstep candles, then we have our ZigZag points.
These are the points we use in our Fibonacci calculation.
Checkout ZigLib below to use the same logic in your scripts.
Sample usage
This is a 4 Hour configuration with the default settings.
When the trend reversed, some key points I watch are 0.618 and 0.5. The market retraced back and formed the new point for the next ZigZag line on that level. This market behaviour happens quite often on these Fibonacci points. I would be looking for reversal or a break in this zone to know the next step.
Resources
ZigZag++ Lib by me; for retrieving the line points.
Fibonacci Toolkit by Lux Algo; For drawing the Timeframe Fibs. Very Amazing script.
Zigzag Chart Points█ OVERVIEW
This indicator displays zigzag based on high and low using latest pine script version 5 , chart.point which using time, index and price as parameters.
Pretty much a strip down using latest pine script function, without any use of library .
This allow pine script user to have an idea of simplified and cleaner code for zigzag.
█ CREDITS
LonesomeTheBlue
█ FEATURES
1. Label can be show / hide including text can be resized.
2. Hover to label, can see tooltip will show price and time.
3. Tooltip will show date and time for hourly timeframe and below while show date only for day timeframe and above.
█ NOTES
1. I admit that chart.point just made the code much more cleaner and save more time. I previously using user-defined type(UDT) which quite hassle.
2. I have no plan to extend this indicator or include alert just I thinking to explore log.error() and runtime.error() , which I may probably release in other publications.
█ HOW TO USE'
Pretty much similar inside mentioned references, which previously I created.
█ REFERENCES
1. Zigzag Array Experimental
2. Simple Zigzag UDT
3. Zig Zag Ratio Simplified
4. Cyclic RSI High Low With Noise Filter
5. Auto AB=CD 1 to 1 Ratio Experimental
ZigLibLibrary "ZigLib"
Calculate the points for ZigZag++.
You can use custom data and resolution for your ZigZag++.
Sample Usage
import DevLucem/ZigLib/1 as ZigZag
= ZigZag.zigzag(low, high)
bgcolor(direction<0? color.rgb(255, 82, 82, 80): color.rgb(0, 230, 119, 80))
line zz = line.new(z1.time, z1.price, z2.time, z2.price, xloc.bar_time, width=3)
if direction==direction
line.delete(zz )
zigzag(_low, _high, depth, deviation, backstep)
Get current zigzag points and direction
Parameters:
_low (float)
_high (float)
depth (int)
deviation (int)
backstep (int)
Returns direction, chart point 1 and chart point 2