FMZ PINE Сценарий Doc

Автор:Маленькие мечты, Создано: 2022-04-28 16:05:05, Обновлено: 2024-02-27 16:56:23

это barmerge.gaps_off.

  • lookahead(barmerge_lookahead) Стратегия слияния для запрошенного положения данных. Возможные значения: barmerge.lookahead_on, barmerge.lookahead_off. Значение по умолчанию barmerge.lookahead_off начиная с версии 3. Обратите внимание, что поведение одинаково в режиме реального времени и отличается только в истории.
  • ignore_invalid_symbol(const bool) Опциональный аргумент. Определяет поведение функции, если указанный символ не найден: если false, скрипт остановится и вернет ошибку во время выполнения; если true, функция вернет na и исполнение продолжится. Значение по умолчанию false.
  • currency(простая строка) Валюта, в которую должны быть конвертированы валютные значения символа (например, OHLC).expressionзатем рассчитывается на основе конвертированных значений. Используемые курсы конвертации основаны на суточных курсах пары FX_IDC предыдущего дня (относительно строки, в которой выполняется расчет). Необязательно. По умолчанию syminfo.currency. Возможные значения: трехбуквенная строка с кодом валюты в формате ISO 4217 (например, USD) или одна из констант в валюте.* namespace, например currency.USD.

ПримечанияКод PineScript, использующий эту функцию, может рассчитывать по-разному на историю и данные реального времени. Если вы хотите указать дополнительные аргументы для запрошенного символа, например, сеанс или тип настройки, вы можете использоватьticker.new() функция. Невозможно передать распределение этой функции с помощью переменной ticker.ticker.new переменная или представление строки тикера, например AAPL+MSFT*TSLA. На данный момент в сценарии может присутствовать до 40 запросов. Обратите внимание, что использование этой переменной/функции может привести к переокраске индикатора. Допустимые значения аргумента разрешения: 1S, 5S, 15S, 30S - для интервалов в секунду (разрешение графика должно быть меньше или равным требуемому разрешению) от 1 до 1440 для минут от 1D до 365D в течение дней от 1 до 52 Вт в течение нескольких недель от 1M до 12M в течение месяцевСм. также syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on

str

str.contains

Возвращается истинным, еслиsourceстрока содержитstrподстрока, в противном случае ложная.

str.contains(source, str)

Пример

// If the current chart is a continuous futures chart, e.g "BTC1!", then the function will return true, false otherwise.
var isFutures = str.contains(syminfo.tickerid, "!")
plot(isFutures ? 1 : 0)

ВозвращениеПравда, еслиstrбыл найден вsourceСтрока, ложная в противном случае.

Аргументы

  • source(серийный ряд) Источник строки.
  • str(Серьезная строка) Подстрока для поиска.

См. также str.pos str.match

str.endswith

Возвращается истинным, еслиsourceстрока заканчивается подстрокой, указанной вstrВ противном случае, ложь.

str.endswith(source, str)

ВозвращениеПравда, еслиsourceстрока заканчивается подстрокой, указанной вstrВ противном случае, ложь.

Аргументы

  • source(серийный ряд) Источник строки.
  • str(Серьезная строка) Подстрока для поиска.

См. также str.startswith

str.startswith

Возвращается истинным, еслиsourceстрока начинается с подстроки, указанной вstrВ противном случае, ложь.

str.startswith(source, str)

ВозвращениеПравда, еслиsourceстрока начинается с подстроки, указанной вstrВ противном случае, ложь.

Аргументы

  • source(серийный ряд) Источник строки.
  • str(Серьезная строка) Подстрока для поиска.

См. также str.endswith

str.substring

Возвращает новую строку, которая является подстрокойsourceПодстрока начинается с символа в индексе, указанномbegin_posи распространяется до end_pos - 1source string.

str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)

Пример

sym= "EXCHANGE_NAME:SYMBOL_NAME"
pos = str.pos(sym, ":")        // Get position of ":" character
tkr= str.substring(sym, pos+1) // "SYMBOL_NAME"
if barstate.islastconfirmedhistory
    runtime.log(tkr)

ВозвращениеПодстрока извлечена из исходной строки.

Аргументы

  • source(серия строки) Источниковая строка, из которой извлечь подстроку.
  • begin_pos(series int) Начальное положение извлеченной подстроки.
  • end_pos(series int) Конечная позиция. Она исключительна (экстрагируемая строка НЕ включает в себя этот знак позицииs).source string.

