debugLibrary   "debug" 
Show Array or Matrix Elements In Table
Use anytime you want to see the elements in an array or a matrix displayed.
Effective debugger, particularly for strategies and complex logic structures.
Look in code to find instructions. Reach out if you need assistance.
 Functionality includes: 
 
 Viewing the contents of an array or matrix on screen. 
 Track variables and variable updates using debug()
 Track if and when local scopes fire using debugs()
 
Types Allowed:
 
 string
 float
 int
 string
 
 debug(_col, _row, _name, _value, _msg, _ip) 
  Debug Variables in Matrix
  Parameters:
     _col (int) : (int) Assign Column
     _row (int) : (int) Assign Row
     _name (matrix) : (simple matrix) Matrix Name
     _value (string) : (string) Assign variable as a string (str.tostring())
     _msg (string) 
     _ip (int) : (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
 debug(_col, _row, _name, _value, _msg, _ip) 
  Parameters:
     _col (int) 
     _row (int) 
     _name (matrix) 
     _value (float) 
     _msg (string) 
     _ip (int) 
 debug(_col, _row, _name, _value, _msg, _ip) 
  Parameters:
     _col (int) 
     _row (int) 
     _name (matrix) 
     _value (int) 
     _msg (string) 
     _ip (int) 
 debug(_col, _row, _name, _value, _msg, _ip) 
  Parameters:
     _col (int) 
     _row (int) 
     _name (matrix) 
     _value (bool) 
     _msg (string) 
     _ip (int) 
 debugs(_col, _row, _name, _msg) 
  Debug Scope in Matrix - Identify When Scope Is Accessed
  Parameters:
     _col (int) : (int) Column Number
     _row (int) : (int) Row Number
     _name (matrix) : (simple matrix) Matrix Name
     _msg (string) : (string) Message
  Returns: Message appears in debug panel using _col/_row as the identifier
 viewArray(_arrayName, _pos, _txtSize, _tRows, s_index, s_border, _rowCol, bCol, _fillCond, _offset) 
  Array Element Display (Supports float , int , string , and bool )
  Parameters:
     _arrayName (float ) : ID of Array to be Displayed
     _pos (string) : Position for Table
     _txtSize (string) : Size of Table Cell Text
     _tRows (int) : Number of Rows to Display Data In (columns will be calculated accordingly)
     s_index (bool) : (Optional. Default True.) Show/Hide Index Numbers
     s_border (bool) : (Optional. Default False.) Show/Hide Border
     _rowCol (string) 
     bCol (color) : = (Optional. Default Black.) Frame/Border Color.
     _fillCond (bool) : (Optional) Conditional statement. Function displays array only when true. For instances where size is not immediately known or indices are na. Default = true, indicating array size is set at bar_index 0.
     _offset (int) : (Optional) Use to view historical array states. Default = 0, displaying realtime bar.
  Returns: A Display of Array Values in a Table
 viewArray(_arrayName, _pos, _txtSize, _tRows, s_index, s_border, _rowCol, bCol, _fillCond, _offset) 
  Parameters:
     _arrayName (int ) 
     _pos (string) 
     _txtSize (string) 
     _tRows (int) 
     s_index (bool) 
     s_border (bool) 
     _rowCol (string) 
     bCol (color) 
     _fillCond (bool) 
     _offset (int) 
 viewArray(_arrayName, _pos, _txtSize, _tRows, s_index, s_border, _rowCol, bCol, _fillCond, _offset) 
  Parameters:
     _arrayName (string ) 
     _pos (string) 
     _txtSize (string) 
     _tRows (int) 
     s_index (bool) 
     s_border (bool) 
     _rowCol (string) 
     bCol (color) 
     _fillCond (bool) 
     _offset (int) 
 viewArray(_arrayName, _pos, _txtSize, _tRows, s_index, s_border, _rowCol, bCol, _fillCond, _offset) 
  Parameters:
     _arrayName (bool ) 
     _pos (string) 
     _txtSize (string) 
     _tRows (int) 
     s_index (bool) 
     s_border (bool) 
     _rowCol (string) 
     bCol (color) 
     _fillCond (bool) 
     _offset (int) 
 viewMatrix(_matrixName, _pos, _txtSize, s_index, _resetIdx, s_border, bCol, _fillCond, _offset) 
  Matrix Element Display (Supports , , , and )
  Parameters:
     _matrixName (matrix) : ID of Matrix to be Displayed
     _pos (string) : Position for Table
     _txtSize (string) : Size of Table Cell Text
     s_index (bool) : (Optional. Default True.) Show/Hide Index Numbers
     _resetIdx (bool) 
     s_border (bool) : (Optional. Default False.) Show/Hide Border
     bCol (color) : = (Optional. Default Black.) Frame/Border Color.
     _fillCond (bool) : (Optional) Conditional statement. Function displays matrix only when true. For instances where size is not immediately known or indices are na. Default = true, indicating matrix size is set at bar_index 0.
     _offset (int) : (Optional) Use to view historical matrix states. Default = 0, displaying realtime bar.
  Returns: A Display of Matrix Values in a Table
 viewMatrix(_matrixName, _pos, _txtSize, s_index, _resetIdx, s_border, bCol, _fillCond, _offset) 
  Parameters:
     _matrixName (matrix) 
     _pos (string) 
     _txtSize (string) 
     s_index (bool) 
     _resetIdx (bool) 
     s_border (bool) 
     bCol (color) 
     _fillCond (bool) 
     _offset (int) 
 viewMatrix(_matrixName, _pos, _txtSize, s_index, _resetIdx, s_border, bCol, _fillCond, _offset) 
  Parameters:
     _matrixName (matrix) 
     _pos (string) 
     _txtSize (string) 
     s_index (bool) 
     _resetIdx (bool) 
     s_border (bool) 
     bCol (color) 
     _fillCond (bool) 
     _offset (int) 
 viewMatrix(_matrixName, _pos, _txtSize, s_index, _resetIdx, s_border, bCol, _fillCond, _offset) 
  Parameters:
     _matrixName (matrix) 
     _pos (string) 
     _txtSize (string) 
     s_index (bool) 
     _resetIdx (bool) 
     s_border (bool) 
     bCol (color) 
     _fillCond (bool) 
     _offset (int)
Debugger
lib_unitLibrary   "lib_unit" 
functions for assertions and unit testing
 method init(this) 
  Namespace types: Test
  Parameters:
     this (Test) 
 method is_true(this, expression, message) 
  assert that expression is true, if it's false a runtime error will be thrown
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (bool) : The value to be true
     message (string) : The message to print in the runtime error
 method is_false(this, expression, message) 
  assert that expression is false, if it's true a runtime error will be thrown
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (bool) : The value to be false
     message (string) : The message to print in the runtime error
 method equals(this, expression, expected, message) 
  assert if expression and expected are equal, if they don't match a runtime error will be thrown
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (string) : The value to test
     expected (string) : The expected value
     message (string) : The message to print in the runtime error
 method equals(this, expression, expected, message) 
  assert if expression and expected are equal, if they don't match a runtime error will be thrown
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (int) : The value to test
     expected (int) : The expected value
     message (string) : The message to print in the runtime error
 method equals(this, expression, expected, message) 
  assert if expression and expected are equal, if they don't match a runtime error will be thrown
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (float) : The value to test
     expected (float) : The expected value
     message (string) : The message to print in the runtime error
 method equals(this, expression, expected, message) 
  assert if expression and expected are equal, if they don't match a runtime error will be thrown. This version is testing length, order and values
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (string ) : The array to test 
     expected (string ) : The expected array
     message (string) : The message to print in the runtime error
 method equals(this, expression, expected, message) 
  assert if expression and expected are equal, if they don't match a runtime error will be thrown. This version is testing length, order and values
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (int ) : The array to test 
     expected (int ) : The expected array
     message (string) : The message to print in the runtime error
 method equals(this, expression, expected, message) 
  assert if expression and expected are equal, if they don't match a runtime error will be thrown. This version is testing length, order and values
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (float ) : The array to test 
     expected (float ) : The expected array
     message (string) : The message to print in the runtime error
 method not_na(this, expression, message) 
  assert if expression is not na, if it is a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (string) : The value to test 
     message (string) : The message to print in the runtime error
 method not_na(this, expression, message) 
  assert if expression is not na, if it is a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (int) : The value to test 
     message (string) : The message to print in the runtime error
 method not_na(this, expression, message) 
  assert if expression is not na, if it is a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (float) : The value to test 
     message (string) : The message to print in the runtime error
 method not_na(this, expression, message) 
  assert if expression is not na, if it is a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (string ) : The value to test 
     message (string) : The message to print in the runtime error
 method not_na(this, expression, message) 
  assert if expression is not na, if it is a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (int ) : The value to test 
     message (string) : The message to print in the runtime error
 method not_na(this, expression, message) 
  assert if expression is not na, if it is a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression (float ) : The value to test 
     message (string) : The message to print in the runtime error
 method gt(this, expression1, expression2, message) 
  assert that expression1 > expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (int) : The value that should be greater
     expression2 (int) : The value that should be lesser
     message (string) : The message to print in the runtime error
 method gt(this, expression1, expression2, message) 
  assert that expression1 > expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (float) : The value that should be greater
     expression2 (int) : The value that should be lesser
     message (string) : The message to print in the runtime error
 method gte(this, expression1, expression2, message) 
  assert that expression1 >= expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (int) : The value that should be greater or equal
     expression2 (int) : The value that should be lesser or equal
     message (string) : The message to print in the runtime error
 method gte(this, expression1, expression2, message) 
  assert that expression1 >= expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (float) : The value that should be greater or equal 
     expression2 (int) : The value that should be lesser or equal
     message (string) : The message to print in the runtime error
 method lt(this, expression1, expression2, message) 
  assert that expression1 < expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (int) : The value that should be lesser
     expression2 (int) : The value that should be greater
     message (string) : The message to print in the runtime error
 method lt(this, expression1, expression2, message) 
  assert that expression1 < expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (float) : The value that should be lesser
     expression2 (int) : The value that should be greater
     message (string) : The message to print in the runtime error
 method lte(this, expression1, expression2, message) 
  assert that expression1 <= expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (int) : The value that should be lesser or equal
     expression2 (int) : The value that should be greater or equal
     message (string) : The message to print in the runtime error
 method lte(this, expression1, expression2, message) 
  assert that expression1 <= expression2, if it is not, a runtime error will be thrown.
  Namespace types: Test
  Parameters:
     this (Test) 
     expression1 (float) : The value that should be lesser or equal 
     expression2 (int) : The value that should be greater or equal
     message (string) : The message to print in the runtime error
 Test 
  Fields:
     strict (series__bool) 
     verbose (series__bool) 
     logger (|robbatt/lib_log/2;Logger|#OBJ)
.print()
You don't need to initialize anything.. 
After you import the library you can use .print() as easy as that..! 
Hope this helps
* use a unique ID for each .print() call 
let me know if you run into any bugs 
by trying to make it as user friendly as possible i had to do 
some not ideal things so there's a chance it could present some bugs with 
a lot of labels present on the chart
and if you use label.all to parse and manipulate the labels on the chart..
most likely it will cause an issue but not a lot of people use this so 
I don't think that will be a problem.
thanks,
FFriZz | frizlabz 
Library   "print" 
Single function to print any type to console
 method str(inp) 
  `method` convert all types to string
```
(overload)
*.str(any inp) => string
```
  Namespace types: series string, simple string, input string, const string
  Parameters:
     inp (string) : `any` - desc | Required
  Returns: `string` formatted string
 method str(inp) 
  Namespace types: series int, simple int, input int, const int
  Parameters:
     inp (int) 
 method str(inp) 
  Namespace types: series float, simple float, input float, const float
  Parameters:
     inp (float) 
 method str(inp) 
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     inp (bool) 
 method str(inp) 
  Namespace types: series linefill
  Parameters:
     inp (linefill) 
 method str(inp) 
  Namespace types: series line
  Parameters:
     inp (line) 
 method str(inp) 
  Namespace types: series box
  Parameters:
     inp (box) 
 method str(inp) 
  Namespace types: series label
  Parameters:
     inp (label) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: linefill 
  Parameters:
     inp (linefill ) 
 method str(inp) 
  Namespace types: line 
  Parameters:
     inp (line ) 
 method str(inp) 
  Namespace types: box 
  Parameters:
     inp (box ) 
 method str(inp) 
  Namespace types: label 
  Parameters:
     inp (label ) 
 method str(inp) 
  Namespace types: string 
  Parameters:
     inp (string ) 
 method str(inp) 
  Namespace types: int 
  Parameters:
     inp (int ) 
 method str(inp) 
  Namespace types: float 
  Parameters:
     inp (float ) 
 method str(inp) 
  Namespace types: bool 
  Parameters:
     inp (bool ) 
 method arrayShorten(str) 
  arrayShorten
  Namespace types: series string, simple string, input string, const string
  Parameters:
     str (string) : `string` - the string to shorten | Required
  Returns: `string` - a shortened version of the input string if it is an array with more than 7 elements, otherwise the original string
 method matrixShorten(str) 
  matrixShorten
  Namespace types: series string, simple string, input string, const string
  Parameters:
     str (string) : `string` - the string to shorten | Required
  Returns: `string` - the shortened matrix string if the input is a matrix, otherwise returns the input string as is
 method print(x, ID) 
  print all types to theh same console with just this `method/function`
```
(overload)
*.print(any x, string ID, bool shorten=true?) => console
"param 'shorten' - only for arrays and matrixs" | true 
```
  Namespace types: series string, simple string, input string, const string
  Parameters:
     x (string) : - `any` input to convert
     ID (string) : - `string` unique id for label on console `MUST BE UNIQUE`
  Returns: adds the `ID` and the `inp` to the console on the chart
 method print(x, ID) 
  Namespace types: series float, simple float, input float, const float
  Parameters:
     x (float) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series int, simple int, input int, const int
  Parameters:
     x (int) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series box
  Parameters:
     x (box) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     x (bool) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series label
  Parameters:
     x (label) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series line
  Parameters:
     x (line) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series linefill
  Parameters:
     x (linefill) 
     ID (string) 
 method print(x, ID, shorten) 
  Namespace types: string 
  Parameters:
     x (string ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: float 
  Parameters:
     x (float ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: int 
  Parameters:
     x (int ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: box 
  Parameters:
     x (box ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: bool 
  Parameters:
     x (bool ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: label 
  Parameters:
     x (label ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: line 
  Parameters:
     x (line ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: linefill 
  Parameters:
     x (linefill ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool)
JavaScript-style Debug ConsoleThis library provides a JavaScript-style debug console to Pine Coders. It supports the most commonly used utilities from the WHATWG Console Standard including the following:
 • console.log
 • console.debug
 • console.info
 • console.warn
 • console.error
 • console.assert
 • console.count
 • console.countReset
 • console.group
 • console.groupEnd
 • console.clear
In addition to the WHATWG standard, this library also supports the following methods:
 • console.show
 • console.hide
 FEATURES 
 • Follows the WHATWG Console Standard, which is widely adopted by all major JavaScript runtimes including browsers and Node.js.
 • Provides an out-of-box UI with pre-configured theming, ensuring a clean and professional-looking console.
 • Allows for easy UI customizations to fit your personal preferences.
 • Has extremely simple import and initialization, making it easy to integrate with your existing codebase.
 USAGE 
1. Import this library:
 
import algotraderdev/Console/1
 
2. Initialize the console object:
 
var console = Console.new()
// You can also specify optional params to customize the look & feel.
var console = Console.new(
  position = position.bottom_right,
  max_rows = 50,
  width = 0,
  text_size = size.normal,
  background_color = #000000CC,
  timestamp_color = #AAAAAA,
  info_message_color = #DDDDDD,
  debug_message_color = #AAAAAA,
  warn_message_color = #FFEB3B,
  error_message_color = #ff3c00)
 
3. Use the console object to debug your code. Here are some examples:
 
// Basic logging
console.log('hello world!') // prints 'hello world'
console.warn('warn') // prints 'warn' in yellow
console.error('error') // prints 'error' in red
console.clear() // clears the console
// Assertion
console.assert(a.isEmpty(), 'array should be empty') // prints 'assertion failed: array should be empty' if the array is not empty
// Counter
console.count('fooFunction') // prints 'fooFunction: 1'
console.count('fooFunction') // prints 'fooFunction: 2'
console.countReset('fooFunction') // resets the counter
console.count('fooFunction') // prints 'fooFunction: 1'
// Group
console.log('A')
console.group()
console.log('B')
console.group()
console.log('C')
console.log('D')
console.groupEnd()
console.log('E')
console.groupEnd()
console.log('F')
// prints
// A
//   B
//     C
//     D
//   E
// F
// Hide and show
console.hide()
console.show()
toolsLibrary   "tools" 
A library of many helper methods, plus a comprehensive print method and a printer object.
This is a newer version of the  helpers  library. This script uses pinescripts v5 latest objects and methods.
Console📕 Console Library
🔷  Introduction 
This script is an adaptation of the classic JavaScript console script. It provides a simple way to display data in a console-like table format for debugging purposes.
While there are many nice console/logger scripts out there, my personal goal was to achieve  inline functionality  and  visual object (label, lines) logging .
🔷  How to Use 
◼ 1. Import the Console library into your script:
 
import cryptolinx/Console/1
 
- or -
Instead of the library namespace, you can define a custom namespace as alias.
 
import cryptolinx/Console/1 as c
 
◼ 2. Create and init a new `` object.
The `init()` method is used to initialize the console object with default settings. It can be used to customize it.
 
// When using the `var` keyword in a declaration, the logs will act as ever-forwarding.
// Without `var`, the `console` variable will be redeclared every time `bar` is called.
// var console = Console.terminal.new(log_position=position.bottom_left, prefix = '> ', show_no = true)
 
- or -
If you has set up an alias before.
 
var console = c.terminal.new().init()
 
◼ 3. Logging
 
// inline ✨
array  testArray = array.new(3, .0).log(console)
// basic
console.log(testArray)
// inline ✨
var testLabel = label.new(bar_index, close, 'Label Text').log(console)
// basic
console.log(testLabel)
// It is also possible to use `().` for literals ✨.
int a = 100
testCalc = (5 * 100).log(console) + a.log(console) // SUM: 600
console.
.empty()
.log('SUM' + WS + testCalc.tostring())
 
◼ 4. Visibility
Finally, we need to call the `show()` method to display the logged messages in the console.
 
console.show(true) // True by default. Simply turn it on or off
FrizBugLibrary   "FrizBug" 
Debug Tools | Pinescript Debugging Tool Kit
All in one Debugger - the benefit of wrapper functions to simply wrap variables or outputs and have the code still execute the same. Perfect for Debugging on Pine
 str(inp) 
  Overloaded tostring like Function for all type+including Object Variables   will also do arrays and matricies of all Types
  Parameters:
     inp : All types 
  Returns: string
 print_label(str, x_offset, y, barstate, style, color, textcolor, text_align, size) 
  Label Helper Function - only needs the Str input to work
  Parameters:
              str :  
     x_offset : offset from last bar + or -
     y : price of label
     barstate : barstate built in variable  
     style : label style settin7  
     color : color setting   
     textcolor : textcolor  
     text_align : text align setting  
     size : text_sise  
  Returns: label
 init() 
  initializes the database arrays  
  Returns:  tuple    | 2 matrix (1 matrix is varip(live) the other is reagular var (Bar))
 update(log, live, live_console, log_console, live_lbl, log_lbl) 
  Put at the very end of your code / This updates all of the consoles
  Parameters:
     log : This matrix is the one used for Bar updates
     live : This matrix is the one used for Real Time updates
     live_console : on_offs for the consoles and lbls - call in the update function
     log_console : on_offs for the consoles and lbls - call in the update function
     live_lbl : on_offs for the consoles and lbls - call in the update function
     log_lbl : on_offs for the consoles and lbls - call in the update function
  Returns: void
 log(log, inp, str_label, off, rows, index_cols, bars_back) 
  Function Will push to the Console offset to the right of Current bar, This is the main Console - it has 2 Feeds left and right (changeable)"
  Parameters:
     log : Matrix - Log or Live
     inp : All types  
     str_label : (optional) This input will label it on the feed
     off : Useful for when you don't want to remove the function"
     rows : when printing or logging a matrix this will shorten the output will show last # of rows"
     index_cols : When printing or logging a array or matrix this will shorten the array or the columns of a matrix by the #"
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)"
  Returns: inp - all types (The log and print functions can be used as wrapper functions see usage below for examples)
 Print(log, str_label, off, bars_back) 
  Function can be used to send information to a label style Console, Can be used as a wrapper function, Similar to str.format use with str()
  Parameters:
     log : 
     str_label : (optional)  Can be used to label Data sent to the Console
     off : Useful for when you don't want to remove the function
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)
  Returns: string
 print(inp, str_label, off, bars_back) 
  This Function can be used to send information to a label style Console, Can be used as a wrapper function, Overload print function
  Parameters:
     inp : All types
     str_label : string (optional) Can be used to label Data sent to the Console
     off : Useful for when you don't want to remove the function
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)
  Returns: inp - all types (The log and print functions can be used as wrapper functions see usage below for examples)
Credits: 
@kaigouthro - for the font library
@RicardoSantos - for the concept I used to make this
Thanks!
Use cases at the bottom






