ceArray =array.new
метод calcBB(array
bool newSample = bar_index % n == 0
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue ((sourceInput, newSample).calcBB ((множитель, newSample)
График ((образецОсновное значение,
可以看到使用关键字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
>=
До встречи
input.timeframe
timeframe.period
Создание кодового идентификатора запроса на сглаживание среднего значения строки 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(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(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
Если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
Еслиsource
Строкаstr
Конец подстроки, указанной в, возвращает true, иначе возвращает false.
str.endswith(source, str)
Возвращается значениеЕслиsource
Строкаstr
Завершение подстроки, указанной в, является true, иначе false.
Параметры
source
(series string) Источник строкиstr
(series string) Поисковая подстрока.До встречи
str.startswith
Еслиsource
Строкаstr
Начало подстроки, указанной в, возвращает true, иначе возвращает false.
str.startswith(source, str)
Возвращается значениеЕслиsource
Строкаstr
Начало подстроки, обозначенной в, должно быть true, в противном случае false.
Параметры
source
(series string) Источник строкиstr
(series string) Поисковая подстрока.До встречи
str.endswith
Это возвращает новую строку.source
Подразделение строки.begin_pos
Начинается с символа в указанном индексе и расширяется доsource
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(string)
Возвращается значениеЕсли содержит действительные цифры, то это тип пломбирования строки, в противном случае - na.
Параметры
string
(series string) форма представления строки int или float.Преобразование строки формата и значения в строку форматирования. Структура формата может содержать местоимение в больших скобках {} в текстовом тексте и каждом значении, которое нужно форматировать. Каждый местоимение включает в себя индекс, который заменит его необходимые параметры (начиная с 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[]) - значение, которое нужно отформатировать.ПримечанияВсе скобки в стиле, который не цитируется, должны быть сбалансированы. Например,
Возвращается целое число, соответствующее числу символов в этой строке.
str.length(string)
Возвращается значениеКоличество символов в исходной строке.
Параметры
string
(series string) Источник строкиВозвращает новую строку, в которой все буквы переведены в малолитражный текст.
str.lower(source)
Возвращается значениеВсе буквы были преобразованы в новые строки с маленькими буквами.
Параметры
source
(series string) Структура, которую нужно преобразовать.До встречи
str.upper
Возвращает новую строку, в которой все буквы переведены в большие буквы.
str.upper(source)
Возвращается значениеВсе буквы были преобразованы в новую строку с большим шрифтом.
Параметры
source
(series string) Структура, которую нужно преобразовать.До встречи
str.lower
Если совпадаетregex
Обычное выражение возвращаетsource
Новая подстрочка строки, иначе возвращается
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
(series string) Источник строкиregex
(series string) Регулярное выражение, соответствующее этой строке.ПримечанияФункция возвращаетсяsource
Обычное выражение, впервые появившееся в строке.regex
Символы обратной скобки \\ в строке требуют использования дополнительных обратных скобков для их преобразования, например,
До встречи
str.contains
str.substring
Возвращениеsource
Впервые в строкеstr
Положение строки, в противном случае возвращается
str.pos(source, str)
Возвращается значение
str
Строка вsource
Место в строке.
Параметры
source
(series string) Источник строкиstr
(series string) Поисковая подстрока.ПримечанияИндекс строки начинается с нуля.
До встречи
str.contains
str.match
str.substring
Возвращает новую строку, в которой 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(source, target, replacement)
Возвращается значениеСтрока обработана
Параметры
source
(series string) Источник строкиtarget
(series string) замененная строкаreplacement
(series string) Каждый раз, когда появляется целевая строка, она заменяетсяРазделяет строку на массив подстроки и возвращает ее ID массива.
str.split(string, separator)
Возвращается значениеИдентификатор строки.
Параметры
string
(series string) Источник строкиseparator
(series string) Строка, отделяющая каждую подстроку.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,
Функциональные цвета указывают прозрачность, применяемую к данному цвету.
color.new(color, transp)
Примеры
plot(close, color=color.new(color.red, 50))
Возвращается значениеУ них есть цвета с определенной прозрачностью.
Параметры
color
(цвет серии)transp
(series int/float) Доступные значения от 0 ((непрозрачные) до 100 ((невидимые)ПримечанияИспользование очень большого количества параметров (например, простых параметров, вводов или серий) влияет на цвета, которые отображаются на страницах с настройками / стилями.
Использование 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.ПримечанияИспользование очень большого количества параметров (например, простых параметров, вводов или серий) влияет на цвета, которые отображаются на страницах с настройками / стилями.
На консоли печатается информация о переменных.
Функция FMZ PINE имеет специальные функции.runtime.debug(value)
, есть только один параметр.
Вывод контента в журнале.
Функция FMZ PINE имеет специальные функции.runtime.log(1, 2, 3, close, high, ...)
, может передавать несколько параметров.
Призыв может привести к ошибкам при запуске и может привести к ошибкам в работе.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) Определяет значение встроенной последовательности плавучих точек, предлагаемой в сценарии на странице настройки / ввода плавообразующих элементов, которую пользователь сценария может изменить.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
Добавить вход в страницу входных ярлыков с настройками сценария, которая позволяет предоставить пользователю сценария параметры конфигурации. Эта функция добавляет раздвижное меню, позволяющее пользователю выбирать источник вычисления, например, 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(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(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(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,...];; не может использоваться при использовании этого параметра.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(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,...];; не используется при использовании этого параметра.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(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
Использование параметров настройки / ввода тегов для добавления ценового ввода в сценарий.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(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
Пока нет
Пока нет
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
Функция 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
Ког (англ. 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.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(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
Функция 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
Функция 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
Симметрическая свёрнутая перемещающаяся средняя с фиксированной длиной: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
Функция 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
Движущаяся средняя, используемая в 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
Индекс относительной интенсивности.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(source, short_length, long_length)
Возвращается значениеИндекс истинной силы и слабости. Значение в диапазоне [-1,1].
Параметры
source
(series int/float) Источники рядов.short_length
(simple int) короткая длина.long_length
(simple int) длина длинной строки.Функция 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(source, length)
Возвращается значениеРазница между минимальным и максимальным значениями в последовательности.
Параметры
source
(series int/float) значение серии для выполнения.length
(series int) Количество K строк (длина).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(source, length)
Возвращается значениеМодель последовательности.
Параметры
source
(series int/float) значение серии для выполнения.length
(series int) Количество K строк (длина).Возвращается среднее число в последовательности.
ta.median(source, length)
Возвращается значениеСреднее число последовательности.
Параметры
source
(series int/float) значение серии для выполнения.length
(series int) Количество K строк (длина).Линейная регрессионная кривая. Линия, наиболее соответствующая указанной цене в определенном пользователем периоде времени. Она рассчитывается с использованием минимального двоичного умножения. Результаты этой функции рассчитываются с помощью следующей формулы: linreg = intercept + slope * (length - 1 - offset), где используются intercept и slope.source
Значение наименьшего двойного умножения в ряду.
ta.linreg(source, length, offset)
Возвращается значениеЛинейная кривая регрессии
Параметры
source
(series int/float) Источники рядов.length
(серия int)offset
(simple int) смещениеБлинтовая лента. Блинтовая лента - это инструмент технического анализа, определяемый наборами линий, которые расходятся между двумя стандартными отклонениями (положительными и отрицательными) от простых движущихся средних (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 работает только с одной разновидностью.
Изобретатели количественного измерения - мечтыСпасибо за вашу поддержку. Документы будут продолжать совершенствоваться.
Изобретатели количественного измерения - мечтыДа, это так.
Изобретатели количественного измерения - мечтыПИНЕ-классовая библиотека шаблонов, параметры которой позволяют установить базовые адреса обменных пунктов.