ПримечанияИндексация строк начинается с 0. Еслиbegin_posравнаend_pos, функция возвращает пустую строку.

См. также str.contains str.pos str.match

str.tonumber

str.tonumber(string)

ВозвращениеПлавающая версия строки, если она содержит действительный номер, а если нет.

Аргументы

  • string(серия строки) Струнное представление int или float.

str.format

Преобразует строку форматирования и value (s) в форматированную строку. Строка форматирования может содержать буквальный текст и один запятой в запятой {} для каждого значения, которое должно быть отформатировано. Каждый запятой состоит из индекса требуемого аргумента (начиная с 0), который заменит его, и дополнительного спецификатора формата. Индекс представляет положение этого аргумента в списке аргументов str.format.

str.format(formatString, arg0, arg1, ...)

Пример

// The format specifier inside the curly braces accepts certain modifiers:
// - Specify the number of decimals to display:
s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3
runtime.log(s1)

// - Round a float value to an integer:
s2 = str.format("{0,number,integer}", 1.34) // returns: 1
runtime.log(s2)

// - Display a number in currency:
s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34
runtime.log(s3)

// - Display a number as a percentage:
s4 = str.format("{0,number,percent}", 0.5) // returns: 50%
runtime.log(s4)

// EXAMPLES WITH SEVERAL ARGUMENTS
// returns: Number 1 is not equal to 4
s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4)
runtime.log(s5)

// returns: 1.34 != 1.3
s6 = str.format("{0} != {0, number, #.#}", 1.34)
runtime.log(s6)

// returns: 1 is equal to 1, but 2 is equal to 2
s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52)
runtime.log(s7)

// returns: The cash turnover amounted to $1,340,000.00
s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000)
runtime.log(s8)

// returns: Expected return is 10% - 20%
s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2)
runtime.log(s9)

ВозвращениеФорматированная строка.

Аргументы

  • formatString(Серьезная строка) Формат строки.
  • arg0, arg1, ...(серия int/float/bool/string/na/int[]/float[]/bool[]/string[]) Значения для форматирования.

ПримечанияНапример, ab {0} de и ab } de являются действительными шаблонами, но ab {0} de, ab } de и { не являются.

str.length

Возвращает целое число, соответствующее количеству символов в этой строке.

str.length(string)

ВозвращениеКоличество символов в исходной строке.

Аргументы

  • string(серийный ряд) Источник строки.

str.lower

Возвращает новую строку со всеми буквами, преобразованными в малые буквы.

str.lower(source)

ВозвращениеНовая строка со всеми буквами, преобразованными в малые буквы.

Аргументы

  • source(Серьезная строка) Строка для преобразования.

См. также str.upper

str.upper

Возвращает новую строку со всеми буквами, преобразованными в заглавные буквы.

str.upper(source)

ВозвращениеНовая строка со всеми буквами, преобразованными в большие буквы.

Аргументы

  • source(Серьезная строка) Строка для преобразования.

См. также str.lower

str.match

Возвращает новую подстрокуsourceстрока, если она совпадает сregexрегулярное выражение, на иначе.

str.match(source, regex) 

Пример

s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!")

// finding first substring that matches regular expression "[\w]+:[\w]+"
var string tickerid = str.match(s, "[\\w]+:[\\w]+")

if barstate.islastconfirmedhistory
    runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"

ВозвращениеНовая подстрокаsourceстрока, если она совпадает сregexрегулярное выражение, на иначе.

Аргументы

  • source(серийный ряд) Источник строки.
  • regex(Серьезная строка) Регулярное выражение, к которому эта строка должна соответствовать.

ПримечанияФункция возвращает первый случай регулярного выражения вsourceСтруна. Символ вregexstring необходимо избежать с дополнительной обратной строкой, например, \d означает регулярное выражение \d.

См. также str.contains str.substring

str.pos

Возвращает положение первого появленияstrСтрока вsourceСтрелка, на иначе.

str.pos(source, str)

ВозвращениеПоложениеstrСтрока вsource string.

Аргументы

  • source(серийный ряд) Источник строки.
  • str(Серьезная строка) Подстрока для поиска.

ПримечанияИндексация струн начинается с 0.

См. также str.contains str.match str.substring

str.replace

Возвращает новую строку с N + 1 явлениемtargetстрока и предыдущее появлениеtargetстрока замененаreplacementстрока, где N указано вoccurrence. N - это индекс соответствия целевой строки, которую следует заменить в исходной строке.

str.replace(source, target, replacement, occurrence)

Пример

var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"

// Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string
var newSource = str.replace(source, "EXCHANGE1",  "EXCHANGE2", 0)

if barstate.islastconfirmedhistory
    // Display "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"
    runtime.log(newSource)

ВозвращениеОбработанная нить.

Аргументы

  • source(серийный ряд) Источник строки.
  • target(серийная строка) Строка должна быть заменена.
  • replacement(серия строки) строка, которая должна быть вставлена вместо целевой строки.
  • occurrence(series int) Индекс соответствия появления целевой строки, которая должна быть заменена в исходной строке Индексирование начинается с 0 для первого соответствия.

См. также str.replace_all str.match

str.replace_all

Заменяет каждое появление целевой строки в исходной строке с заменой строки.

str.replace_all(source, target, replacement)

ВозвращениеОбработанная нить.

Аргументы

  • source(серийный ряд) Источник строки.
  • target(серийная строка) Строка должна быть заменена.
  • replacement(серия строки) Строка, подменяемая для каждого появления целевой строки.

str.split

Разделяет строку на массив подструн и возвращает идентификатор массива.

str.split(string, separator)

ВозвращениеИдентификатор массива струн.

Аргументы

  • string(серийный ряд) Источник строки.
  • separator(Серьезная строка) Строка, отделяющая каждую подстроку.

str.tostring

str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)

