TextLibLibrary   "TextLib" 
TODO: Library with text / string functions
 addText(before, value, separator) 
  Parameters:
     before (string) 
     value (string) 
     separator (string) 
 addText(before, value1, value2, separator) 
  Parameters:
     before (string) 
     value1 (string) 
     value2 (string) 
     separator (string)
Strings
MarkovAlgorithmLibrary   "MarkovAlgorithm" 
Markov algorithm is a string rewriting system that uses grammar-like rules to operate on strings of 
symbols. Markov algorithms have been shown to be Turing-complete, which means that they are suitable as a 
general model of computation and can represent any mathematical expression from its simple notation. 
~ wikipedia
.
reference:
en.wikipedia.org
rosettacode.org
 parse(rules, separator) 
  Parameters:
     rules (string) 
     separator (string) 
  Returns: - `array _rules`: List of rules.
---
Usage:
- `parse("|0 -> 0|| 1 -> 0| 0 -> ")`
 apply(expression, rules) 
  Aplies rules to a expression.
  Parameters:
     expression (string) : `string`: Text expression to be formated by the rules.
     rules (rule ) : `string`: Rules to apply to expression on a string format to be parsed.
  Returns: - `string _result`: Formated expression.
---
Usage:
- `apply("101", parse("|0 -> 0|| 1 -> 0| 0 -> "))`
 apply(expression, rules) 
  Parameters:
     expression (string) 
     rules (string) 
  Returns: - `string _result`: Formated expression.
---
Usage:
- `apply("101", parse("|0 -> 0|| 1 -> 0| 0 -> "))`
 rule 
  String pair that represents `pattern -> replace`, each rule may be ordinary or terminating.
  Fields:
     pattern (series string) : Pattern to replace.
     replacement (series string) : Replacement patterns.
     termination (series bool) : Termination rule.
composite_ticker_cleanerLibrary   "composite_ticker_cleaner" 
Extract a clean symbol from a composite ticker. E.g., (BINANCE:BTCUSD+KRAKEN:BTCUSD)/2 as input will return BTCUSD or BINANCE:BTCUSD
 composite_ticker_cleaner_extract_first(symbol, keepexchange) 
  Extract the first symbol out of the supplied string (usually ticker.standard(syminfo.tickerid) )
  Parameters:
     symbol : string input string to search in
     keepexchange : bool (optional) Keep exchange in the returned ticker? By default, we only return the symbol without the exchange.
  Returns: first occurrence of a symbol
 composite_ticker_cleaner_extract_first(keepexchange) 
  Extract the first symbol out of the current tickerid (as provided by ticker.standard(syminfo.tickerid) )
  Parameters:
     keepexchange : bool (optional) Keep exchange in the returned ticker? By default, we only return the symbol without the exchange.
  Returns: first occurrence of a symbol in the current tickerid
This is inspired by the work I did on this indicator:
I needed a similar functionality in another script, so instead of duplicating code, I thought generalizing the process in a library could be helpful for me and others, and will be easier to maintain and upgrade with new features if I need to.
string_utilsLibrary   "string_utils" 
Collection of string utilities that can be used to replace sub-strings in a string and string functions
that are not part of the standard library.
This a more simple replacement of my previous string_variables library since it uses types for better
performance due to data locality and methods that give a more intuitive API.
UnispacesLibrary   "Unispaces" 
Easier than looking up unicode spaces
 spaces(sequence, string1, string2) 
  UNISPACES  
  Parameters:
     sequence : (int) required | 123 = 3 spaces / 3 different sizes (one space per number can find spaces in hover over)
     string1 : (str) optional | default = ""    
     string2 : (str) optional | default = ""
  Returns: `string - concatenated string surrounding unispaces`
 space(space, string1, string2) 
  UNISPACE
  Parameters:
     space : (int) optional | default = 0 | 0-15 (can find spaces in hover over)      
     string1 : (str) optional | default = ""
     string2 : (str) optional | default = ""
  Returns: `string - concatenated string surrounding a unispace `
