mZigzag

Matrix implementation of zigzag to allow further possibilities.
Main advantage of this library over previous zigzag methods is that you can attach any number of indicator/oscillator information to zigzag
calculate(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots) calculates zigzag and related information
Parameters:
length: is zigzag length
ohlc: array of OHLC values to be used for zigzag calculation
indicatorHigh: Array of indicator values calculated based on high price of OHLC
indicatorLow: Array of indicators values calculated based on low price of OHLC
numberOfPivots: Number of pivots to be returned
Returns: pivotMatrix Matrix containing zigzag pivots, pivot bars, direction, ratio, and indicators added via indicatorHigh/indicatorLow
newZG is true if a new pivot is added to array
doubleZG is true if last calculation returned two new pivots (Happens on extreme price change)
draw(length, ohlc, indicatorLabels, indicatorHigh, indicatorLow, numberOfPivots, lineColor, lineWidth, lineStyle, showHighLow, showRatios, showIndicators) draws zigzag and related information
Parameters:
length: is zigzag length
ohlc: array of OHLC values to be used for zigzag calculation
indicatorLabels: Array of name of indicators passed
indicatorHigh: Array of indicator values calculated based on high price of OHLC
indicatorLow: Array of indicators values calculated based on low price of OHLC
numberOfPivots: Number of pivots to be returned
lineColor: zigzag line color. set to blue by default
lineWidth: zigzag line width. set to 1 by default
lineStyle: zigzag line style. set to line.style_solid by default
showHighLow: show HH, HL, LH, LL labels
showRatios: show pivot retracement ratios from previous zigzag
showIndicators: show indicator values
Returns: pivotMatrix Matrix containing zigzag pivots, pivot bars, direction, ratio, and indicators added via indicatorHigh/indicatorLow
zigzaglines array of zigzag lines
zigzaglabels array of zigzag labels
Updated:
draw(length, ohlc, indicatorLabels, indicatorHigh, indicatorLow, numberOfPivots, lineColor, lineWidth, lineStyle, showLabel, showIndicators) draws zigzag and related information
Parameters:
length: is zigzag length
ohlc: array of OHLC values to be used for zigzag calculation
indicatorLabels: Array of name of indicators passed
indicatorHigh: Array of indicator values calculated based on high price of OHLC
indicatorLow: Array of indicators values calculated based on low price of OHLC
numberOfPivots: Number of pivots to be returned
lineColor: zigzag line color. set to blue by default
lineWidth: zigzag line width. set to 1 by default
lineStyle: zigzag line style. set to line.style_solid by default
showLabel: Show pivot label
showIndicators: Include indicators in labels. If set to false, indicators are shown as tooltips
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionMatrix Matrix containing direction of price and indicator values at pivots
ratioMatrix Matrix containing ratios of price and indicator values at pivots
barArray Array containing pivot bars
zigzaglines array of zigzag lines
zigzaglabels array of zigzag labels
Updated:
calculate(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots, supertrendLength) calculates zigzag and related information
Parameters:
length: is zigzag length
ohlc: array of OHLC values to be used for zigzag calculation
indicatorHigh: Array of indicator values calculated based on high price of OHLC
indicatorLow: Array of indicators values calculated based on low price of OHLC
numberOfPivots: Number of pivots to be returned
supertrendLength: is number of pivot history to calculate supertrend
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionMatrix Matrix containing direction of price and indicator values at pivots
ratioMatrix Matrix containing ratios of price and indicator values at pivots
divergenceMatrix matrix containing divergence details for each indicators
doubleDivergenceMatrix matrix containing double divergence details for each indicators
barArray Array containing pivot bars
supertrendDir is direction of zigzag based supertrend
supertrend is supertrend value of zigzag based supertrend
newZG is true if a new pivot is added to array
doubleZG is true if last calculation returned two new pivots (Happens on extreme price change)
Added:
calculate2(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots, supertrendLength) calculates zigzag and related information uses shift/unshift rather than pop and push
Parameters:
length: is zigzag length
ohlc: array of OHLC values to be used for zigzag calculation
indicatorHigh: Array of indicator values calculated based on high price of OHLC
indicatorLow: Array of indicators values calculated based on low price of OHLC
numberOfPivots: Number of pivots to be returned
supertrendLength: is number of pivot history to calculate supertrend
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionMatrix Matrix containing direction of price and indicator values at pivots
ratioMatrix Matrix containing ratios of price and indicator values at pivots
divergenceMatrix matrix containing divergence details for each indicators
doubleDivergenceMatrix matrix containing double divergence details for each indicators
barArray Array containing pivot bars
supertrendDir is direction of zigzag based supertrend
supertrend is supertrend value of zigzag based supertrend
newZG is true if a new pivot is added to array
doubleZG is true if last calculation returned two new pivots (Happens on extreme price change)
Added:
calculateplain(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots) calculates zigzag and related information uses shift/unshift rather than pop and push. Also does not calculate divergence and ratios.
Parameters:
length: is zigzag length
ohlc: array of OHLC values to be used for zigzag calculation
indicatorHigh: Array of indicator values calculated based on high price of OHLC
indicatorLow: Array of indicators values calculated based on low price of OHLC
numberOfPivots: Number of pivots to be returned
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionArray Matrix containing direction of price and indicator values at pivots
barArray Array containing pivot bars
newZG is true if a new pivot is added to array
doubleZG is true if last calculation returned two new pivots (Happens on extreme price change)
Removed:
calculate2(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots, supertrendLength) calculates zigzag and related information uses shift/unshift rather than pop and push
Updated:
calculateplain(length, ohlc, indicatorHigh, indicatorLow, numberOfPivots) calculates zigzag and related information uses shift/unshift rather than pop and push. Also does not calculate divergence and ratios.
Parameters:
length: is zigzag length
ohlc: array of OHLC values to be used for zigzag calculation
indicatorHigh: Array of indicator values calculated based on high price of OHLC
indicatorLow: Array of indicators values calculated based on low price of OHLC
numberOfPivots: Number of pivots to be returned
Returns: valueMatrix Matrix containing zigzag pivots for price and indicators
directionArray Matrix containing direction of price and indicator values at pivots
barArray Array containing pivot bars
newZG is true if a new pivot is added to array
doubleZG is true if last calculation returned two new pivots (Happens on extreme price change)
Fixed an edge case highlighted by mortdiggiddy
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Declinazione di responsabilità
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io