ВозвращениеСтрунное представлениеvalueСпор. Еслиvalueаргумент - это строка, он возвращается таким, какой он есть. Когдаvalueявляется na, функция возвращает строку NaN.

Аргументы

  • value(series int/float/bool/string/int[]/float[]/bool[]/string[]) Значение или идентификатор массива, элементы которого конвертируются в строку.
  • format(серия строки) Формат строки. Принимает эти формат.* константы: format.mintick, format.percent, format.volume. Необязательно. Значение по умолчанию #.###########.

ПримечанияФорматирование значений плавающих также округляет эти значения при необходимости, например, str.tostring ((3.99, #) вернет 4. Для отображения нулей, используйте 0 вместо #. При использовании format.mintick значение будет округлено до ближайшего числа, которое можно разделить на syminfo.mintick без остатка. Если аргумент x является строкой, то будет возвращено то же значение строки. Аргументы типа Bool возвращают true или false. Когда x равен na, функция возвращает NaN.

цвет

color.new

Цвет функции применяет указанную прозрачность к заданному цвету.

color.new(color, transp)

Пример

plot(close, color=color.new(color.red, 50))

ВозвращениеЦвет с определенной прозрачностью.

Аргументы

  • color(цвет серии)
  • transp(series int/float) Возможные значения от 0 (не прозрачные) до 100 (невидимые).

ПримечанияИспользование аргументов, которые не являются константами (например, simple, input или series) повлияет на цвета, отображаемые в вкладке Settings/Style скрипта.

color.rgb

Создает новый цвет с прозрачностью с использованием цветовой модели RGB.

color.rgb(red, green, blue, transp)

Пример

plot(close, color=color.rgb(255, 0, 0, 50))

ВозвращениеЦвет с определенной прозрачностью.

Аргументы

  • red(series int/float) компонент красного цвета. Возможные значения от 0 до 255.
  • green(series int/float) Компонент зеленого цвета. Возможные значения от 0 до 255.
  • blue(серия int/float) Синий цвет компонента. Возможные значения от 0 до 255.
  • transp(series int/float) Необязательно. Прозрачность цвета. Возможные значения от 0 (непрозрачные) до 100 (невидимые).

ПримечанияИспользование аргументов, которые не являются константами (например, simple, input или series) повлияет на цвета, отображаемые в вкладке Settings/Style скрипта.

время выполнения

runtime.debug

Напечатайте информацию о переменных на консоли.

языковые функции FMZ PINE,runtime.debug(value), только с аргументом.

runtime.log

Выходное содержание в журнале.

языковые функции FMZ PINE,runtime.log(1, 2, 3, close, high, ...), вы можете передать несколько аргументов.

runtime.error

При вызове, вызывает ошибку запуска с сообщением об ошибке, указанным вmessage argument.

runtime.error(message)

Аргументысообщение (серийная строка) сообщение об ошибке.

ввод

ввод

Добавляет вкладку вкладки в настройках сценария, которая позволяет предоставлять пользователям сценария параметры конфигурации. Эта функция автоматически обнаруживает тип аргумента, используемого для defval и использует соответствующий вводный виджет.

input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)

Пример

i_switch = input(true, "On/Off")     // Set true, the default is checked.
plot(i_switch ? open : na)

i_len = input(7, "Length")
i_src = input(close, "Source")       // Drop-down box, select close by default.
plot(ta.sma(i_src, i_len))

i_col = input(color.red, "Plot Color")
plot(close, color=i_col)

i_text = input("Hello!", "Message")
runtime.log(i_text)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const int/float/bool/string/color or source-type built-in) Определяет значение по умолчанию входной переменной, предложенной в вкладке Settings/Inputs скрипта, с которой пользователи скрипта могут изменить его.close, hlc3, и т.д.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.