Sub-Super Script and Roman numerals LibraryLibrary   "Sub_Super_Script_and_RomanNumerals_Library" 
Library to transform numbers into Roman numerals / Super-Sub script / check if value is alpha or number
 isnumber(input) 
  check to see if value is a number
  Parameters:
     input : (string/float/int) value to check
  Returns: (na) if value is NOT a number and input (string/float/int) if value is a number
 isalpha(input) 
  check a string if it is alpha(doesnt contain numbers)
  Parameters:
     input 
  Returns: (string) if string input does NOT contain numbers, return (na) if input string contains numbers
 super(num) 
  convert a string's numbers from normal print to super-script  
  Parameters:
     num : (string/int/float) input value to transform
  Returns: string of input with numbers converted to super-script
 sub(num) 
  convert a string's numbers from normal print to sub-script  
  Parameters:
     num : (string/int/float) input value to transform
  Returns: string of input with numbers converted to sub-script
 roman(num, trunc) 
  convert a string of numbers, float, or int
  Parameters:
     num : (string) input number to transform
     trunc : (bool | false) true to truncate float value, false to show roman numerals with decimals (XX.VI) 
  Returns: string of roman numerals representing the input (num)
FrizLabz_Time_Utility_MethodsLibrary   "FrizLabz_Time_Utility_Methods" 
Some time to index and index to time helper methods made them for another library thought I would try to make
them as methods
 UTC_helper(utc) 
  UTC helper function this adds the + to the positive utc times, add "UTC" to the string
       and can be used in the timezone arg of for format_time()
  Parameters:
     utc : (int) | +/- utc offset
  Returns: string | string to be added to the timezone paramater for utc timezone usage
 bar_time(bar_amount) 
  from a time to index
  Parameters:
     bar_amount : (int) | default - 1)
  Returns: int bar_time
 time_to_index(_time) 
  from time to bar_index
  Parameters:
     _time : (int) 
  Returns: int time_to_index | bar_index that corresponds to time provided
 time_to_bars_back(_time) 
  from a time quanity to bar quanity for use with  .
  Parameters:
     _time : (int) 
  Returns: int bars_back | yeilds the amount of bars from current bar to reach _time provided
 bars_back_to_time(bars_back) 
  from bars_back to time
  Parameters:
     bars_back 
  Returns: int | using same logic as   this will return the 
                    time of the bar = to the bar that corresponds to   bars_back
 index_time(index) 
  bar_index to UNIX time
  Parameters:
     index : (int) 
  Returns: int time | time in unix that corrresponds to the bar_index
 to_utc(time_or_index, timezone, format) 
  method to use with a time or bar_index variable that will detect if it is an index or unix time
       and convert it to a printable string
  Parameters:
     time_or_index : (int) required) | time in unix or bar_index
     timezone : (int) required) | utc offset to be appled to output
     format : (string) | default - "yyyy-MM-dd'T'HH:mm:ssZ") | the format for the time, provided string is 
                                     default one from str.format_time()
  Returns: string | time formatted string
 GET(line) 
  Gets the location paramaters of a Line
  Parameters:
     line : (line)
  Returns: tuple  
 GET(box) 
  Gets the location paramaters of a Box
  Parameters:
     box : (box)
  Returns: tuple  
 GET(label) 
  Gets the location paramaters and text of a Label
  Parameters:
     label : (label)
  Returns: tuple  
 GET(linefill) 
  Gets line 1 and 2 from a Linefill
  Parameters:
     linefill : (linefill)
  Returns: tuple  
 Format(line, timezone) 
  converts Unix time in time or index params to formatted time
       and returns a tuple of the params as string with the time/index params formatted
  Parameters:
     line : (line) | required
     timezone : (int) | default - na
  Returns: tuple  
 Line(x1, y1, x2, y2, extend, color, style, width) 
  similar to line.new() with the exception
       of not needing to include y2 for a flat line, y1 defaults to close, 
       and it doesnt require xloc.bar_time or xloc.bar_index, if no x1
  Parameters:
     x1 : (int) default - time
     y1 : (float) default - close
     x2 : (int) default - last_bar_time/last_bar_index | not required for line that ends on current bar
     y2 : (float) default - y1 | not required for flat line
     extend : (string) default - extend.none | extend.left, extend.right, extend.both
     color : (color) default - chart.fg_color
     style : (string) default - line.style_solid | line.style_dotted, line.style_dashed, 
                                  line.style_arrow_both, line.style_arrow_left, line.style_arrow_right
     width 
  Returns: line
 Box(left, top, right, bottom, extend, border_color, bgcolor, text_color, border_width, border_style, txt, text_halign, text_valign, text_size, text_wrap) 
  similar to box.new() but only requires top and bottom to create box,
       auto detects if it is bar_index or time used in the (left) arg. xloc.bar_time and xloc.bar_index are not used
       args are ordered by purpose | position -> colors -> styling -> text options
  Parameters:
     left : (int) default - time 
     top : (float) required 
     right : (int) default - last_bar_time/last_bar_index | will default to current bar index or time 
                                  depending on (left) arg
     bottom : (float) required
     extend : (string) default - extend.none | extend.left, extend.right, extend.both
     border_color : (color) default - chart.fg_color
     bgcolor : (color) default - color.new(chart.fg_color,75)
     text_color : (color) default - chart.bg_color
     border_width : (int) default - 1 
     border_style : (string) default - line.style_solid | line.style_dotted, line.style_dashed, 
     txt : (string) default - ''
     text_halign : (string) default - text.align_center | text.align_left, text.align_right
     text_valign : (string) default - text.align_center | text.align_top, text.align_bottom 
     text_size : (string) default - size.normal | size.tiny, size.small, size.large, size.huge 
     text_wrap : (string) default - text.wrap_auto | text.wrap_none
  Returns: box
 Label(x, y, txt, yloc, color, textcolor, style, size, textalign, text_font_family, tooltip) 
  similar to label.new() but only requires no args to create label,
       auto detects if it is bar_index or time used in the (x) arg. xloc.bar_time and xloc.bar_index are not used
       args are ordered by purpose | position -> colors -> styling -> text options
  Parameters:
     x : (int) default - time
     y : (float) default - high or low | depending on bar direction
     txt : (string) default - ''
     yloc : (string) default - yloc.price | yloc.price, yloc.abovebar, yloc.belowbar
     color : (color) default - chart.fg_color
     textcolor : (color) default - chart.bg_color
     style : (string) default - label.style_label_down | label.style_none
                                  label.style_xcross,label.style_cross,label.style_triangleup,label.style_triangledown
                                  label.style_flag, label.style_circle, label.style_arrowup, label.style_arrowdown, 
                                  label.style_label_up, label.style_label_down, label.style_label_left, label.style_label_right, 
                                  label.style_label_lower_left, label.style_label_lower_right, label.style_label_upper_left, 
                                  label.style_label_upper_right, label.style_label_center, label.style_square, 
                                  label.style_diamond
     size : (string) default - size.normal | size.tiny, size.small, size.large, size.huge
     textalign : (string) default - text.align_center | text.align_left, text.align_right
     text_font_family : (string) default - font.family_default | font.family_monospace
     tooltip : (string) default - na
  Returns: label
