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
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