ПримечанияРезультат входной функции всегда должен быть присвоен переменной, см. Примеры выше.

См. также input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

Добавляет вход в вкладку "Ввод" в настройках сценария, что позволяет предоставить пользователям сценария параметры конфигурации. Эта функция добавляет выпадающую панель, которая позволяет пользователю выбрать источник для расчета, например, close, hl2, и т. д. Если сценарий включает только один вызов input.source(), пользователь также может выбрать выход из другого индикатора на своем графике в качестве источника.

input.source(defval, title, tooltip, inline, group)

Пример

i_src = input.source(close, "Source")
plot(i_src)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(series int/float) Определяет значение по умолчанию переменной ввода, предложенной в вкладке Settings/Inputs скрипта, с которой пользователь может изменить его.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.

ПримечанияРезультат функции input.source всегда должен быть присвоен переменной, см. примеры выше.

См. также input.bool input.int input.float input.string input.timeframe input.color input

input.string

Добавляет вкладку вкладки в настройках сценария, которая позволяет предоставлять пользователям сценария параметры конфигурации.

input.string(defval, title, options, tooltip, inline, group, confirm)

Пример

i_text = input.string("Hello!", "Message")
runtime.log(i_text)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const string) Определяет значение по умолчанию переменной ввода, предложенной в вкладке Settings/Inputs скрипта, с которой пользователь может изменить его.optionsАргумент, значение должно быть одним из них.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • options(Список констант: [<тип>...]) Список вариантов на выбор.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, то пользователю будет предложено подтвердить значение ввода, прежде чем индикатор будет добавлен в график.

ПримечанияРезультат функции input.string всегда должен быть присвоен переменной, см. примеры выше.

См. также input.bool input.int input.float input.timeframe input.source input.color input

input.bool

Добавляет вкладку вкладки в настройках сценария, которая позволяет предоставлять пользователям сценария параметры конфигурации.

input.bool(defval, title, tooltip, inline, group, confirm)

Пример

i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const bool) Определяет значение по умолчанию переменной ввода, предложенной в вкладке Настройки/Вводы скрипта, с которой пользователь может изменить его.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, то пользователю будет предложено подтвердить значение ввода, прежде чем индикатор будет добавлен в график.

ПримечанияРезультат функции input.bool всегда должен быть присвоен переменной, см. примеры выше.

См. также input.int input.float input.string input.timeframe input.source input.color input

input.int

Добавляет вкладку вкладки в настройках сценария, которая позволяет предоставлять пользователям сценария параметры конфигурации.

input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm) 
input.int(defval, title, options, tooltip, inline, group, confirm)

Пример

i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1)
plot(ta.sma(close, i_len1))

i_len2 = input.int(10, "Length 2", options=[5, 10, 21])
plot(ta.sma(close, i_len2))

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const int) Определяет значение по умолчанию переменной ввода, предложенной в разделе Настройки/Вводы скрипта, с которого пользователи скрипта могут изменить его.optionsАргумент, значение должно быть одним из них.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • minval(const int) Минимальное возможное значение входной переменной.
  • maxval(const int) Максимально возможное значение входной переменной.
  • step(const int) значение шага, используемое для увеличения/уменьшения ввода. необязательно. по умолчанию 1.
  • options(двойник значений const int: [val1, val2,...]) Список опций для выбора из выпадающего меню, разделенных запятой и заключенных в квадратные скобки: [val1, val2,...].minval, maxvalиstepаргументы нельзя использовать.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, то пользователю будет предложено подтвердить значение ввода, прежде чем индикатор будет добавлен в график.

ПримечанияРезультатinput.intфункция всегда должна быть назначена переменной, см. Примеры выше.

См. также input.bool input.float input.string input.timeframe input.source input.color input

input.float

