jason5480

math_utils

jason5480 Updated   
Library "math_utils"
Collection of math functions that are not part of the standard math library

num_of_non_decimal_digits(number) num_of_non_decimal_digits - The number of the most significant digits on the left of the dot
  Parameters:
    number: - The floating point number
  Returns: number of non digits

num_of_decimal_digits(number) num_of_decimal_digits - The number of the most significant digits on the right of the dot
  Parameters:
    number: - The floating point number
  Returns: number of decimal digits

floor(number, precision) floor - floor with precision to the given most significant decimal point
  Parameters:
    number: - The floating point number
    precision: - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: number floored to the decimal digits defined by the precision

ceil(number, precision) floor - ceil with precision to the given most significant decimal point
  Parameters:
    number: - The floating point number
    precision: - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: number ceiled to the decimal digits defined by the precision

clamp(number, lower, higher, precision) clamp - clamp with precision to the given most significant decimal point
  Parameters:
    number: - The floating point number
    lower: - The lowerst number limit to return
    higher: - The highest number limit to return
    precision: - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: number clamped to the decimal digits defined by the precision
Release Notes:
v2
Remove simple from time serries
Release Notes:
v3

Added:
clamp_up(number, lower, higher, precision)
  clamp - clamp with precision to the given most significant decimal point. Ceil is favored for the precision rounding.
  Parameters:
    number: - The floating point number
    lower: - The lowerst number limit to return
    higher: - The highest number limit to return
    precision: - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: number clamped to the decimal digits defined by the precision

clamp_down(number, lower, higher, precision)
  clamp - clamp with precision to the given most significant decimal point. Floor is favored for the precision rounding.
  Parameters:
    number: - The floating point number
    lower: - The lowerst number limit to return
    higher: - The highest number limit to return
    precision: - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: number clamped to the decimal digits defined by the precision
Release Notes:
v4
Add overloads that support series precision with none simple parameter
Release Notes:
v5
Add example for quantity calculation
Release Notes:
v6
Use Method syntax for a more intuitive interface!
Release Notes:
v7
Add "simple" overloads for the number itself.
Release Notes:
v8
(minor) use this as an indication for the "self type" instance
Release Notes:
v9

Added:
method floor_to_mintick(this)
  floor_to_mintick - floor with precision to the mintick most significant decimal point
  Namespace types: series float, simple float, input float, const float
  Parameters:
    this (float): - The floating point number
  Returns: - number floored to the decimal digits defined by the mintick precision

method ceil_to_mintick(this)
  ceil_to_mintick - ceil with precision to the mintick most significant decimal point
  Namespace types: series float, simple float, input float, const float
  Parameters:
    this (float): - The floating point number
  Returns: - number ceiled to the decimal digits defined by the mintick precision

Updated:
method num_of_non_decimal_digits(this)
  num_of_non_decimal_digits - The number of the most significant digits on the left of the dot
  Namespace types: series float, simple float, input float, const float
  Parameters:
    this (float): - The floating point number
  Returns: - number of non digits

method num_of_decimal_digits(this)
  num_of_decimal_digits - The number of the most significant digits on the right of the dot
  Namespace types: series float, simple float, input float, const float
  Parameters:
    this (float): - The floating point number
  Returns: - number of decimal digits

method floor(this, precision)
  floor - floor with precision to the given most significant decimal point
  Namespace types: simple float, input float, const float
  Parameters:
    this (simple float): - The floating point number
    precision (int): - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: - number floored to the decimal digits defined by the precision

method ceil(this, precision)
  ceil - ceil with precision to the given most significant decimal point
  Namespace types: simple float, input float, const float
  Parameters:
    this (simple float): - The floating point number
    precision (int): - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: - number ceiled to the decimal digits defined by the precision

method clamp_up(this, lower, higher, precision)
  clamp - clamp with precision to the given most significant decimal point. Ceil is favored for the precision rounding.
  Namespace types: simple float, input float, const float
  Parameters:
    this (simple float): - The floating point number
    lower (float): - The lowerst number limit to return
    higher (float): - The highest number limit to return
    precision (int): - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: - number clamped to the decimal digits defined by the precision

method clamp_down(this, lower, higher, precision)
  clamp_down - clamp with precision to the given most significant decimal point. Floor is favored for the precision rounding.
  Namespace types: simple float, input float, const float
  Parameters:
    this (simple float): - The floating point number
    lower (float): - The lowerst number limit to return
    higher (float): - The highest number limit to return
    precision (int): - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: - number clamped to the decimal digits defined by the precision

method clamp(this, lower, higher, precision)
  clamp - clamp with precision to the given most significant decimal point. No specific direction is favored for the precision rounding.
  Namespace types: simple float, input float, const float
  Parameters:
    this (simple float): - The floating point number
    lower (float): - The lowerst number limit to return
    higher (float): - The highest number limit to return
    precision (int): - The number of decimal places a.k.a the most significant decimal digit - e.g precision 2 will produce 0.01 minimum change
  Returns: - number clamped to the decimal digits defined by the precision

If you're interested in exploring and discovering other high quality free strategies come join us in Discord: discord.gg/2wkm9QqSuY
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.

Disclaimer

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.