Теперь в оповещениях доступны сообщения с переменными значениями! В качестве переменных можно использовать: цены, значения индикаторов, время бара и другие. Когда оповещение сработает, вы получите актуальное значение переменной в сообщении о срабатывании.
Чтобы получить значение переменной, нужно использовать специальные плейсхолдеры, список которых представлен ниже. Плейсхолдеры указываются в диалоге создания и редактирования оповещения в том месте сообщения, в котором вы хотите получить соответствующее значение при срабатывании оповещения.
Например, вы можете создать оповещение на символ NASDAQ:AAPL и написать в сообщении:
{{exchange}}:{{ticker}}, Price = {{close}}, Volume = {{volume}}
Когда оповещение сработает, вы увидите те значения вместо плейсхолдеров, которые были на момент срабатывания.
Список доступных плейсхолдеров:
1. {{ticker}} — тикер символа, на который установлено оповещение (например, AAPL, BTCUSD).
2. {{exchange}} — биржа символа, на который установлено оповещение (например, NASDAQ, NYSE, MOEX). Обратите внимание, что для данных, которые идут с задержкой, название биржи будет оканчиваться на “_DL” или “_DLY”. Например, “NYMEX_DL”.
3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} — соответствующие значения на том баре, на котором произошло срабатывание. Не забывайте, что оповещения на индикаторы, объекты рисования и экзотические типы графиков зависят от резолюции, в то время как оповещения на цену всегда считаются на минутной резолюции. {{time}} — это время бара в часовом поясе UTC в формате yyyy-MM-ddTHH:mm:ssZ. Например, 2019-08-27T09:56:00Z. Остальные значения — числа с фиксированной точкой. Например, 1245.25.
4. {{timenow}} — точное время срабатывания, форматируется так же, как и время бара {{time}}. Указывается с точностью до секунд, независимо от выбранной резолюции.
5. {{plot_0}}, {{plot_1}}, … {{plot_19}} — соответствующие серии индикатора, на который установлено оповещение. Серии индикатора — это те значения, которые вы видите на графике. Например, у встроенного индикатора Объём есть две серии — Объём и Средняя по объёму. Вы можете создать оповещение на такой индикатор и написать в сообщении следующее:
Volume: {{plot_0}}, Volume average: {{plot_1}}
В момент срабатывания вы увидите соответствующие значения индикатора:
Обратите внимание, что плоты нумеруются, начиная с нуля.
Для скриптов, написанных на Pine Script, действуют те же правила. Серии считаются по их порядку вызова в коде. Список функций, серии которых могут использоваться в сообщениях оповещений:
- plot;
- plotshape;
- plotchar;
- plotarrow;
- plotbar;
- plotcandle.
Если аргумент series таких функций содержит булево значение, в сообщении оповещения будут подставлены значения 0 или 1. Имейте в виду, что некоторые функции — plotcandle и plotbar — выводят на график по 4 серии, и каждая из них будет учтена в механизме нумерации.
Однако такой способ обращения к плотам не всегда удобен. Чтобы облегчить эту задачу, мы добавили поддержку обращения к плотам по их названиям. Для этого нужно использовать плейсхолдер:
{{plot("Name")}}
Где Name — название серии.
Для встроенных индикаторов поддерживаются только те названия, которые используются в английской версии. В примере с индикатором объёма для обращения к сериям по их названиям вы бы указали в сообщении следующее:
Volume: {{plot("Volume")}}, Volume average: {{plot("Volume MA")}}
Аналогично и для Pine Script, но в случае скриптов для обращения к сериям нужно указывать название из аргумента title соответствующей функции (поддерживается для всех plot-функций, кроме plotcandle и plotbar), и язык уже не будет иметь значения. Если у вас нет доступа к коду, название можно увидеть в настройках стиля.
Например, чтобы обратиться к значениям такого скрипта:
//@version=4 study("My Script") plot(close, title="Series")
Укажите в сообщении оповещения:
{{plot("Series")}}
То же название отображается в настройках скрипта:
При использовании нескольких индикаторов в одном оповещении обратиться можно к значениям только первого из них — того, который указан в первом выпадающем списке. Например, в оповещении с такими настройками:
можно обратиться только к значениям MA. Чтобы обратиться к значениям скрипта “My Script”, его нужно выбрать в первом выпадающем списке.
Вы также можете указать новые плейсхолдеры в аргументе message функции alertcondition.
Например:
//@version=4 study("My Script") alertcondition(close>open, message="Price {{ticker}} = {{close}}")
Сообщение из аргумента автоматически подтянется в окно сообщения в диалоге создания оповещения, как это работает и сейчас.
Обратите внимание, что при создании оповещения с условием из функции alertcondition подстановка значений будет работать только для скриптов v4 и выше.
Значения из срабатываний можно использовать вместе с вебхуками, отправляя переменные значения из сообщения на нужные адреса. Это открывает ещё больше возможностей для тех, кто использует оповещения.