Добавляет вкладку вкладки в настройках сценария, которая позволяет предоставлять пользователям сценария параметры конфигурации.

input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)

Пример

i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02)
plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green)

i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14])
plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const int/float) Определяет значение по умолчанию переменной ввода, предложенной в вкладке Settings/Inputs скрипта, с которой пользователи скрипта могут изменить его.optionsАргумент, значение должно быть одним из них.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • minval(const int/float) Минимальное возможное значение входной переменной.
  • maxval(const int/float) Максимально возможное значение входной переменной.
  • step(const int/float) значение шага, используемое для увеличения/уменьшения входа. необязательно. по умолчанию 1.
  • options(двойник const int/float значений: [val1, val2,...]) Список опций для выбора из выпадающего меню, разделенных запятой и заключенных в квадратные скобки: [val1, val2,...].minval, maxvalиstepаргументы нельзя использовать.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, то пользователю будет предложено подтвердить значение ввода, прежде чем индикатор будет добавлен в график.

ПримечанияРезультат функции input.float всегда должен быть присвоен переменной, см. примеры выше.

См. также input.bool input.int input.string input.timeframe input.source input.color input

input.color

Добавляет вкладку вкладки в настройках сценария, которая позволяет предоставлять пользователям сценария параметры конфигурации.

input.color(defval, title, tooltip, inline, group, confirm) 

Пример

i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const color) Определяет значение по умолчанию переменной ввода, предложенной в вкладке Settings/Inputs скрипта, с которой пользователь может изменить его.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, то пользователю будет предложено подтвердить значение ввода, прежде чем индикатор будет добавлен в график.

ПримечанияРезультат функции input.color всегда должен быть присвоен переменной, см. примеры выше.

См. также input.bool input.int input.float input.string input.timeframe input.source input

input.price

Добавляет вкладку цены в вкладку Настройки/Вводы скрипта.confirm = trueактивирует интерактивный режим ввода, когда цена выбирается, нажав на график.

input.price(defval, title, tooltip, inline, group, confirm) 

Пример

price1 = input.price(title="Date", defval=42)
plot(price1)

price2 = input.price(54, title="Date")
plot(price2)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const int/float) Определяет значение по умолчанию переменной ввода, предложенной в вкладке Settings/Inputs скрипта, с которой пользователь может изменить его.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, режим интерактивного ввода включен, и выбор выполняется, нажав на график, когда индикатор добавляется в график, или выбирая индикатор и перемещая выбор после этого.

ПримечанияПри использовании интерактивного режима ввод времени может быть объединен с вводом цены, если оба вызова функции используют один и тот же аргумент для ихinline argument.

См. также input.bool input.int input.float input.string input.resolution input.source input.color input

input.timeframe

Добавляет вкладку в вкладку "Ввод" в настройках сценария, которая позволяет предоставлять пользователям сценария параметры конфигурации. Эта функция добавляет выпадающую панель, которая позволяет пользователю выбирать определенный временной промежуток через выборщик временных рамок и возвращает его в виде строки. Выборщик включает в себя пользовательские временные рамки, которые пользователь мог добавить с помощью выпадающего диаграммы "Время".

input.timeframe(defval, title, options, tooltip, inline, group, confirm)

Пример

i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security("syminfo.tickerid", i_res, close)
plot(s)

ВозвращениеЗначение входной переменной.

Аргументы

  • defval(const string) Определяет значение по умолчанию переменной ввода, предложенной в вкладке Settings/Inputs скрипта, с которой пользователь может изменить его.optionsАргумент, значение должно быть одним из них.
  • title(const string) Название ввода. Если не указано, название переменной используется в качестве названия ввода. Если название указано, но оно пустое, название будет пустой строкой.
  • options(тупл значений строки const: [val1, val2,...]) Список вариантов на выбор.
  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, то пользователю будет предложено подтвердить значение ввода, прежде чем индикатор будет добавлен в график.

ПримечанияРезультат функции input.timeframe всегда должен быть присвоен переменной, см. примеры выше.

См. также input.bool input.int input.float input.string input.source input.color input

input.integer

Недоступно.

input.resolution

Недоступно.

- Да.

ta.alma

Движущаяся средняя Арно Лего, использующая распределение Гаусса в качестве веса для скользящей средней.

ta.alma(series, length, offset, sigma) 
ta.alma(series, length, offset, sigma, floor) 

Пример

plot(ta.alma(close, 9, 0.85, 6))

