[LIB] Array / Matrix Display

kurtsmock Updated   
Library "ArrayMatrixHUD"
Show Array or Matrix Elements In Table

For Arrays: Set the number of rows you want the data displayed in and it will generate a table, calculating the columns based on the size of the array being displayed.
For Matrix: It will automatically match the Rows and Columns to the values in the matrix.

Note: On the left, the table shows the index of the array/matrix value starting at 1. So, to call that value from inside the array, subtract 1 from the index value to the left. For matrices, keep in mind that the row and column are also starting at one when trying to call a value from the matrix. The numbering of the values on the left is for display purposes only.

viewArray(_arrayName, _pos, _txtSize, _tRows)
  Array Element Display (Supports float, int, string, and bool)
    _arrayName: ID of Array to be Displayed
    _pos: Position for Table
    _txtSize: Size of Table Cell Text
    _tRows: Number of Rows to Display Data In (columns will be calculated accordingly)
  Returns: A Display of Array Values in a Table

viewMatrix(_matrixName, _pos, _txtSize)
  Matrix Element Display (Supports float, int, string, and bool)
    _matrixName: ID of Matrix to be Displayed
    _pos: Position for Table
    _txtSize: Size of Table Cell Text
  Returns: A Display of Matrix Values in a Table
Release Notes:
2 New Optional Parameters:
  • _fillCond (Optional) Conditional statement. Function displays array only when true. For instances where indices are na. Default = true, indicating array size is set at bar_index 0.
  • _offset (Optional) Use to view historical array states. Default = 0, displaying realtime bar.

Displays , , , and arrays and matrices.
Release Notes:
v3 This is a huge release. Complete game changer for me anyway. Now we have ezpz debugging.

This addition to the library adds debugging capability to anything your heart desires in your script.
There are two debug functions: debug() and debugs().
debug() is for Conditionals, variable outputs, variable updates. It converts the designated variable to a string and will display additional information defined by _msg argument.
This function does not need a variable name.
debug(0,0, _matrixName, variable, "Message")

debugs() is for scope testing. If you need to understand which scopes are triggering, this function will cause its scope location to show up in the panel when that scope is accessed. For this to work, you have to put the function inside of the scope you want to analyze.
This function does not need a variable name.
debugs(0,1, _matrixName, "Message")

debug(_col, _row, _name, _value, _lb, _ip)
  Debug Variables in Matrix
    _col: (int) Assign Column
    _row: (int) Assign Row
    _name: (simple matrix) Matrix Name
    _value: (string) Assign variable as a string (str.tostring())
    _lb: (string) Constant label (optional)
    _ip: (int) (default 1) 1 for continuous updates. 2 for barstate.isnew updates. 3 for barstate.isconfirmed updates. -1 to only add once
  Returns: Returns Variable _value output and _msg formatted as {'_msg: variableOutput'} in designated column and row of debug panel

debugs(_col, _row, _name, _msg)
  Debug Scope in Matrix - Identify When Scope Is Accessed
    _col: (int) Column Number
    _row: (int) Row Number
    _name: (simple matrix) Matrix Name
    _msg: (string) Message
  Returns: Message appears in debug panel using _col/_row as the identifier

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House Rules.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.