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
Release Notes
v10 Updated documentation and used force_overlay for the label in the example
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.