Library "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]