RicardoSantos

StringEvaluation

RicardoSantos Wizard 已更新   
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.
發布通知:
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.
發布通知:
v3 minor modification to see if it fixes a bug..
發布通知:
v4 small test to see if i capture the source of a bug..
Pine腳本庫

本著真正的TradingView精神,作者將此Pine代碼以開源腳本庫發布,以便我們社群的其他Pine程式設計師可以重用它。向作者致敬!您可以私下或在其他開源出版物中使用此庫,但在出版物中重用此代碼受網站規則約束。

免責聲明

這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。

想使用這個腳本庫嗎?

複製以下行並將其黏貼到您的腳本中。