Debugging_consoleRefer to notes for instruction
===================================================================
UtilitiesLibrary   "Utilities" 
My utility functions library.
 toPips(_v) 
  Convert price to pips.
  Parameters:
     _v : Price
  Returns: Pips
 toPrice(_p) 
  Convert pips to price.
  Parameters:
     _p 
  Returns: Price
 price_range(_a, _b) 
  The difference will be returned.
  Parameters:
     _a 
     _b : @return Price as positive number
 get_day(_n, _lang) 
  Get the day of the week
  Parameters:
     _n : Number of day of week
     _lang : en or ja
 source(_name) 
  TODO: add function description here
  Parameters:
     _name 
  Returns: TODO: add what function returns
 clear_lines(_arr, _min) 
  Deletes the lines included in the array.
  Parameters:
     _arr : Array of lines
     _min : Deletes the lines included in the array.
 clear_labels(_arr, _min) 
  Deletes the labels included in the array.
  Parameters:
     _arr : Array of labels
     _min : Deletes the labels included in the array.
 clear_boxes(_arr, _min) 
  Deletes the boxes included in the array.
  Parameters:
     _arr : Array of boxes
     _min : Deletes the boxes included in the array.
Motion▮ FEATURES 
 
  Now as library version :) 
  String-based transition-effects
  Performance optimization. Reduced memory consumption up to >90% by kicking the output to the "stdout".
  Use marquee- or loader-effect on any possible string location.
 
