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
Biblioteca Pine
Siguiendo fielmente el espíritu de TradingView, el autor ha publicado este código Pine como una biblioteca de código, permitiendo que otros programadores de Pine en nuestra comunidad puedan volver a utilizarlo. ¡Un brindis por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero tenga en cuenta que la reutilización de este código en publicaciones se rige por las Normas internas.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Exención de responsabilidad
Biblioteca Pine
Siguiendo fielmente el espíritu de TradingView, el autor ha publicado este código Pine como una biblioteca de código, permitiendo que otros programadores de Pine en nuestra comunidad puedan volver a utilizarlo. ¡Un brindis por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero tenga en cuenta que la reutilización de este código en publicaciones se rige por las Normas internas.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io