RicardoSantos

StringEvaluation

RicardoSantos Wizard Actualizado   
Library "StringEvaluation"
Methods to handle evaluation of strings.

is_comma(char) Check if char is a comma ".".
Parameters:
  • char: string, 1 character string.
Returns: bool.

is_op(char) Check if char is a operator.
Parameters:
  • char: string, 1 character string.
Returns: bool.

number(char) convert a single char string into valid number.
Parameters:
  • char: string, 1 character string.
Returns: float.

operator(op, left, right) operation between left and right values.
Parameters:
  • op: string, operator string character.
  • left: float, left value of operation.
  • right: float, right value of operation.


operator_precedence(op) level of precedence of operator.
Parameters:
  • op: string, operator 1 char string.
Returns: int.

cleanup(_str) Evaluate a string to clean up and retrieve only used chars
Parameters:
  • _str: string, arithmetic operations in a string.
Returns: string array, evaluated array.

generate_rpn(tokens) uses Shunting-Yard algorithm to generate a RPN (Reverse Polish notation)
array of strings from a array of strings containing arithmetic notation.
ex:.. '' --> ''
Parameters:
  • tokens: string array, array with arithmetic notation.
Returns:

parse_rpn() evaluate a RPN (Reverse Polish notation) array of strings.
ex:.. 3 4 2 * 1 5 - 2 3 ^ ^ / +
| @param tokens string array, RPN ordered tokens, ex().
| @returns float, solution.

eval() evaluate a string with references to a array of arguments.
| @param tokens string, arithmetic operations with references to indices in arguments, ex:"0+1*0+2*2+3" arguments
| @param arguments float array, arguments.
| @returns float, solution.
Notas de prensa:
v2
Update: supports boolean operators and float numbers now
Added:
is_op_component(char) Check if char is a operator component.
  Parameters:
    char: string, 1 character string.
  Returns: bool.

is_boolean_op(char) Check if char is a boolean operator.
  Parameters:
    char: string, 1 character string.
  Returns: bool.

is_alpha(char) Check if char is alphabet.
  Parameters:
    char: string, 1 character string.
  Returns: bool.

boolean_operator(op, left, right) boolean operation between left and right values.
  Parameters:
    op: string, operator string character.
    left: float, left value of operation.
    right: float, right value of operation.

boolean_operator_precedence(op) level of precedence of operator.
  Parameters:
    op: string, operator 1 char string.
  Returns: int.

aggregate_words(tokens) Aggregates words, numbers and operators into one.
  Parameters:
    tokens: string array, array with split string into character tokens.
  Returns: string array.
Notas de prensa:
v3 minor modification to see if it fixes a bug..
Notas de prensa:
v4 small test to see if i capture the source of a bug..
Biblioteca Pine

Siguiendo el verdadero espíritu de TradingView, el autor de este código de Pine lo ha publicado como biblioteca de código abierto, para que el resto de programadores de Pine de esta comunidad puedan volver a utilizarlo. ¡Un hurra por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero debe ceñirse a lo establecido en las Normas internas.

Exención de responsabilidad

La información y las publicaciones que ofrecemos, no implican ni constituyen un asesoramiento financiero, ni de inversión, trading o cualquier otro tipo de consejo o recomendación emitida o respaldada por TradingView. Puede obtener información adicional en las Condiciones de uso.

¿Quiere utilizar esta biblioteca?

Copie la siguiente línea y péguela en su script.