PINE LIBRARY

ToS

OVERVIEW

Contains methods for conversion to string of simple types int/float/bool/string/line/label/box.

- toS() - For bool/int/float works much the same as str.tostring() with some shorthand formatting options for int/float. For line/label/box displays their text and coordinates automatically formatting x coordinate as time or bar index.

- toShortString() - Converts a number to a short form using "k", "m", "bn" and "T" nominators. (e.g. `12,350` --> `12.4k`).
Supports some shorthand formatting options for int/float and time.

HOW TO USE

All toS() methods have the same parameters:
  Parameters:
    val (int): A float to be converted to string
    format (string): Format string, which depends on the value type
    nz (string): (string) A string used to represent na (na values are substituted with this string).

For toS(bool/int/float) format parameter works in the same way as `str.format()` (i.e. you can use same format strings as with `str.format()` with `{0}` as a placeholder for the value)

Some shorthand "format" options available:

--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "... <date> ... " in any place is substituted with "{0, date, dd.MM.YY}"
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
--- time ---
- "... <time> ... " in any place is substituted with "{0, time, HH.mm.ss}"
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"


For toS(line):
    format (string): (string) (Optional) Use `x1` as placeholder for `x1` and so on. E.g. default format is `"(x1, y1) - (x2, y2)"`.

