← До документації
LootX

Сповіщення зі скриптів

Зібрано: 2026-10-01 docs.lootx.trade
Основы

1Сповіщення зі скриптів

Як скрипт на LootScript повідомляє про спрацювання умови: alert() і alertcondition(), частота, увімкнення умов, куди приходить сповіщення і чого в скриптових сповіщень немає.

Скрипт може повідомити вам, що на живому ринку виконалася умова: пробій рівня, сплеск дельти, перетин ліній. Для цього в LootScript є дві функції — alert(), яку скрипт викликає сам, і alertcondition(), умова, яку ви вмикаєте вручну.

Спрацювання потрапляє в той самий конвеєр, що й інші сповіщення терміналу: запис у стрічці Оповіщення, звук, спливаюча плашка. Усе це рахується всередині терміналу на вашому комп’ютері: сповіщення працюють, поки термінал запущено і скрипт стоїть на графіку.

Два способи

alert() alertcondition()
Хто вирішує, чи дзвонити Код скрипта Ви: умову потрібно увімкнути
Коли спрацьовує За вибраною частотою, в тому числі на незакритому барі Лише на закритті бару, не частіше за раз на бар
Текст Будь-який рядок, можна зібрати з чисел Фіксований текст у коді
Де вмикається Завжди, поки скрипт на графіку Галочкою в консолі редактора

Якщо сповіщення потрібно завжди — використовуйте alert(). Якщо скрипт оголошує кілька сигналів, а дзвонити повинні тільки деякі — оголосіть їх через alertcondition() і увімкніть потрібні.

alert(): сповіщення з коду

TEXT
alert(message, freq = alert.freq_once_per_bar_close)

message — рядок. Числа в нього вставляють через str.tostring: "Цена " + str.tostring(close). Текст приходить у сповіщення як є, термінал його не перекладає і не править.

Частота задається константою:

Частота Коли спрацьовує
alert.freq_once_per_bar_close За замовчуванням. Один раз, коли бар закрився: при першому оновленні наступного бару, за значеннями закритого
alert.freq_once_per_bar У перший момент, коли виклик відбувся на цьому барі — навіть якщо бар ще формується. Далі мовчить до наступного бару
alert.freq_all На кожному перерахунку живого бару, де виклик спрацював

Частота рахується для кожного виклику alert() окремо: два виклики в одному скрипті не заглушують один одного. За один перерахунок скрипт відправляє не більше 16 сповіщень, решта відкидаються.

Приклад: сповіщення про сплеск дельти, щойно він з’явився на формуючомуся барі.

Loot
indicator("Всплеск дельты", overlay = false)
mult = input.float(3.0, "Во сколько раз больше обычного", minval = 1.5, step = 0.5)
base = ta.sma(math.abs(delta.value), 50)
spike = delta.available and math.abs(delta.value) > base * mult
plot(delta.value, "Дельта", style = plot.style_columns, color = delta.value >= 0 ? color.teal : color.red)
if spike {
    alert("Всплеск дельты: " + str.tostring(delta.value, "#.##"), freq = alert.freq_once_per_bar)
}

Там, де дельти немає, delta.available хибне й сповіщення не спрацьовує — детальніше про правило na в розділі Дані ринку.

alertcondition(): умова, яку вмикаєте ви

TEXT
alertcondition(condition, title, message)

condition — логічний вираз, title — назва умови, message — текст сповіщення. title і message — рядки прямо в коді, зібрати їх із чисел не можна. Без message у сповіщення піде title.

Умова дзвонить лише на закритті бару, не частіше разу за бар і тільки якщо вона увімкнена. За замовчуванням усі умови вимкнені.

Додайте скрипт на графік

В редакторі скриптів натисніть Додати на графік.

Відкрийте вкладку «Вивід»

У консолі під кодом виберіть вкладку Вивід. Там показані значення рядів на останньому барі і список «Умови алертів (alertcondition) — увімкніть потрібні».

Увімкніть умови

Позначте галочками умови, за якими хочете отримувати сповіщення. Якщо скрипт стоїть на кількох графіках, у кожного свій список.

Історія мовчить

Сповіщення дзвонять тільки на живих оновленнях. Перший розрахунок після завантаження графіка, після зміни інструмента і після підвантаження більш старшої історії вважається історією: на минулих барах ні alert(), ні alertcondition() не спрацьовують. Тому, додавши скрипт на графік, ви не отримаєте купу сповіщень за минуле.

Перевірити умову на історії можна візуально: намалюйте її міткою plotshape — вона покаже кожний бар, де сповіщення б спрацювало.

Куди приходить сповіщення

Кожне спрацювання:

  • Записується в стрічку «Оповіщення» з джерелом «Скриптовий алерт». У записі — текст повідомлення, ім’я скрипта і, для alertcondition(), назва умови. Стрічка відкривається окремим вікном або панеллю робочого простору; фільтр Джерела залишає в ній лише скриптові алерти.
  • Програє звук. Його вибирають в Налаштування → Сповіщення, блок «Звуки», рядок «Скриптовий алерт»: список звуків і перемикач, який вимикає звук.
  • Показує плашку «Ім’я скрипта: текст».
  • Підсвічує вкладку робочого простору, де стоїть графік зі скриптом.

Інші сповіщення терміналу описані на сторінці Алерти і рівні.

Журнал: log.*

Для налагодження умов є журнал. log.info, log.warning і log.error пишуть рядок у вкладку Журнал консолі редактора — туди ж, де Проблеми і Вивід.

  • Журнал, як і сповіщення, пишеться тільки на живих оновленнях — на історії мовчить.
  • На один бар — не більше 16 рядків, решта відкидаються.
  • Консоль зберігає останні 256 рядків. Більш старі витісняються, їх кількість показано як «витіснено рядків». Кнопка Очистити очищує журнал.
Loot
indicator("Проверка условия", overlay = true)
len = input.int(20, "Канал, баров", minval = 2, maxval = 500)
upper = ta.highest(high, len)[1]
plot(upper, "Верх канала", color = color.teal)
if barstate.islast {
    log.info("Закрытие " + str.tostring(close) + ", верх канала " + str.tostring(upper))
}

Приклад: пробій каналу

Скрипт малює верхню межу каналу, відзначає пробої трикутником і повідомляє про них двома способами: alert() дзвонить завжди, а умова «Пробой вверх» — тільки якщо ви її увімкнули.

Loot
indicator("Пробой канала с алертом", overlay = true)
len = input.int(20, "Канал, баров", minval = 2, maxval = 500)
upper = ta.highest(high, len)[1]
breakUp = ta.crossover(close, upper)
plot(upper, "Верх канала", color = color.teal)
plotshape(breakUp, "Пробой", style = shape.triangleup, location = location.belowbar, color = color.teal, size = size.small)
if breakUp {
    alert("Пробой вверх, цена " + str.tostring(close), alert.freq_once_per_bar_close)
}
alertcondition(breakUp, "Пробой вверх", "Цена закрылась выше канала")

Межа береться зі зсувом [1] — по попередніх барах, інакше поточний максимум завжди був би всередині каналу. Частота freq_once_per_bar_close означає, що сповіщення прийде після закриття бару над каналом, а трикутник на графіку залишиться саме там, де сповіщення пролунало. У реальному скрипті зазвичай лишають один із двох способів — тут обидва для порівняння.

Далі

https://docs.lootx.trade/uk/loot/alerts