kaigouthro

matrixautotable

kaigouthro Mis à jour   
Library "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 string  group_table    = ' Table'
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
Notes de version:
v2

Updated:
matrixtable(_stringmatrix, _textSize, tableYpos, tableXpos) matrixtable
  Parameters:
    _stringmatrix: float vals
    _textSize: int
    tableYpos: string
    tableXpos: string
Notes de version:
v3

Fixed Error allowing for table resizing dynamically.
Notes de version:
v4
minor glitch, fixed table repaint issue
Notes de version:
v5

Updated Glitch problem on varying matrix sizes.
probably,..
Notes de version:
v6

ix! matrixes of differrent sizes will fill to match largest of them with na vals
Notes de version:
v7
Notes de version:
v8
quick lastconfirmedhistory availability and better color invert/default cols
Notes de version:
v9

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: float vals
    _textSize: int
    tableYpos: string
    tableXpos: string
Notes de version:
v10

oversight - table blanking when live and all mtx's even sized fixed.
Notes de version:
v11
added option for any type for two w/ or without background col
and any single type with plain no colors

Added:
anytwo()
anyone()
Notes de version:
v12
switch dat/titles in anytwo, hide NAN on string convert
Notes de version:
v13

added customizable w/h of cells and library imports updated to latest

Updated:
matrixtable(_stringmatrix, _textSize, tableYpos, tableXpos)
  matrixtable
  Parameters:
    _stringmatrix: float vals
    _textSize: int
    tableYpos: string
    tableXpos: string

anytwo()

anyone()
Notes de version:
v14
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
Bibliothèque Pine

Dans le véritable esprit de TradingView, l'auteur a publié ce code Pine en tant que bibliothèque open-source afin que d'autres programmeurs Pine de notre communauté puissent le réutiliser. Bravo à l'auteur ! Vous pouvez utiliser cette bibliothèque à titre privé ou dans d'autres publications open-source, mais la réutilisation de ce code dans une publication est régie par notre Règlement.

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.

Vous voulez utiliser cette bibliothèque?

Copiez le texte dans le presse-papiers et collez-le dans votre script.