rzigzag

Recursive Zigzag Using Matrix allows to create zigzags recursively on multiple levels. After bit of consideration, decided to make this public.
zigzag(length, ohlc, numberOfPivots, offset)
calculates plain zigzag based on input
Parameters:
length: Zigzag Length
ohlc: Array containing ohlc values. Can also contain custom series
numberOfPivots: Number of max pivots to be returned
offset: Offset from current bar. Can be used for calculations based on confirmed bars
Returns: [matrix<float> zigzagmatrix, bool newPivot, bool doublePivot]
nextlevel(zigzagmatrix, numberOfPivots)
calculates next level zigzag based on present zigzag coordinates
Parameters:
zigzagmatrix: Matrix containing zigzag pivots, bars, bar time, direction and level
numberOfPivots: Number of max pivots to be returned
Returns: matrix<float> zigzagmatrix
draw(zigzagmatrix, newPivot, doublePivot, lineColor, lineWidth, lineStyle, showLabel, xloc)
draws zigzag based on the zigzagmatrix input
Parameters:
zigzagmatrix: Matrix containing zigzag pivots, bars, bar time, direction and level
newPivot: Flag indicating there is update in the pivots
doublePivot: Flag containing there is double pivot update on same bar
lineColor: Zigzag line color
lineWidth: Zigzag line width
lineStyle: Zigzag line style
showLabel: Flag to indicate display pivot labels
xloc: xloc preference for drawing lines/labels
Returns: [array<line> zigzaglines, array<label> zigzaglabels]
draw(length, ohlc, numberOfPivots, offset, lineColor, lineWidth, lineStyle, showLabel, xloc)
calculates and draws zigzag based on zigzag length and source input
Parameters:
length: Zigzag Length
ohlc: Array containing ohlc values. Can also contain custom series
numberOfPivots: Number of max pivots to be returned
offset: Offset from current bar. Can be used for calculations based on confirmed bars
lineColor: Zigzag line color
lineWidth: Zigzag line width
lineStyle: Zigzag line style
showLabel: Flag to indicate display pivot labels
xloc: xloc preference for drawing lines/labels
Returns: [matrix<float> zigzagmatrix, array<line> zigzaglines, array<label> zigzaglabels, bool newPivot, bool doublePivot]
drawfresh(zigzagmatrix, zigzaglines, zigzaglabels, lineColor, lineWidth, lineStyle, showLabel, xloc)
draws fresh zigzag for all pivots in the input matrix.
Parameters:
zigzagmatrix: Matrix containing zigzag pivots, bars, bar time, direction and level
zigzaglines: array to which all newly created lines will be added
zigzaglabels: array to which all newly created lables will be added
lineColor: Zigzag line color
lineWidth: Zigzag line width
lineStyle: Zigzag line style
showLabel: Flag to indicate display pivot labels
xloc: xloc preference for drawing lines/labels
Returns: [array<line> zigzaglines, array<label> zigzaglabels]
Just updating library reference.
Added:
iZigzag(length, h, l, numberOfPivots)
calculates plain zigzag based on input array
Parameters:
length: Zigzag Length
h: array containing high values of a series
l: array containing low values of a series
numberOfPivots: Number of max pivots to be returned
Returns: matrix<float> zigzagmatrix
Minor defect
Bibliothèque Pine
Dans le plus pur esprit TradingView, l'auteur a publié ce code Pine en tant que bibliothèque open-source afin que d'autres programmeurs Pine de notre communauté puissent le réutiliser. Bravo à l'auteur! Vous pouvez utiliser cette bibliothèque en privé ou dans d'autres publications à code source ouvert, mais la réutilisation de ce code dans des publications est régie par nos Règles.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Clause de non-responsabilité
Bibliothèque Pine
Dans le plus pur esprit TradingView, l'auteur a publié ce code Pine en tant que bibliothèque open-source afin que d'autres programmeurs Pine de notre communauté puissent le réutiliser. Bravo à l'auteur! Vous pouvez utiliser cette bibliothèque en privé ou dans d'autres publications à code source ouvert, mais la réutilisation de ce code dans des publications est régie par nos Règles.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io