For toS(label):
    format (string): (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` and `txt` for label's text. E.g. default format is `(x1, y1): "txt"` if ptint_text is true and `(x1, y1)` if false.

For toS(box):
    format (string): (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` etc. E.g. default format is "(x1, y1) - (x2, y2)".

For toS(color):
    format (string): (string) (Optional) Options are "HEX" (e.g. "#FFFFFF33") or "RGB" (e.g. "rgb(122,122,122,23)"). Default is "HEX".


LIST OF FUNCTIONS AND PARAMETERS

method toS(val, format, nz)
  Formats the `int/float` in the same way as `str.format()` (i.e. you can use same format strings as with
`str.format()` with `{0}` arg) with some shorthand "format" options:
```
--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "...<date>..." in angular brackets in any place is substituted with "{0, date, dd.MM.YY}"
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
--- time ---
- "...<time>..." in angular brackets in any place is substituted with "{0, time, HH.mm.ss}"
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"
```
  Namespace types: series int, simple int, input int, const int
  Parameters:
    val (int): A float to be converted to string
    format (string): Format string (e.g. "0.000" or "date : time" or "HH:mm")
    nz (string): (string) A string used to represent na (na values are substituted with this string).

method toS(val, format, nz)
  Formats the `int/float` in the same way as `str.format()` (i.e. you can use same format strings as with
`str.format()` with `{0}` arg) with some shorthand "format" options:
```
--- number ---
- "" => "{0}"
- "number" => "{0}"
- "0" => "{0, number, 0 }"
- "0.0" => "{0, number, 0.0 }"
- "0.00" => "{0, number, 0.00 }"
- "0.000" => "{0, number, 0.000 }"
- "0.0000" => "{0, number, 0.0000 }"
- "0.00000" => "{0, number, 0.00000 }"
- "0.000000" => "{0, number, 0.000000 }"
- "0.0000000" => "{0, number, 0.0000000}"
--- date ---
- "...<date>..." in angular brackets in any place is substituted with "{0, date, dd.MM.YY}"
- "date" => "{0, date, dd.MM.YY}"
- "date : time" => "{0, date, dd.MM.YY} : {0, time, HH.mm.ss}"
- "dd.MM" => "{0, date, dd:MM}"
- "dd" => "{0, date, dd}"
--- time ---
- "...<time>..." in angular brackets in any place is substituted with "{0, time, HH.mm.ss}"
- "time" => "{0, time, HH:mm:ss}"
- "HH:mm" => "{0, time, HH:mm}"
- "mm:ss" => "{0, time, mm:ss}"
- "date time" => "{0, date, dd.MM.YY\} {0, time, HH.mm.ss}"
- "date, time" => "{0, date, dd.MM.YY\}, {0, time, HH.mm.ss}"
- "date,time" => "{0, date, dd.MM.YY\},{0, time, HH.mm.ss}"
- "date\ntime" => "{0, date, dd.MM.YY\}\n{0, time, HH.mm.ss}"
```
  Namespace types: series float, simple float, input float, const float
  Parameters:
    val (float): A float to be converted to string
    format (string): Format string (e.g. "0.000" or "date : time" or "HH:mm")
    nz (string): (string) A string used to represent na (na values are substituted with this string).

method toS(val, format, nz)
  Formats `bool val` in the same way as `str.format()` (i.e. you can use same format strings as with
`str.format()` with `{0}` placeholder for the `val` argument).
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
    val (bool): (bool) Value to be formatted
    format (string)
    nz (string): (string) A string used to represent na (na values are substituted with this string).

method toS(val, format, nz)
  Formats `string val` in the same way as `str.format()` (i.e. you can use same format strings as with
`str.format()` with `{0}` placeholder for the `val` argument).
  Namespace types: series color, simple color, input color, const color
  Parameters:
    val (color)
    format (string): (string) "HEX" or "RGB"
    nz (string): (string) A string used to represent na (na values are substituted with this string).

method toS(val, format, nz)
  Formats `string val` in the same way as `str.format()` (i.e. you can use same format strings as with
`str.format()` with `{0}` placeholder for the `val` argument).
  Namespace types: series string, simple string, input string, const string
  Parameters:
    val (string)
    format (string)
    nz (string): (string) A string used to represent na (na values are substituted with this string).

method toS(ln, format, nz)
  Returns line's coordinates as a string (by default in "(x1, y1) - (x2, y2)" format, use `x1`, `y1`, `x2`,`y2` as placeholders in `format` string)). Automatically detects
whether the coordinates are in `xloc.bar_index` or `xloc.bar_time` and displays
accordingly (in _dd.MM.yy HH:mm:ss_ format)
  Namespace types: series line
  Parameters:
    ln (line)
    format (string): (string) (Optional) Use `x1` as placeholder for `x1` and so on. E.g. default format is `"(x1, y1) - (x2, y2)"`.
    nz (string): (string) (Optional) If `val` is `na` and `nz` is not `na` the value of `nz` param is returned instead.

method toS(lbl, format, nz, print_text)
  Returns label's coordinates and text as a string (by default in "(x, y): text = ...)" format; use `x1`, `y1`, `txt` as placeholders in `format` string))).
Automatically detects whether the coordinates are in `xloc.bar_index` or `xloc.bar_time` and displays.
accordingly (in _dd.MM.yy HH:mm:ss_ format)
  Namespace types: series label
  Parameters:
    lbl (label)
    format (string): (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` and `txt` for label's text. E.g. default format is `(x1, y1): "txt"`.
    nz (string): (string) A string used to represent na (na values are substituted with this string).
    print_text (bool)

method toS(bx, format, nz)
  Returns box's coordinates as a string (by default in "(x1, y1) - (x2, y2)" format)
  Namespace types: series box
  Parameters:
    bx (box)
    format (string): (string) (Optional) Use `x1` as placeholder for `x`, `y1 - for `y` etc. E.g. default format is "(x1, y1) - (x2, y2)".
    nz (string): (string) A string used to represent na (na values are substituted with this string).

method toShortString(this, decimals)
  Converts number to a short form using "k", "m", "bn" and "T" nominators. (e.g. `12,350` --> `12.4k`).
this (series float) Number to be converted to short format.
decimals (series int) Optional argument. Decimal places to which number will be rounded. When no argument
is supplied, rounding is to the nearest integer.
  Namespace types: series float, simple float, input float, const float
  Parameters:
    this (float)
    decimals (int)
stringstrings

Pineライブラリ

TradingViewの精神に則り、作者はPineコードをオープンソースライブラリとして公開し、コミュニティの他のPineプログラマーが再利用できるようにしました。作者に敬意を表します!このライブラリを個人的に、または他のオープンソースの投稿で使用することができますが、このコードを投稿で再利用するには、ハウスルールに準拠する必要があります。

免責事項