// same on pine, but much less efficient
pine_alma(series, windowsize, offset, sigma) =>
    m = offset * (windowsize - 1)
    //m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true
    s = windowsize / sigma
    norm = 0.0
    sum = 0.0
    for i = 0 to windowsize - 1
        weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2)))
        norm := norm + weight
        sum := sum + series[windowsize - i - 1] * weight
    sum / norm
plot(pine_alma(close, 9, 0.85, 6))

ВозвращениеАрно Лего средний показатель.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • offset(простой int/float) Управляет компромиссом между плавностью (ближе к 1) и отзывчивостью (ближе к 0).
  • sigma(простая int/float) изменяет гладкость ALMA.
  • floor(простой bool) Опциональный аргумент. Указывает, будет ли расчет смещения выполнен до вычисления ALMA. Значение по умолчанию ложно.

См. также ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

Функция sma возвращает скользящую среднюю, то есть сумму последних y значений x, разделенную на y.

ta.sma(source, length) 

Пример

plot(ta.sma(close, 15))

// same on pine, but much less efficient
pine_sma(x, y) =>
    sum = 0.0
    for i = 0 to y - 1
        sum := sum + x[i] / y
    sum
plot(pine_sma(close, 15))

ВозвращениеПростая скользящая средняяsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

Коленчатый механизм (центр тяжести) - это индикатор, основанный на статистике и золотом коэффициенте Фибоначчи.

ta.cog(source, length) 

Пример

plot(ta.cog(close, 10))

// the same on pine
pine_cog(source, length) =>
    sum = math.sum(source, length)
    num = 0.0
    for i = 0 to length - 1
        price = source[i]
        num := num + price * (i + 1)
    -num / sum

plot(pine_cog(close, 10))

ВозвращениеЦентр тяжести.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.stoch

ta.dev

Измерение разницы между серией и ее тасма

ta.dev(source, length) 

Пример

plot(ta.dev(close, 10))

// the same on pine
pine_dev(source, length) =>
    mean = ta.sma(source, length)
    sum = 0.0
    for i = 0 to length - 1
        val = source[i]
        sum := sum + math.abs(val - mean)
    dev = sum/length
plot(pine_dev(close, 10))

ВозвращениеОтклонение отsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.variance ta.stdev

ta.stdev

ta.stdev(source, length, biased) 

Пример

plot(ta.stdev(close, 5))

//the same on pine
isZero(val, eps) => math.abs(val) <= eps

SUM(fst, snd) =>
    EPS = 1e-10
    res = fst + snd
    if isZero(res, EPS)
        res := 0
    else
        if not isZero(res, 1e-4)
            res := res
        else
            15

pine_stdev(src, length) =>
    avg = ta.sma(src, length)
    sumOfSquareDeviations = 0.0
    for i = 0 to length - 1
        sum = SUM(src[i], -avg)
        sumOfSquareDeviations := sumOfSquareDeviations + sum * sum

    stdev = math.sqrt(sumOfSquareDeviations / length)
plot(pine_stdev(close, 5))

ВозвращениеСтандартное отклонение.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • biased(series bool) Определяет, какую оценку следует использовать.

ПримечанияЕслиbiasedявляется истинным, функция будет рассчитываться с использованием предвзятой оценки всей популяции, если ложна - беспристрастная оценка выборки.

См. также ta.dev ta.variance

ta.ema

Функция EMA возвращает экспоненциально взвешенную скользящую среднюю величину. В EMA факторы взвешивания уменьшаются экспоненциально. Она рассчитывается с помощью формулы: EMA = альфа * источник + (1 - альфа) * EMA[1], где альфа = 2 / (длина + 1).

ta.ema(source, length) 

Пример

plot(ta.ema(close, 15))

//the same on pine
pine_ema(src, length) =>
    alpha = 2 / (length + 1)
    sum = 0.0
    sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_ema(close,15))

ВозвращениеЭкспоненциальная скользящая средняяsourceс альфа = 2 / (длина + 1).

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).

ПримечанияОбратите внимание, что использование этой переменной/функции может привести к переокраске индикатора.

См. также ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

Функция wma возвращает взвешенную скользящую среднююsourceдляlengthВ WMA весовые факторы уменьшаются в арифметической прогрессии.

ta.wma(source, length) 

Пример

plot(ta.wma(close, 15))

// same on pine, but much less efficient
pine_wma(x, y) =>
    norm = 0.0
    sum = 0.0
    for i = 0 to y - 1
        weight = (y - i) * y
        norm := norm + weight
        sum := sum + x[i] * weight
    sum / norm