Example: UI Price-Ticker 
----------------------------------------------------------------------------
Library   "Motion" 
 _getStringMono(_len, _str, _sep) 
  Parameters:
     _len 
     _str 
     _sep 
 marquee(this, _extern, _ws, _subLen, _subStart) 
  Parameters:
     this 
     _extern 
     _ws 
     _subLen 
     _subStart 
 transition(this, _subLen, _subStart) 
  Parameters:
     this 
     _subLen 
     _subStart 
 hold(this) 
  Parameters:
     this 
 keyframe 
  keyframe A keyframe object.
  Fields:
     seq 
     intv 
     step 
     length 
     update_no 
     frame_no 
     ltr 
     hold
String Extra FunctionsLibrary   "string_extras" 
Additional String shortcuts, unshift and pop return the string ~without~ the first or last, so in use will still require to extract first or last character prior to overwriting a string with the output.
can be imported "as str" to work side by side with regular pine
 last(_string) 
  last char of a string
  Parameters:
     _string 
  Returns: last char of a string
 shift(_string) 
  string without first char
  Parameters:
     _string 
  Returns: string without first char
 pop(_string) 
  string without last char
  Parameters:
     _string 
  Returns: string without last char
 get(_string, _position) 
  get specific char of a string
  Parameters:
     _string 
     _position 
  Returns: string _string
 push(_string, _char) 
  push to end of a string
  Parameters:
     _string 
     _char 
  Returns: string _string
 unshift(_string, _char) 
  unshift char to prepend string
  Parameters:
     _string 
     _char 
  Returns: string _string
jsonLibrary   "json" 
 
 JSON Easy Object Create/stringiffy 
 
 Functions to add/write JSON 
 
   new   (name   , kind) -> object
   set     (_item  , _obj , _key  ) -> key index for parent object's array
   add    (_obj   , _key , _item ) -> key index for parent object's array
   write  (object ,        kind  ) -> stringified object   // (enter kind  to cut off key )
 
============================================
 obj 
  obj    Object storage container/item
  Fields:
     key : (string   ) item name 
     kind : (string   ) item's type(for writing)
     item : (string   ) item (converted to string)
     keys : (string  ) keys of all sub-items and objects 
     items : (obj     ) nested obj off individual subitems (for later...)
============================================
 new(_name, _kind) 
  create multitype object
  Parameters:
     _name : (string) Name off object
     _kind : (string) Preset Type (_OBJECT if a container item)
  Returns: object container/item 2-in-1
============================================
 add(_item, _obj, _key) 
  Set item to object obj item  (same as set, prep for future Pine methods)
  Parameters:
     _item : ( int / float / bool / string  )         
     _obj : (obj multi-type-item object)
     _key : ( string )
 set(_item, _obj, _key) 
  Set item to object obj item  (same as add, prep for future Pine methods)
  Parameters:
     _item : ( int / float / bool / string  )         
     _obj : (obj multi-type-item object)
     _key : ( string )
 addstore(_parent, _child) 
  Add a  object as a subobject to storage (Future upgrade to write/edit)
  Parameters:
     _parent : to insert obj into
     _child : to be inserted
 setstore(_child, _parent) 
  Add a  object as a subobject to storage (Future upgrade to write/edit)
  Parameters:
     _child : to be inserted
     _parent : to insert obj into
 add(_parent, _child) 
  Add a  object as a string rendered item
  Parameters:
     _parent : to insert obj into
     _child : to be inserted
 set(_child, _parent) 
  Add a  object as a string rendered item
  Parameters:
     _child : to be inserted
     _parent : to insert obj into
============================================
 write(_object, _key, _itemname) 
  Write object to string Object
  Parameters:
     _object : (obj)
     _key : (array<(string/int)> )/(string)   
     _itemname : (string)
  Returns: stringified flattened object.
 clean_output(_str) 
  Clean JSON final output
  Parameters:
     _str : string json item
  Returns: cleaned string
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
Stringify - Timeframe Enumeration --> StringLibrary   "Stringify" 
Cast variable types and enumerations to human-readable Strings
 timeframe(string) 
  Cast a timeframe enumeration to readable string.
  Parameters:
     string : `T` is a timeframe enumeration ('3D', '120', '15', '5s' ...)
  Returns: A string representation of the timeframe or 'NA' if `x` is `na`
