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
Perpustakaan Pine
Dalam semangat sebenar TradingView, penulis telah menerbitkan kod Pine ini sebagai perpustakaan sumber terbuka supaya pengaturcara Pine lain dari komuniti kami boleh menggunakannya semula. Sorakan kepada penulis! Anda juga boleh menggunakan perpustakaan ini secara peribadi atau dalam penerbitan sumber terbuka lain, tetapi penggunaan semula kod ini dalam penerbitan adalah tertakluk kepada Peraturan Dalaman.
Penafian
Perpustakaan Pine
Dalam semangat sebenar TradingView, penulis telah menerbitkan kod Pine ini sebagai perpustakaan sumber terbuka supaya pengaturcara Pine lain dari komuniti kami boleh menggunakannya semula. Sorakan kepada penulis! Anda juga boleh menggunakan perpustakaan ini secara peribadi atau dalam penerbitan sumber terbuka lain, tetapi penggunaan semula kod ini dalam penerbitan adalah tertakluk kepada Peraturan Dalaman.