plot(pine_wma(close, 15))

ВозвращениеВзвешенная скользящая средняяsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

Симметрично взвешенная скользящая средняя с фиксированной длиной: 4.

ta.swma(source)

Пример

plot(ta.swma(close))

// same on pine, but less efficient
pine_swma(x) =>
    x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))

ВозвращениеСимметрично взвешенная скользящая средняя.

Аргументы

  • source(серия int/float) Серия источника.

См. также ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

Функция hma возвращает скользящую среднюю Hull.

ta.hma(source, length)

Пример

src = input(defval=close, title="Source")
length = input(defval=9, title="Length")
hmaBuildIn = ta.hma(src, length)
plot(hmaBuildIn, title="Hull MA", color=#674EA7)

ВозвращениеДвижущаяся средняя корпуса источник для длина строк назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простой инт) Количество строк.

См. также ta.ema ta.rma ta.wma ta.vwma ta.sma

ta.rma

Движущаяся средняя, используемая в RSI. Это экспоненциально взвешенная скользящая средняя с альфой = 1 / длина.

ta.rma(source, length)

Пример

plot(ta.rma(close, 15))

//the same on pine
pine_rma(src, length) =>
  alpha = 1/length
  sum = 0.0
  sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_rma(close, 15))

ВозвращениеЭкспоненциальная скользящая средняяsourceс альфой = 1 /length.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).

См. также ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

Индекс относительной прочности.ta.rma()увеличения и уменьшенияsourceза последниеlength bars.

ta.rsi(source, length)

Пример

plot(ta.rsi(close, 7))

// same on pine, but less efficient
pine_rsi(x, y) => 
    u = math.max(x - x[1], 0) // upward ta.change
    d = math.max(x[1] - x, 0) // downward ta.change
    rs = ta.rma(u, y) / ta.rma(d, y)
    res = 100 - 100 / (1 + rs)
    res

plot(pine_rsi(close, 7))

ВозвращениеИндекс относительной силы.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).

См. также ta.rma

ta.tsi

Индекс истинной силы использует скользящие средние базовой динамики финансового инструмента.

ta.tsi(source, short_length, long_length)

ВозвращениеИндекс истинной прочности. Значение в диапазоне [-1, 1].

Аргументы

  • source(серия int/float) Серия источника.
  • short_length(простая инт) Короткая длина.
  • long_lengthДлинный.

ta.roc

