kaigouthro

matrixautotable

kaigouthro 已更新   
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
版本注释:
v2

Updated:
matrixtable(_stringmatrix, _textSize, tableYpos, tableXpos) matrixtable
  Parameters:
    _stringmatrix: float vals
    _textSize: int
    tableYpos: string
    tableXpos: string
版本注释:
v3

Fixed Error allowing for table resizing dynamically.
版本注释:
v4
minor glitch, fixed table repaint issue
版本注释:
v5

Updated Glitch problem on varying matrix sizes.
probably,..
版本注释:
v6

ix! matrixes of differrent sizes will fill to match largest of them with na vals
版本注释:
v7
版本注释:
v8
quick lastconfirmedhistory availability and better color invert/default cols
版本注释:
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
版本注释:
v10

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

Added:
anytwo()
anyone()
版本注释:
v12
switch dat/titles in anytwo, hide NAN on string convert
版本注释:
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()
版本注释:
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
Pine脚本库

本着真正的TradingView精神,作者将此Pine代码以开源脚本库发布,以便我们社区的其他Pine程序员可以重用它。向作者致敬!您可以私下或在其他开源出版物中使用此库,但在出版物中重用此代码受网站规则约束。

免责声明

这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。

想使用这个脚本库吗?

复制以下行并将其粘贴到您的脚本中。