libcompressLibrary   "libcompress" 
numbers compressor for large output data compression
 compress_fp24() 
  converts float to base64 (4 chars) | 24 bits: 1 sign + 5 exponent + 18 mantissa
  Returns: 4-character base64_1/5/18 representation of x
 compress_ufp18() 
  converts unsigned float to base64 (3 chars) | 18 bits: 5 exponent + 13 mantissa
  Returns: 3-character base64_0/5/13 representation of x
 compress_int() 
  converts int to base64
StringStringHashmapLibrary   "StringStringHashmap" 
A simple implementation of a key string-to-string value dictionary in pine script
 create_ss_dict() 
  Create an empty string-string dictionary
  Returns: the indices and elements of the dict
 add_key_value(key, value, i, e) 
  Add new key-value pair in the dictionary
  Parameters:
     key : string 
     value : string
     i : string  the indices of the dictionary
     e : string  the element of the dictionary
 get_value(key, i, e) 
  Get the value of the given key
  Parameters:
     key : string
     i : string  the indices of the dictionary
     e : string  the element of the dictionary
  Returns: return the value of the given key
 change_value(key, value, i, e) 
  Change the value of the given key
  Parameters:
     key : string
     value : string
     i : string  the indices of the dictionary
     e : string  the element of the dictionary
text_utilsLibrary   "text_utils" 
a set of functions to handle placeholder in texts
 add_placeholder(list, key, value) 
  add a placehodler key and value to a local list
  Parameters:
     list : - reference to a local string array containing all placeholders, add string  list = array.new_string(0) to your code
     key : - a string representing the placeholder in a text, e.g. '{ticker}'
     value : - a string representing the value of the placeholder e.g. 'EURUSD'
  Returns: void
 add_placeholder(list, key, value, format) 
  add a placehodler key and value to a local list
  Parameters:
     list : - reference to a local string array containing all placeholders, add string  list = array.new_string(0) to your code
     key : - a string representing the placeholder in a text, e.g. '{ticker}'
     value : - an integer value representing the value of the placeholder e.g. 10
     format : - optional format string to be used when converting integer value to string, see str.format() for details, must contain '{0}'
  Returns: void
 add_placeholder(list, key, value, format) 
  add a placehodler key and value to a local list
  Parameters:
     list : - reference to a local string array containing all placeholders, add string  list = array.new_string(0) to your code
     key : - a string representing the placeholder in a text, e.g. '{ticker}'
     value : - a float value representing the value of the placeholder e.g. 1.5
     format : - optional format string to be used when converting float value to string, see str.format() for details, must contain '{0}'
  Returns: void
 replace_all_placeholder(list, text_to_covert) 
  replace all placeholder keys with their value in a given text
  Parameters:
     list : - reference to a local string array containing all placeholders
     text_to_covert : - a text with placeholder keys before their are replaced by their values
  Returns: text with all replaced placeholder keys
