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, не являются финансовыми, инвестиционными, торговыми или любыми другими рекомендациями. Мы не предоставляем советы по покупке и продаже активов. Подробнее — в Условиях использования TradingView.

Хотите использовать эту библиотеку?

Скопируйте текст в буфер обмена и вставьте в свой скрипт.