В процессе загрузки ресурсов... загрузка...

FMZ PINE Script документация

Автор:Изобретатели количественного измерения - мечты, Создано: 2022-05-06 14:27:06, Обновлено: 2024-10-12 15:27:04

ceArray =array.new(образцыВвод) метод maintainQueue(array srcArray, значение плавания, bool takeSample = true) => если взятьПробу srcArray.push ((значение) srcArray.shift (() srcArray

метод calcBB(array srcArray, float mult, bool calculate = true) => среднее значение var = na var float dev = na если вычислить mean:= srcArray.avg() dev:= srcArray.stdev() * много [средний, средний + dev, средний - dev]

bool newSample = bar_index % n == 0

[sampleMean, highBand, lowBand] = sourceArray.maintainQueue ((sourceInput, newSample).calcBB ((множитель, newSample)

График ((образецОсновное значение, Основная , цвет.оранжевый) График ((высокая полоса, Верхняя , цвет.вас) Lower, Lower, Lower, Lower, Lowercolor.red)


可以看到使用关键字method声明的用户自定义方法:maintainQueue、calcBB的参数列表中第一个参数都是```array<float>```类型。表示该method是```array<float>```类型变量的方法,所以可以看到调用以下代码来计算布林指标。

```pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)

Methods перезагрузить

Пользователь-определённый метод может перекрывать и перезагружать существующие встроенные методы и пользователь-определённые методы с одинаковыми идентификаторами. Эта функция позволяет пользователю определять несколько случаев, связанных с различными параметровыми подписями, под одним и тем же именем метода. В качестве простого примера предположим, что мы хотим определить тип метода для идентификации переменных. Поскольку мы должны четко указать тип объекта, связанного с пользователь-определённым методом, нам необходимо перезагрузить тип определения для каждого типа, который мы хотим, чтобы он был идентифицирован. Ниже мы определили метод getType (((), который возвращает форму строчного выражения типа переменного и имеет пять основных типов перезагрузки:

//@version=5
indicator("Type Inspection")

// @function   Identifies an object's type.
// @param this Object to inspect.
// @returns    (string) A string representation of the type.
method getType(int this) =>
    na(this) ? "int(na)" : "int"

method getType(float this) =>
    na(this) ? "float(na)" : "float"

method getType(bool this) =>
    na(this) ? "bool(na)" : "bool"

method getType(color this) =>
    na(this) ? "color(na)" : "color"

method getType(string this) =>
    na(this) ? "string(na)" : "string"

a = 1             // a.getType(): float
b = 1.0           // b.getType(): float
c = true          // c.getType(): bool
d = color.white   // d.getType(): string(na)
e = "1"           // e.getType(): string

runtime.log("a.getType():", a.getType())
runtime.log("b.getType():", b.getType())
runtime.log("c.getType():", c.getType())
runtime.log("d.getType():", d.getType())
runtime.log("e.getType():", e.getType())
runtime.error("stop")

Основные типы определяются для каждой переменнойgetType()Какой тип перезагрузки будет использоваться. В FMZ-платформе, поскольку сценарий PINE реализован в языке Javascript, числовые типы определяются как флотирующие данные (float).

Встроенные функции

При вызове функции можно передавать параметры, указывать значения имен параметров, вносить переменные непосредственно в соответствующее место параметров, а также поддерживать смешанное использование.

plot(close, title="test plot")     // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"

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

// plot(close, title="test", color.red)    // 虽然plot第三个参数是颜色值,但是这样写就会报错
plot(close, title="test", color=color.red) // 正确写法
plot(close, "test", color.red)             // 正确写法

сроки

время.в_секундах

Это будет переданоtimeframeВременные циклы параметров преобразуются в секунды.

timeframe.in_seconds(timeframe)

Примеры

// Get chart timeframe:
i_tf = input.timeframe("1D")

// Convert timeframe to the int value (number of seconds in 1 Day):
tf = timeframe.in_seconds(i_tf)

plot(tf)

Возвращается значение timeframeКоличество секунд в одной из K строк в интервале в интервале в интервале в интервале в интервале в интервале в интервале в интервале.

Параметры

  • timeframe(simple string) Период времени↑ опциональный↑ по умолчанию timeframe.period↑

ПримечанияДляtimeframe>= 1M Функция, рассчитанная на 30.4167 (365/12) дней в месяце.

До встречи input.timeframe timeframe.period

тикер

ticker.heikinashi

Создание кодового идентификатора запроса на сглаживание среднего значения строки K.

ticker.heikinashi(symbol)

Примеры

heikinashi_close = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)

heikinashi_aapl_60_close = request.security(ticker.heikinashi(syminfo.tickerid), "60", close)
plot(heikinashi_close)
plot(heikinashi_aapl_60_close)

Возвращается значение 股票代码的字符串值,可以提供给request.security函数。

Параметры

  • symbol(simple string) Идентификатор товарного кода.

До встречи syminfo.tickerid syminfo.ticker request.security

просьба

request.data

Запрос внешних данных.

request.data(url, attribute)

Примеры

/*backtest
start: 2024-09-01 16:00:00
end: 2024-10-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["RunMode",1,358374],["ZPrecision",0,358374]]
*/

var chart_data = "https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data"
spotPrice = request.data(chart_data, "$.spot_close_price")
futuresPrice = request.data(chart_data, "$.future_close_price")
diff = futuresPrice - spotPrice

plot(diff, "永续-现货差价")
plot(futuresPrice, "期货价格", overlay=true)
plot(spotPrice, "现货价格", overlay=true)

if diff > 80 and strategy.position_size >= 0
    runtime.log("diff > 80")
    strategy.entry("Enter Short", strategy.short)
if diff < 60 and strategy.position_size <= 0
    runtime.log("diff < 60")
    strategy.entry("Enter Short", strategy.long)

Возвращается значениеПараметрыattributeУказанная серия данных.

Параметры

  • url(simple string) URL запрошенного источника данных, формат ответа на источник данных должен соответствовать требованиям ((содержит как минимум свойства time、data):{"data": [], "schema": ["time", "data"]}‒ Обратите внимание на формат данных в примере:

    {
        "data": [
            [1720051200000, "{\"spot_close_price\" : 57050.01, \"future_close_price\" : 57045.9}"],
            [1720137600000, "{\"spot_close_price\" : 56628.79, \"future_close_price\" : 56604.9}"],
            // ...
        ],
        "schema": ["time", "data"]
    }
    
  • attribute(simple string) Указывает название свойства, возвращает нужную информацию; например:"$.spot_close_price"Использование$.Как префикс, имена свойств совпадают с свойствами в поле data в данных, которые были получены при запросе источника данных.

Проверка, если указаны ошибкиrequest.dataСовпадает ли промежуток времени запроса с промежутком времени настройки обратного измерения, если данные не будут запрошены в последовательности временного измерения, данные будут возвращаться с ошибкой.

В данном случае данные-данные данные запроса SQL-заявления:

WITH latest_data AS (
    SELECT 
        klines.spot_1d.Time AS time,
        CONCAT('{\"spot_close_price\" : ', klines.spot_1d.Close, ', \"future_close_price\" : ', klines.future_1d.Close, '}') AS data
    FROM 
        klines.spot_1d
    JOIN 
        klines.future_1d
    ON 
        klines.spot_1d.Time = klines.future_1d.Time
    WHERE
        klines.spot_1d.Symbol = 'btc_usdt'
    AND 
        klines.future_1d.Symbol = 'btc_usdt.swap'
    AND 
        klines.spot_1d.Exchange = 'Binance'
    AND 
        klines.future_1d.Exchange = 'Binance'
    ORDER BY 
        klines.spot_1d.Time DESC
    LIMIT 100
)
SELECT * FROM latest_data
ORDER BY time ASC;

Встречайте их на платформе FMZИсследование данныхЗапрос страницы, создание ссылки на данные, используемые в примереhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data

request.security

Второй вид/разрешение требуется.

request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency) 

Примеры

s = request.security(syminfo.tickerid, "D", close)   // 1 Day
plot(s)

expr = ta.sma(close, 10)
s1 = request.security(syminfo.tickerid, "240", expr) // 240 Minutes
plot(s1)

// To avoid difference in calculation on history/realtime you can request not latest values and use merge strategy flags as follows:
s2 = request.security(syminfo.tickerid, "D", close[1], barmerge.gaps_off, barmerge.lookahead_on)
plot(s2)
f() => [open, high]
[o, h] = request.security(syminfo.tickerid, "D", f())
[l, c] = request.security(syminfo.tickerid, "D", [low, close])
plot((o + h + l + c) / 4)

Возвращается значениеТребование серии

Параметры

  • symbol(simple string) Код товара.
  • timeframe(simple string) Временные циклы. Пустая строка будет интерпретироваться как текущий временной цикл на графике.
  • expression(series int/float/bool/color) можно вызвать из request.security и вернуть выражение. Оно может быть рядом или элементом, который может быть преобразован в ряд.
  • gaps(barmerge_gaps) Политика объединения запрошенных данных ((требует автоматического объединения данных с основными данными OHLC-серии)). Возможные значения: barmerge.gaps_on, barmerge.gaps_off。 barmerge.gaps_on - запрошенные данные объединены с возможными разрывами ((na-value) ─ barmerge.gaps_off - запрошенные данные непрерывно объединяются, все разрывы заполняются предыдущим последним существующим значением。
  • lookahead(barmerge_lookahead) Политика объединения запрошенных данных. Возможные значения: barmerge.lookahead_on, barmerge.lookahead_off. Начиная с версии 3, значение по умолчанию будет barmerge.lookahead_off.
  • ignore_invalid_symbol(const bool) опциональный параметр. Если указанный товар не найден, определяется действие функции: если false, сценарий остановится и вернется к ошибке при выполнении; если true, функция вернется к na и продолжит выполнение.
  • currency(simple string) конвертирует валютные значения (например, OHLC) в валюты, в которые конвертируется товар. Затем на основе конвертируемого значения рассчитывается выраженный курс курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса курса.

ПримечанияКод PineScript, использующий эту функцию, может выполнять различные вычисления на исторические записи и данные в реальном времени.Если вы хотите указать дополнительные параметры для запрашиваемого товара, например, временные интервалы или тип настройки, вы можете использовать эти параметры.您可以使用ticker.newФункция ∞. Невозможно передать погрешность этой функции с помощью переменной ticker.ticker.newФорма выражения строк для параметров или кодов акций, например, параметры AAPL+MSFT*TSLA;В настоящее время один сценарий может содержать до 40 вызовов request.security. Обратите внимание, что использование этой переменной/функции может привести к перечеркиванию показателя. Параметры разрешения позволяют: 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В случае, если строка является подстрокой, то она возвращает true, в противном случае возвращает false.

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)

Возвращается значениеЕсли вsourceНайти в строкеstr, то это true, иначе false.

Параметры

  • source(series string) Источник строки
  • str(series string) Поисковая подстрока.

До встречи str.pos str.match

str.endswith

ЕслиsourceСтрокаstrКонец подстроки, указанной в, возвращает true, иначе возвращает false.

str.endswith(source, str)

Возвращается значениеЕслиsourceСтрокаstrЗавершение подстроки, указанной в, является true, иначе false.

Параметры

  • source(series string) Источник строки
  • str(series string) Поисковая подстрока.

До встречи str.startswith

str.startswith

ЕслиsourceСтрокаstrНачало подстроки, указанной в, возвращает true, иначе возвращает false.

str.startswith(source, str)

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

Параметры

  • source(series string) Источник строки
  • str(series string) Поисковая подстрока.

До встречи str.endswith

str.substring

Это возвращает новую строку.sourceПодразделение строки.begin_posНачинается с символа в указанном индексе и расширяется доsourceend_pos - 1 .

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(series string) Извлечь из него исходную строку для подстроки.
  • begin_pos(series int) - начальное местоположение извлеченной подстроки. Оно является эксклюзивным (исключительное местоположение включает символы извлеченной подстроки).
  • end_pos(series int) окончание местоположения. Оно является эксклюзивным.sourceДлина строки.

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

До встречи str.contains str.pos str.match

str.tonumber

str.tonumber(string)

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

Параметры

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

str.format

Преобразование строки формата и значения в строку форматирования. Структура формата может содержать местоимение в больших скобках {} в текстовом тексте и каждом значении, которое нужно форматировать. Каждый местоимение включает в себя индекс, который заменит его необходимые параметры (начиная с 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(series string) Форматированная строка.
  • arg0, arg1, ...(series 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(series string) Источник строки

str.lower

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

str.lower(source)

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

Параметры

  • source(series string) Структура, которую нужно преобразовать.

До встречи str.upper

str.upper

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

str.upper(source)

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

Параметры

  • source(series string) Структура, которую нужно преобразовать.

До встречи str.lower

str.match

Если совпадаетregexОбычное выражение возвращаетsourceНовая подстрочка строки, иначе возвращается na.

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Обычное выражение, в противном случае na.

Параметры

  • source(series string) Источник строки
  • regex(series string) Регулярное выражение, соответствующее этой строке.

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

До встречи str.contains str.substring

str.pos

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

str.pos(source, str)

Возвращается значение strСтрока вsourceМесто в строке.

Параметры

  • source(series string) Источник строки
  • str(series string) Поисковая подстрока.

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

До встречи str.contains str.match str.substring

str.replace

Возвращает новую строку, в которой N + 1targetСтроки и предыдущие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 "EXCHANGE2:SYMBOL1 / EXCHANGE1:SYMBOL2"
    runtime.log(newSource)

Возвращается значениеСтрока обработана

Параметры

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

До встречи str.replace_all str.match

str.replace_all

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

str.replace_all(source, target, replacement)

Возвращается значениеСтрока обработана

Параметры

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

str.split

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

str.split(string, separator)

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

Параметры

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

str.tostring

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

Возвращается значение valueФорма, в которой параметры обозначаются строками. ЕслиvalueПараметр является строкой и возвращается как есть. КогдаvalueДля на функция возвращает строку NaN.

Параметры

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

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

цвет

color.new

Функциональные цвета указывают прозрачность, применяемую к данному цвету.

color.new(color, transp)

Примеры

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

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

Параметры

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

ПримечанияИспользование очень большого количества параметров (например, простых параметров, вводов или серий) влияет на цвета, которые отображаются на страницах с настройками / стилями.

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) Зелёный оттенок.
  • blue(series int/float) Синий тон. Возможные значения от 0 до 255.
  • transp(series int/float) опционально. Цвет прозрачен. Возможные значения от 0 до 100.

ПримечанияИспользование очень большого количества параметров (например, простых параметров, вводов или серий) влияет на цвета, которые отображаются на страницах с настройками / стилями.

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

runtime.debug

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

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

runtime.log

Вывод контента в журнале.

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

runtime.error

Призыв может привести к ошибкам при запуске и может привести к ошибкам в работе.messageОшибочные сообщения, указанные в параметрах.

runtime.error(message)

Параметрыmessage (series string) сообщение об ошибке.

ввод

ввод

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

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

Примеры

i_switch = input(true, "On/Off")     // 设置true,默认勾选
plot(i_switch ? open : na)

i_len = input(7, "Length")
i_src = input(close, "Source")       // 下拉框,默认选择close
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-ins) Определяет значение встроенной последовательности плавучих точек, предлагаемой в сценарии на странице настройки / ввода плавообразующих элементов, которую пользователь сценария может изменить.closehlc3И так далее.
  • 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) определяет значение встроенного параметра в сценарии, которое пользователь может изменить.
  • 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) Определяет параметры настройки / ввода параметров скрипта, в которых указано значение ввода, которое пользователь может изменить.optionsКогда параметры используются вместе, это значение должно быть одним из них.
  • title(const string) заголовок ввода. Если не указано, имя переменного используется в качестве заголовка ввода. Если указано заголовок, но заголовок пустой, название будет пустой строкой.
  • options(List of constants: [...]) Список вариантов для выбора.
  • 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) используется для увеличения/уменьшения значения длины шага ввода.
  • options(tuple of const int values: [val1, val2,...]) Список выбранных опций из меню, разделенный запятой и объединенный с помощью скоб: [val1, val2,...];; не может использоваться при использовании этого параметра.minvalmaxvalи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) определяет значение входа, предложенное на странице настройки / ввода входа скрипта, и может быть изменено пользователем скрипта.optionsКогда параметры используются вместе, это значение должно быть одним из них.
  • title(const string) заголовок ввода. Если не указано, имя переменного используется в качестве заголовка ввода. Если указано заголовок, но заголовок пустой, название будет пустой строкой.
  • minval(const int/float) Минимальное возможное значение входящей переменной.
  • maxval(const int/float) Максимально возможное значение входящей переменной.
  • step(const int/float) используется для увеличения/уменьшения значения длины шага ввода.
  • options(tuple of const int/float values: [val1, val2,...]) Список выбранных опций из меню, разделенный запятой и объединенный в скобки: [val1, val2,...];; не используется при использовании этого параметра.minvalmaxvalи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) определяет параметры настройки сценария / ввода параметров на странице тегов, где пользователь может изменить значение параметров.
  • 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) определяет значение вложения, предложенное на странице с настройками / вводом набора в сценарии, которое пользователь может изменить.
  • title(const string) заголовок ввода. Если не указано, имя переменного используется в качестве заголовка ввода. Если указано заголовок, но заголовок пустой, название будет пустой строкой.
  • tooltip(const string) Эта строка отображается пользователю, когда мышца стоит на значке инструментального предложения.
  • inline(const string) объединяет все входящие вызовы с использованием одного и того же параметра в одной строке. Не показывает строку, используемую в качестве параметра. Он используется только для идентификации входов, принадлежащих одной строке.
  • group(const string) Используйте одну и ту же строку параметров для создания заголовков над всеми вложениями. Эта строка также используется как текст заголовка.
  • confirm(const bool) Если true, включите режим интерактивного ввода и завершите выбор, нажав на график при добавлении показателя к графику, или выберите показатель и затем переместите выбор.

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

До встречи 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) Определяет параметры настройки / ввода параметров скрипта, в которых указано значение ввода, которое пользователь может изменить.optionsКогда параметры используются вместе, это значение должно быть одним из них.
  • title(const string) заголовок ввода. Если не указано, имя переменного используется в качестве заголовка ввода. Если указано заголовок, но заголовок пустой, название будет пустой строкой.
  • options(tuple of const string values: [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

Arnaud Legoux Движущаяся средняя. Она использует распределение Gauss как вес движущегося среднего.

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(series int/float) значение серии для выполнения.
  • length(series int) Количество K строк (длина).
  • offset(simple int/float) контролирует баланс между гладкостью (ближе к 1) и отзывчивостью (ближе к 0).
  • sigma(simple int/float) изменяет гладкость ALMA. Чем больше Sigma, тем гладче ALMA.
  • floor(simple 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))

Возвращается значение lengthК-линия возвращаетсяsourceПростые движущиеся средние.

Параметры

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

До встречи ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

Ког (англ. cog) - показатель, основанный на статистике и золотом Fibonacci-пропорции.

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(series int/float) значение серии для выполнения.
  • length(series int) Количество K строк (длина).

До встречи ta.stoch

ta.dev

衡量系列与其ta.sma之间的差异

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))

Возвращается значение lengthК-линия возвращаетсяsourceЯ не хочу, чтобы это происходило.

Параметры

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

До встречи 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(series int/float) значение серии для выполнения.
  • length(series int) Количество K строк (длина).
  • biased(series bool) определяет, какую оценку следует использовать.

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

До встречи ta.dev ta.variance

ta.ema

Функция ema возвращает индекс плюс взвешенный движущийся средний. В ema удельный вес уменьшается. Она рассчитывается с помощью формулы: EMA = alpha * source + (1 - alpha) * EMA[1], где alpha = 2 / (length + 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(series int/float) значение серии для выполнения.
  • length(simple int) Количество (length) K строк.

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

До встречи ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

Функция wma возвращаетlengthК-линияsourceВ 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))

Возвращается значение lengthК-линия возвращаетсяsourceВесовые движущиеся средние.

Параметры

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

До встречи ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

Симметрическая свёрнутая перемещающаяся средняя с фиксированной длиной:4. Вес: [1/6,2 / 6,2 / 6,1 / 6].

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(series int/float) Источники рядов.

До встречи ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

Функция hma возвращает HMA.

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(series int/float) значение серии для выполнения.
  • length(simple int) Количество K строк

До встречи 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И мы видим, что это не так.length

Параметры

  • source(series int/float) значение серии для выполнения.
  • length(simple int) Количество (length) K строк.

До встречи ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

Индекс относительной интенсивности.lengthК-линияsourceИзменения вверх и внизta.rma()Это было очень важно.

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))

Возвращается значениеОтносительно сильные и слабые показатели (RSI)

Параметры

  • source(series int/float) значение серии для выполнения.
  • length(simple int) Количество (length) K строк.

До встречи ta.rma

ta.tsi

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

ta.tsi(source, short_length, long_length)

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

Параметры

  • source(series int/float) Источники рядов.
  • short_length(simple int) короткая длина.
  • long_length(simple int) длина длинной строки.

ta.roc

Функция roc ((коэффициент изменения) показываетsourceУкажите значениеsourceНедавноlengthРазница между значениями. Вычисляется следующей формулой: 100 * change (src, length) / src (length).

ta.roc(source, length)

Возвращается значение lengthК-линия возвращаетсяsourceВ результате, в 2010 году

Параметры

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

ta.range

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

ta.range(source, length)

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

Параметры

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

ta.macd

MACD (англ. smooth asymmetric average) ‒ это показатель силы, направления, динамики и длительности движения цены на акции.

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(series int/float) значение серии для выполнения.
  • fastlen(simple int) Параметры короткой линии
  • slowlen(simple int) Параметры медленной длины.
  • siglen(simple int) Параметры длины сигнала.

До встречи ta.sma ta.ema

ta.mode

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

ta.mode(source, length)

Возвращается значениеМодель последовательности.

Параметры

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

ta.median

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

ta.median(source, length) 

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

Параметры

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

ta.linreg

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

ta.linreg(source, length, offset) 

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

Параметры

  • source(series int/float) Источники рядов.
  • length(серия int)
  • offset(simple int) смещение

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(series int/float) Серия для выполнения

Больше

ВуаоянКак можно работать с несколькими сделками одновременно?

Легкие облака.Пожалуйста, расскажите, может pine иметь больше транзакций, не так ли? Или перемещаться по транзакциям, как JS?

Лиза20231Спасибо за подробную документацию.

художественностьОго! Как этот скрипт pine использует на платформе симулятор okex?

художественностьЭто означает, что стратегию tradingview можно скопировать прямо на платформу изобретателя и использовать!

Изобретатели количественного измерения - мечтыЯзык PINE может выполнять только одноразовые стратегии, а многоразовые стратегии лучше всего использовать для написания дизайна в Python, JavaScript, C++.

Изобретатели количественного измерения - мечтыО, да, OKX особенный, их аналогичная среда и реальная среда имеют один и тот же адрес, только в другом месте есть разница.

Легкие облака.Не могу использовать okx анимационный диск.

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

Изобретатели количественного измерения - мечтыХорошо, спасибо за предложение, сообщите об этом по этому поводу.

Легкие облака.Я считаю, что лучше всего совмещать с JS, чтобы JS лучше адаптировался к различным способам торговли.

Тенденционный охотникЕсли вы хотите, чтобы вы были в курсе, что вы хотите, чтобы вы были в курсе, что вы хотите, чтобы вы были в курсе.

Изобретатели количественного измерения - мечтыНепристойность.

Легкие облака.Хорошо, спасибо, Джимми.

Изобретатели количественного измерения - мечтыЗдравствуйте, но на данный момент стратегия языка PINE работает только с одной разновидностью.

Изобретатели количественного измерения - мечтыСпасибо за вашу поддержку. Документы будут продолжать совершенствоваться.

Изобретатели количественного измерения - мечтыДа, это так.

Изобретатели количественного измерения - мечтыПИНЕ-классовая библиотека шаблонов, параметры которой позволяют установить базовые адреса обменных пунктов.