Функция roc (скорость изменения), показывающая разницу между текущим значениемsourceи стоимостьsourceЭто было...lengthДни назад. Он рассчитывается по формуле: 100 * change ((src, length) / src[length].

ta.roc(source, length)

ВозвращениеУровень измененияsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.range

Возвращает разницу между минимальными и максимальными значениями в ряду.

ta.range(source, length)

ВозвращениеРазница между минимальными и максимальными значениями в серии.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.macd

MACD (движущаяся средняя конвергенция/дивергенция). Предполагается, что он показывает изменения в силе, направлении, импульсе и продолжительности тренда в цене акции.

ta.macd(source, fastlen, slowlen, siglen) 

Пример

[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
plot(macdLine, color=color.blue)
plot(signalLine, color=color.orange)
plot(histLine, color=color.red, style=plot.style_histogram)

Если вам нужно только одно значение, используйте заполнители _ вот так:Пример

[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)

ВозвращениеТюпл из трех рядов MACD: линия MACD, линия сигнала и линия гистограммы.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • fastlen(простой инт) аргумент быстрой длины.
  • slowlen(простой инт) аргумент медленной длины.
  • siglenАргумент длины сигнала.

См. также ta.sma ta.ema

ta.mode

Если есть несколько значений с одинаковой частотой, возвращается наименьшее значение.

ta.mode(source, length)

ВозвращениеРежим серии.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.median

Возвращает медиану ряда.

ta.median(source, length) 

ВозвращениеМедиана ряда.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.linreg

Линейная кривая регрессии. Линия, которая лучше всего соответствует ценам, указанным в течение определенного пользователем периода времени. Она рассчитывается с использованием метода наименьших квадратов. Результат этой функции рассчитывается с использованием формулы: linreg = пересечение + наклон * (длина - 1 - смещение), где пересечение и наклон являются значениями, рассчитанными с помощью метода наименьших квадратов наsource series.

ta.linreg(source, length, offset) 

ВозвращениеЛинейная кривая регрессии.

Аргументы

  • source(серия int/float) Серия источника.
  • length(серия int)
  • offset(простой инт) Оффсет.

ta.bb

Полосы Боллинджера - это инструмент технического анализа, определяемый набором линий, изображенных двумя стандартными отклонениями (положительными и отрицательными) от простой скользящей средней (SMA) цены ценной бумаги, но может быть скорректирована в соответствии с предпочтениями пользователя.

ta.bb(series, length, mult) 

Пример

[middle, upper, lower] = ta.bb(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)

// the same on pine
f_bb(src, length, mult) =>
    float basis = ta.sma(src, length)
    float dev = mult * ta.stdev(src, length)
    [basis, basis + dev, basis - dev]

[pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4)

plot(pineMiddle)
plot(pineUpper)
plot(pineLower)

ВозвращениеБолинджерские полосы.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • mult(простой инт/плавающий коэффициент) Стандартное отклонение.

См. также ta.sma ta.stdev ta.kc

ta.bbw

Ширина полосы Боллинджера - это разница между верхней и нижней полосами Боллинджера, разделенная на среднюю полосу.

ta.bbw(series, length, mult) 

Пример

plot(ta.bbw(close, 5, 4), color=color.yellow)

// the same on pine
f_bbw(src, length, mult) =>
    float basis = ta.sma(src, length)
    float dev = mult * ta.stdev(src, length)
    ((basis + dev) - (basis - dev)) / basis

plot(f_bbw(close, 5, 4))

ВозвращениеШирина полосы Боллинджера.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • mult(простой инт/плавающий коэффициент) Стандартное отклонение.

См. также ta.bb ta.sma ta.stdev

ta.cci

CCI (индекс товарного канала) рассчитывается как разница между типичной ценой товара и его простой скользящей средней, разделенная на среднее абсолютное отклонение от типичной цены.

ta.cci(source, length) 

ВозвращениеИндекс канала товара источника для длины строк назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.change

Разница между текущим значением и предыдущим значением, источник - источник [длина].

ta.change(source, length) 
ta.change(source) 

ВозвращениеРезультат вычитания.

Аргументы

  • source(серия int/float) Серия источника.
  • length(series int) смещение от текущей строки к предыдущей строке.

См. также ta.mom ta.cross

ta.mom

Импульсsourceцены иsourceценыlengthЭто просто разница: источник - источник [длина].

ta.mom(source, length) 

ВозвращениеИмпульсsourceцены иsourceценыlengthРаньше.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(series int) смещение от текущей строки к предыдущей строке.

См. также ta.change

ta.cmo

Оциллятор импульса Чанде рассчитывает разницу между суммой недавних прибылей и суммой недавних потерь, а затем делит результат на сумму всех движений цен за тот же период.

ta.cmo(series, length) 

Пример

plot(ta.cmo(close, 5), color=color.yellow)

// the same on pine
f_cmo(src, length) =>
    float mom = ta.change(src)
    float sm1 = math.sum((mom >= 0) ? mom : 0.0, length)
    float sm2 = math.sum((mom >= 0) ? 0.0 : -mom, length)
    100 * (sm1 - sm2) / (sm1 + sm2)

plot(f_cmo(close, 5))

ВозвращениеОсилятор импульса Чанде.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.rsi ta.stoch math.sum

ta.percentile_linear_interpolation (процентная_линейная_интерполяция)

Вычисляет процентиль с помощью метода линейной интерполяции между двумя ближайшими рядами.

ta.percentile_linear_interpolation(source, length, percentage) 

ВозвращениеП-й процентный пунктsourceсерии дляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки (источник).
  • length(серия int) Количество строк на спине (длина).
  • percentage(простой int/float) Процент, число в диапазоне от 0 до 100.

ПримечанияОбратите внимание, что процентиль, рассчитанный с помощью этого метода, НЕ всегда будет членом набора входных данных.

См. также ta.percentile_nearest_rank

ta.percentile_nearest_rank

Вычисляет процентиль с помощью метода ближайшего ранга.

ta.percentile_nearest_rank(source, length, percentage) 

ВозвращениеП-й процентный пунктsourceсерии дляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки (источник).
  • length(серия int) Количество строк bac

Больше

ПросящиеПочему стратегия Square Duplication не может быть реализована?

Маленькие мечтыХорошо, давайте проверим.

ПросящиеОптимизированный тренд-трекер

Маленькие мечтыЗдравствуйте, пожалуйста, какая именно стратегия?