String_Encoder_DecoderLibrary   "String_Encoder_Decoder" 
String encoder and decoder to use in internal data tranfer in script calculations. 
In example,  script encode 125 values once and then decode them every candle.
 encode(array or values (val1,val2,val3,val4,val5,val6) 
  encode: encode some values into string
  Parameters:
     array : of values  or values1, value2 (up to 6 values)
              (input values must be stringified)
  Returns: encoded value
 decode(val) 
  decode: decode  into string
  Parameters:
     val : value to decode, must be stringified
  Returns: decoded array of stringified values
intoLibrary   "into" 
convert literals by type,
Same-types left in for bulk reasons.
TODO: Expand Types
 b(string) 
  Convert string to bool.
  Parameters:
     string : val A string value.
  Returns: Bool.
 b(bool) 
  Pass Bool/bool
  Parameters:
     bool : 
  Returns: Bool.
 b(float) 
  Convert Float (True if exists and not 0)
  Parameters:
     float : val A float value.
  Returns: Bool.
 b(int) 
  Convert integer (True if exists and not 0)
  Parameters:
     int : val An integer value.
  Returns: Bool.
 f(bool) 
  Convert bool to float.
  Parameters:
     bool : val A boolean value.
  Returns: Float.
 f(string, int) 
  Convert with decimal
  Parameters:
     string : val       A string value.
     int : decimals Decimal places. def = 6
  Returns: Float.
 f(float, int) 
  Convert float bypass with decimals
  Parameters:
     float : val       A float value.
     int : decimals Decimal places. def = 6
  Returns: Float.
 f(int) 
  Convert integer to float.
  Parameters:
     int : val An integer value.
  Returns: Float.
 i(bool) 
  Convert bool to int.
  Parameters:
     bool : val A boolean value.
  Returns: Int.
 i(string) 
  Convert string number to int.
  Parameters:
     string : val A string value.
  Returns: Int.
 i(float) 
  Convert float to int.
  Parameters:
     float : val A float value.
  Returns: Int.
 i(int) 
  Convert int to int.
  Parameters:
     int : val An int value.
  Returns: Int.
 s(bool) 
  Convert bool value to string.
  Parameters:
     bool : val A boolean value.
  Returns: String.
 s(str) 
  bypass string
  Parameters:
     str : val A string value.
  Returns: String.
 s(float) 
  Convert float value to string.
  Parameters:
     float : val A float value.
  Returns: String.
 s(int) 
  Convert int value to string.
  Parameters:
     int : val An integer value.
  Returns: String.
 s(val) 
  Array Convert Each Item
  Parameters:
     val : Array Input (Str,Bool,Int,Float)
  Returns: String.
 s(val) 
  Array Convert Each Item
  Parameters:
     val : Array Input (Str,Bool,Int,Float)
  Returns: String.
 s(val) 
  Array Convert Each Item
  Parameters:
     val : Array Input (Str,Bool,Int,Float)
  Returns: String.
 s(val) 
  Array Convert Each Item
  Parameters:
     val : Array Input (Str,Bool,Int,Float)
  Returns: String.
fontLibrary   "font" 
Unicode Characters Replacement function for strings.
 uni(_str, _number) 
  Unicode Font Substitutee
  Parameters:
     _str : Input Strinbg
     _number : Font by Int input
 uni(_str, _number) 
  Unicode Font Substitutee
  Parameters:
     _str : Input Strinbg
     _number : Font by Name input
String to NumberA library that exposes a method to translate strings to numbers. Adapted from  MichelT 's  String to Number  indicator.
FrostyBotLibrary   "FrostyBot" 
JSON Alert Builder for FrostyBot.js Binance Futures and FTX orders
github.com
More Complete Version Soon.
 
TODO: Comment Functions and annotations from command reference ^^
TODO: Add additional whitelist and symbol mappings.
 
 leverage() 
 buy() 
 sell() 
 cancelall() 
 closelong() 
 closeshort() 
 traillong() 
 trailshort() 
 long() 
 short() 
 takeprofit() 
 stoploss()
DiscordLibraryLibrary   "DiscordLibrary" 
 BoldString() 
  Bold String in Discord Function
 ItalicizeString() 
  Italicize String in Discord Function
 StrikeThroughString() 
  Strikethrough a String in Discord Function
 UnderlineString() 
  Underline a String in Discord Function
 SpoilerString() 
  When you send the text, it will be shown as a black block, and only by clicking on it will you be able to see what is written below, in a way, unveiling the text or giving spoilers
 HighlightString() 
  Highlight String Function
 BoxedString() 
  Put String in a Box Function
 NonEmbeddedURLString() 
  Format URL String so that it is not an embedded Image but just the Link
 InvisibleString() 
  Send Inivisible Text
 FormatTimePeriodForDiscord() 
 GetDiscordEmbedJSON() 
  Generate discord embed JSON
 GetDiscordTextJSON() 
  Formats Content Only JSON Message
 Truncate() 
  Custom function to truncate (cut) excess decimal places
 FormatDiscordMessage() 
  format Content message
 FormatCoin() 
  Format Ticker Symbol






















