matrixautotable

Automatic Table from Matrixes with pseudo correction for na values and default color override for missing values. uses overloads in cases of cheap float only, with additional addon for strings next, then cell colors, then text colors, and tooltips last.. basic size and location are auto, include the template to speed this up...
TODO : make bools version
var int _tblssizedemo = input.int ( 10 )
string tableYpos = input.string ( 'middle' , '↕' , inline = 'place' , group = group_table, options=['top', 'middle', 'bottom'])
string tableXpos = input.string ( 'center' , '↔' , inline = 'place' , group = group_table, options=['left', 'center', 'right'], tooltip='Position on the chart.')
int _textSize = input.int ( 1 , 'Table Text Size' , inline = 'place' , group = group_table)
var matrix<float> _floatmatrix = matrix.new<float> (_tblssizedemo, _tblssizedemo, 0 )
var matrix<string> _stringmatrix = matrix.new<string> (_tblssizedemo, _tblssizedemo, 'test' )
var matrix<color> _bgcolormatrix = matrix.new<color> (_tblssizedemo, _tblssizedemo, color.white )
var matrix<color> _textcolormatrix = matrix.new<color> (_tblssizedemo, _tblssizedemo, color.black )
var matrix<string> _tooltipmatrix = matrix.new<string> (_tblssizedemo, _tblssizedemo, 'tool' )
// basic table ready to go with the aboec matrixes (replace in your code)
// for demo purpose, random colors, random nums, random na vals
if barstate.islast
varip _xsize = matrix.rows (_floatmatrix) -1
varip _ysize = matrix.columns (_floatmatrix) -1
for _xis = 0 to _xsize -1 by 1
for _yis = 0 to _ysize -1 by 1
_randomr = int(math.random(50,250))
_randomg = int(math.random(50,250))
_randomb = int(math.random(50,250))
_randomt = int(math.random(10,90 ))
bgcolor = color.rgb(250 - _randomr, 250 - _randomg, 250 - _randomb, 100 - _randomt )
txtcolor = color.rgb(_randomr, _randomg, _randomb, _randomt )
matrix.set(_bgcolormatrix ,_yis,_xis, bgcolor )
matrix.set(_textcolormatrix ,_yis,_xis, txtcolor)
matrix.set(_floatmatrix ,_yis,_xis, _randomr)
// random na
_ymiss = math.floor(math.random(0, _yis))
_xmiss = math.floor(math.random(0, _xis))
matrix.set( _floatmatrix ,_ymiss, _xis, na)
matrix.set( _stringmatrix ,_ymiss, _xis, na)
matrix.set( _bgcolormatrix ,_ymiss, _xis, na)
matrix.set( _textcolormatrix ,_ymiss, _xis, na)
matrix.set( _tooltipmatrix ,_ymiss, _xis, na)
// import here
import kaigouthro/matrixautotable/1 as mtxtbl
// and render table..
mtxtbl.matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _textcolormatrix, _tooltipmatrix, _textSize ,tableYpos ,tableXpos)
matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _textcolormatrix, _tooltipmatrix, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix: <matrix> float vals
_stringmatrix: <matrix> string
_bgcolormatrix: <matrix> color
_textcolormatrix: <matrix>color
_tooltipmatrix: <matrix> string
_textSize: int
tableYpos: string
tableXpos: string
matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _textcolormatrix, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix: <matrix> float vals
_stringmatrix: <matrix> string
_bgcolormatrix: <matrix> color
_textcolormatrix: <matrix>color
_textSize: int
tableYpos: string
tableXpos: string
matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _txtdefcol, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix: <matrix> float vals
_stringmatrix: <matrix> string
_bgcolormatrix: <matrix> color
_txtdefcol: color
_textSize: int
tableYpos: string
tableXpos: string
matrixtable(_floatmatrix, _stringmatrix, _txtdefcol, _bgdefcol, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix: <matrix> float vals
_stringmatrix: <matrix> string
_txtdefcol: color
_bgdefcol: color
_textSize: int
tableYpos: string
tableXpos: string
matrixtable(_floatmatrix, _txtdefcol, _bgdefcol, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix: <matrix> float vals
_txtdefcol: color
_bgdefcol: color
_textSize: int
tableYpos: string
tableXpos: string
Updated:
matrixtable(_stringmatrix, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_stringmatrix: <matrix> float vals
_textSize: int
tableYpos: string
tableXpos: string
Fixed Error allowing for table resizing dynamically.
minor glitch, fixed table repaint issue
Updated Glitch problem on varying matrix sizes.
probably,..
ix! matrixes of differrent sizes will fill to match largest of them with na vals
quick lastconfirmedhistory availability and better color invert/default cols
Now can fit to screen area, change cell sizing, and returns table object for adjusting frame/border/bacckground
Added:
bgcolor(bgcolor)
Set background or Table
Parameters:
bgcolor: New Background Color
Returns: void
border()
frame()
Updated:
mtable()
autogenerate table from string matrix
matrixtable(_stringmatrix, _textSize, tableYpos, tableXpos)
matrixtable
Parameters:
_stringmatrix: <matrix> float vals
_textSize: int
tableYpos: string
tableXpos: string
oversight - table blanking when live and all mtx's even sized fixed.
added option for any type for two w/ or without background col
and any single type with plain no colors
Added:
anytwo()
anyone()
switch dat/titles in anytwo, hide NAN on string convert
added customizable w/h of cells and library imports updated to latest
Updated:
matrixtable(_stringmatrix, _textSize, tableYpos, tableXpos)
matrixtable
Parameters:
_stringmatrix: <matrix> float vals
_textSize: int
tableYpos: string
tableXpos: string
anytwo()
anyone()
minor addition, (total rewrite coming in future)
Updated:
anyone(_colormtx, _textSize, tableYpos, tableXpos, _fit, _shrink, _w, _h, _defaultbg, _defaultxt)
Parameters:
_colormtx
_textSize
tableYpos
tableXpos
_fit
_shrink
_w
_h
_defaultbg
_defaultxt
Pine Bibliothek
Ganz im Sinne von TradingView hat dieser Autor seinen/ihren Pine Code als Open-Source-Bibliothek veröffentlicht. Auf diese Weise können nun auch andere Pine-Programmierer aus unserer Community den Code verwenden. Vielen Dank an den Autor! Sie können diese Bibliothek privat oder in anderen Open-Source-Veröffentlichungen verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert.
Haftungsausschluss
Pine Bibliothek
Ganz im Sinne von TradingView hat dieser Autor seinen/ihren Pine Code als Open-Source-Bibliothek veröffentlicht. Auf diese Weise können nun auch andere Pine-Programmierer aus unserer Community den Code verwenden. Vielen Dank an den Autor! Sie können diese Bibliothek privat oder in anderen Open-Source-Veröffentlichungen verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert.