Library "arsenal"
This library is a collection of weapons that will help us win the war against the market.

isNewbar(res, timezone) Checks if the res is in new bar at the current timeframe
  Parameters:
    res: - resolution of the bar to check if new
    timezone: - timezone of the resolution
  Returns: ch: - 1=true, 0=false
Release Notes: v2

Added:
toNumberString(number) Converts the number into a human readable format
  Parameters:
    number: - number in float
  Returns: string: - number in human readable format
Release Notes: v3

Added:
toPercentString(number) Converts the number into a human readable % format
  Parameters:
    number: - number in float
  Returns: string: - number in % that is readable to human
Release Notes: v4

Added:
show_alerts(title) Show an alert based on the bar's close
  Parameters:
    title: - title of the alert
  Returns: label

percentChange(prev, new) Converts % change
  Parameters:
    prev: - previous value
    new: - new value
  Returns: float: - % change in float
Release Notes: v5

Added:
showAlerts(title) Show an alert based on the bar's close
  Parameters:
    title: - title of the alert
  Returns: label

Removed:
show_alerts(title) Show an alert based on the bar's close
Release Notes: v6

added isNewbarSecurity -> to check if it's a new bar at this timeframe. This function is using the request security so be careful using this a lot.
Release Notes: v7

removed isnewbar security
Release Notes: v8

Added:
numberBeforeDecimalPoint(number) Counts the number of digits before decimal point
  Parameters:
    number: - in float
  Returns: number of digits

numberAfterDecimalPoint(number) Counts the number of digits after decimal point
  Parameters:
    number: - in float
  Returns: number of digits

roundToMinTick(number, minTick) Rounds number to same decimals of mintick
  Parameters:
    number: - in float, number to round
    minTick: - in float, decimals to use
  Returns: rounded number
Release Notes: v9

Added:
toPriceFormat(price) Rounds number to price format (same decimals as the current asset)
  Parameters:
    price: - the number to format
  Returns: formatted price

toPriceFormatString(price) Rounds number to price format (same decimals as the current asset)
  Parameters:
    price: - the number to format
  Returns: formatted price to string
Release Notes: v10

Added:
getAverageFromArray(array) Gets the average of all the values from the array
  Parameters:
    array: - in float
  Returns: the avarage mean

getHighestFromArray(array) Gets the highest of all the values from the array
  Parameters:
    array: - in float
  Returns: the highest value from the array

getLowestFromArray(array) Gets the lowest of all the values from the array
  Parameters:
    array: - in float
  Returns: the lowest value from the array

toNumberStringWithoutDecimal(number) Converts the number into a human readable format but also dropping decimals
  Parameters:
    number: - number in float
  Returns: string: - number in human readable format
Release Notes: v11
Release Notes: v12

Added:
timeframeToString(string) Converts timeframe into human readable string
  Parameters:
    string: - timeframe
  Returns: timeframe in human readable string
Release Notes: v13

Added:
getUnitLabel() Gets the unit of time based on current timeframe on chart
  Returns: unit of time
Release Notes: v14

Added:
getTimeUnit() Gets the unit of time
  Returns: unit of time

getTimeUnitLabel() Gets the label of unit of time based on current timeframe on chart
  Returns: unit of time

convertToTimeUnit(count) Converts to unit based on bar
  Parameters:
    count: - in float
  Returns: unit of time

Removed:
getUnitLabel() Gets the unit of time based on current timeframe on chart
Release Notes: v15

Added:
getTimeUnitLabelRaw() Gets the label of unit of time based on current timeframe on chart
  Returns: unit of time

multiplyTimeframe() Multiply the current chart's timeframe
  Returns: new timeframe
Release Notes: v16

Added:
normalize(src, min, max)
  Parameters:
    src: - source to normalize like macd histogram
    min: - minimum value
    max: - maximum value
  Returns: normalized value
Release Notes: v17

Added:
getTimeUnit_timeframe(_tf) Gets the unit of time
  Parameters:
    _tf: - timeframe in string
  Returns: unit of time

get_ms_timeframe_value(_tf) Gets the ms value equivalent of the given timeframe
  Parameters:
    _tf: - timeframe in string
  Returns: float in ms

get_ms_timeframes_ratio(tf_1, tf_2) Gets the ratio of 2 timeframes (tf1 / tf2)
  Parameters:
    tf_1: - timeframe in string
    tf_2: - timeframe in string
  Returns: ratio in float
Release Notes: v18
Release Notes: v19

Added:
fixTimeframe(_inputTF) Fix timeframe
  Parameters:
    _inputTF: - input timeframe

isSameTimeframe(_inputTF, _inputTF2) Compares if the2 input timeframes are the same...
  Parameters:
    _inputTF: - input timeframe
    _inputTF2: - input timeframe 2
Release Notes: v20
Release Notes: v21
Release Notes: v22

Added:
isEqualToCurrentTF(_inputTF) Is input timeframe equal to current timeframe
  Parameters:
    _inputTF: - input timeframe
Release Notes: v23

Added:
get_line_styles_string() Gets the line styles in string
  Returns: line styles in string

get_label_styles_symbol_string() Gets the symbol-label styles in string
  Returns: symbol-label styles in string

get_label_styles_text_string() Gets the text-label styles in string
  Returns: text-label styles in string

get_line_styles_value(type) Get's the equivalent value of line.style_x string
  Parameters:
    type: - line_style type in string
  Returns: corresponding line.style_x

get_label_styles_symbol_value(type) Get's the equivalent value of label.style_x symbol string
  Parameters:
    type: - label_style symbol type in string
  Returns: corresponding label.style_x symbol

get_label_styles_text_value(type) Get's the equivalent value of label.style_x text string
  Parameters:
    type: - label_style text type in string
  Returns: corresponding label.style_x text
Release Notes: v24

Added:
timetoexit_in_minutes(type) Get the time to exit from timenow + minutes
  Parameters:
    type: - minutes
  Returns: time to exit

timetoexit_in_hours(type) Get the time to exit from timenow + hours
  Parameters:
    type: - hours
  Returns: time to exit
Release Notes: v25
- fixed bug in v24 timetoexit_in_minutes (timenow to time)

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.