← Volver a la documentación
LootX

Errores de compilación y ejecución

Generado: 2026-10-01 docs.lootx.trade
Справочник

1Errores de compilación y ejecución

Todos los códigos LS que puede mostrar el Editor y el gráfico de LootScript: texto del mensaje, causa y solución, errores frecuentes con ejemplos, límites de ejecución y casos en los que en vez de error se obtiene na.

Cada mensaje del compilador y del ejecutor de LootScript empieza por un código del tipo LS2008. El código no cambia entre versiones ni depende del idioma de la interfaz, por eso conviene buscarlo: aquí están todos los códigos que puede mostrar el terminal, con el texto del mensaje, la causa y la forma de arreglarlo.

Los mensajes se muestran en ruso si la interfaz del terminal está en ruso, y en inglés en cualquier otro idioma. Primero están los errores que aparecen con más frecuencia, luego los errores de ejecución y la tabla completa.

Где видны ошибки

При компиляции. El Editor compila el script en cada pausa de escritura. Lo que encuentra aparece en la pestaña “Problemas” en la parte inferior del Editor: código, texto y posición como «Стр 6:6». Un doble clic en la línea lleva el cursor al lugar del error. En el encabezado del Editor se muestra el resultado: «ок · 12 мс», «предупреждений: 2» o «ошибок: 1».

При выполнении. Un script sin errores de compilación puede detenerse en algún bar: se acabó el presupuesto de operaciones, un índice salió de los límites de un array, el símbolo es desconocido. Entonces en la pestaña “Salida” aparecerá una línea «Script detenido: LS6004: …», y en la ventana del Probador de estrategias se verá la misma causa. Los demás scripts, paneles y el terminal siguen funcionando.

Las diagnósticas son de tres niveles:

Уровень Что значит Что с графиком
Ошибка Скрипт не собран No se añade al gráfico: «Un script con errores no se coloca en el gráfico — vea “Problemas”». Si el script ya estaba en los gráficos, permanece la versión anterior que funcionaba
Предупреждение Скрипт собран, но результат может обмануть: например, перерисуется на живом баре El script funciona
Сведение Скрипт собран, но какая-то его настройка ничего не делает El script funciona

Как устроены коды

Коды Этап О чём
LS0001–LS0009 Чтение текста Символы, строки, числа, цвета, директива #version
LS1000–LS1012 Разбор Скобки, блоки, порядок операторов, объявление скрипта
LS2000–LS2030 Типы и имена Неизвестные имена, типы, аргументы, na
LS3000–LS3033 Смысл программы ta.* в ветках, рекурсия, стратегии, библиотеки, request.security
LS4000–LS4009 Пределы компиляции Слишком много рядов, выводов, вызовов
LS5000–LS5013 Перерисовка и честность теста Значения, которые на истории выглядят иначе, чем вживую
LS6000–LS6036 Выполнение Бюджеты, индексы, коллекции, строки, объекты рисования
LS0999 Внутренний сбой Дефект компилятора — о нём нужно сообщить

Частые ошибки компиляции

LS1009 — нет объявления скрипта

«Нет объявления скрипта — начните с indicator(“Название”)». El primer operador del fichero debe ser indicator(...), strategy(...) o library(...). Esta misma ошибка aparece si la declaración existe pero hay algo escrito antes. Los comentarios y la directiva #version 1 no molestan.

Loot
// Так нельзя: объявление не первое
len = input.int(14, "Длина")
indicator("RSI")
Loot
indicator("RSI")
len = input.int(14, "Длина")

Una segunda declaración en el mismo fichero da LS1008: el script sólo puede tener una.

LS2002 — неизвестное имя

«Неизвестное имя «…» — проверьте написание или объявите его выше». Normalmente es una errata o una función sin su namespace: todas las funciones de indicadores están en ta, las matemáticas en math, los colores en color.

Loot
avg = sma(close, 20)
Loot
avg = ta.sma(close, 20)

La misma falla ocurre si se lee una variable antes de la línea donde se declara. La lista completa de nombres está en la Referencia de funciones.

LS2008 — сравнение с na

«Сравнение с na всегда ложно — используйте na(x)». Cualquier comparación con na, incluyendo == y !=, da false, por eso el compilador no permite esa escritura.

Loot
x = ta.sma(close, 50)
plot(x == na ? close : x)
Loot
x = ta.sma(close, 50)
plot(na(x) ? close : x)

Lo mismo se escribe más corto con ??: plot(x ?? close).

LS2014 — значение меняется от бара к бару там, где нужна постоянная

««…» в «…» требует значение не слабее input, а передано series — возьмите input.*(…) или литерал». La longitud de la ventana en ta.* debe conocerse antes del primer bar. Una longitud que se elige condicionalmente en cada bar no es válida.

Loot
len = close > open ? 10 : 20
avg = ta.sma(close, len)

Calcule ambas variantes y elija el resultado, no la longitud:

Loot
fast = ta.sma(close, 10)
slow = ta.sma(close, 20)
avg  = close > open ? fast : slow

Si la longitud debe fijarla el usuario, tómela de input.int(...).

LS3004 — вызов ta.* зависит от переменной из ветки

«Аргумент «…» нельзя вычислить вне ветки — вынесите вызов ta.* на верхний уровень». Las funciones ta.* recuerdan barras pasadas, por eso el compilador las evalúa en cada bar aunque la llamada esté dentro de un if. Si el argumento se declara solo dentro de la rama, en otras barras simplemente no existe.

Loot
var float avgBody = na
if close > open {
    body = close - open
    avgBody := ta.sma(body, 10)
}
Loot
body    = close - open
avgBody = ta.sma(body, 10)

LS2017, LS2007, LS1006 — строки, условия и сравнения

Estas tres errores comparten causa: LootScript no convierte tipos implícitamente.

Код Сообщение Как исправить
LS2017 «Строку нельзя складывать с числом (… + …) — используйте str.tostring(…)» "RSI " + str.tostring(r) en lugar de "RSI " + r
LS2007 «Условие должно быть bool, а здесь …» if volume > 0 en lugar de if volume — los números no son truthy
LS1006 «Сравнения не сцепляются — напишите a < b and b < c» low < close and close < high en lugar de low < close < high

LS2018 и LS2019 — имя уже занято

««…» уже объявлено в этой области» (LS2018) — la variable se declaró por segunda vez con =. Para cambiar su valor use :=.

Loot
level = high
level := low

««…» затеняет встроенное имя — выберите другое» (LS2019) — variable, función o tipo se llamaron igual que un series o función incorporada: close, time, hour, volume. Renombre, por ejemplo startHour en vez de hour. Los nombres de espacios como color o position pueden usarse como nombres de variable.

LS2004 и LS2005 — аргументы вызова

««…» ожидает … аргумент(ов), а передано …» (LS2004) и «У «…» нет параметра «…»» (LS2005). Compruebe la llamada con la firma en la Referencia: los nombres de parámetros se escriben exactamente como allí.

Loot
plot(close, colour = color.red)
Loot
plot(close, color = color.red)

LS3011 и LS5011 — стратегии

«strategy.* доступно только в strategy(…)» (LS3011): órdenes y estado de posición existen solo en un script declarado con strategy(...). Reemplace indicator("…") por strategy("…").

«Стратегия читает «…»: у стакана и ленты нет истории, бэктест был бы вымыслом» (LS5011): la estrategia se prueba sobre la historia, y book.* y tape.* no tienen historia — en cada bar pasado allí hay na.

Loot
strategy("Перекос стакана")
if book.imbalance(10) > 0.5 {
    strategy.entry("L", strategy.long)
}

Para historia del libro de órdenes existe el espacio depth: donde el libro está grabado, depth.* da valores en cada bar.

Loot
strategy("Перекос стакана")
if depth.imbalance(1.0) > 0.5 {
    strategy.entry("L", strategy.long)
}

LS5000–LS5006 — предупреждения о перерисовке

Estas advertencias no impiden que el script funcione. Indican que una línea en la historia se verá distinta de como se vio en vivo:

  • LS5001 — llega al gráfico un valor que solo existe en el bar en vivo (barstate.isrealtime, barstate.isnew).
  • LS5000 — llega al gráfico la variable varip: acumula ticks del bar en vivo que no existen en la historia.
  • LS5006 — llegan al gráfico book.* o tape.*: en la historia la serie está vacía.
  • LS5003 — valor de un higher timeframe desde request.security sin [1]: el bar no cerrado aún va a cambiar.
  • LS5002 — lookahead = true en request.security: en la historia el script ve el futuro.
  • LS5005 — llegan al gráfico math.random o timenow: dos ejecuciones dan líneas distintas.

Si es intencionado — por ejemplo un indicador solo para trading en vivo — la advertencia puede dejarse.

LS3016 — настройка принята и ничего не делает

Esto es un aviso informativo, no un error. Aparece en scripts trasladados de otras plataformas: el parámetro existe por compatibilidad pero no influye en el terminal. La segunda parte del mensaje explica por qué.

Что написано Пояснение в сообщении
maxBarsBack в объявлении la historia se carga por columnas completas
format, precision, scale в объявлении el formato y escala los gestiona el terminal
timeframe в объявлении el script se calcula en la temporalidad del gráfico; otra da request.security
Grosor, estilo u otra opción de salida definida por expresión y no por constante (el color de plot o marcas que cambian por barra) esta compilación sólo lee esa opción como constante
color en el cuarto y siguientes plot el panel dibuja solo las tres primeras series
location.absolute en plotshape o plotchar la marca no tiene un series al que pegarse
display, que el series no soporta ese series no tiene esa superficie

Ошибки выполнения

Un error de ejecución detiene el script en el bar donde ocurrió. El texto aparece en la pestaña “Salida” como «Script detenido: LS6004: …».

LS6004 и LS6005 — скрипт работает слишком долго

«Скрипт исчерпал бюджет операций на бар — упростите цикл» (LS6004) y «Скрипт превысил лимит времени на проход» (LS6005). Cada bar tiene un presupuesto de 2 000 000 de operaciones. El tiempo también está limitado: todo el pase por la historia — 2 s, un tick de bar en vivo — 20 ms. Casi siempre la causa es un bucle que no termina o que procesa demasiados datos en cada bar.

Loot
var int n = 0
i = 0
while i < 10 {
    n := n + 1
}
Loot
var int n = 0
i = 0
while i < 10 {
    n := n + 1
    i := i + 1
}

LS6002 и LS5004 — чтение будущего

El índice de la historia x[n] no puede ser negativo: close[-1] significaría el siguiente bar. Si el número negativo está literal en el texto, el compilador lo detendrá inmediatamente (LS5004). Si nace de un cálculo, el script se detendrá en el bar con el error «Desplazamiento negativo de historia — no se puede leer el futuro» (LS6002). Un índice mayor que el número de barras cargadas no provoca error: da na.

LS6001, LS6007, LS6019 — коллекции и объекты

  • LS6001 «Индекс … вне границ» — array.get, array.set o matrix.get fuera del tamaño. Compruebe array.size(a) antes de acceder.
  • LS6007 «Обращение к пустому объекту (na)» — la colección se declaró pero no se creó: var array<float> a = na y luego a.push(x). Créela con array.new<float>().
  • LS6019 «Объект рисования уже удалён или вытеснен по потолку — создайте его заново». Viven simultáneamente 500 objetos del mismo tipo, el más antiguo es desalojado. Eleve el límite con maxLinesCount, maxLabelsCount o maxBoxesCount en la declaración o reutilice el objeto con set_*.

LS6017 и LS6018 — инструмент и таймфрейм в request.security

«Символ «…» неизвестен — проверьте формат «ПЛОЩАДКА:СИМВОЛ» или задайте ignore_invalid_symbol = true» (LS6017) y «Таймфрейм «…» не разбирается — ожидается «5», «60», «4h», «1D», «1W»» (LS6018). Con ignore_invalid_symbol = true un instrumento desconocido da na en vez de detenerse.

Пределы выполнения

Что ограничено Предел Код при превышении
Операций на бар 2 000 000 LS6004
Время прохода по истории / тика живого бара 2 с / 20 мс LS6005
Элементов массива 100 000 LS6003
Пар в словаре 50 000 LS6003
Элементов матрицы 1 000 000 LS6003
Длина окна ta.* 100 000 баров LS6034
Длина одной строки 100 000 символов LS6014
Ячеек в таблице 2000 LS6029
Слоёв теплового поля 4 (от 0 до 3) LS6036
Объектов рисования одного вида 500 по умолчанию старые вытесняются
Разных пар «инструмент + таймфрейм» в request.security 8 —
Вызовов request.security 32 LS4009 при компиляции

Когда ошибки нет, а значения нет

Muchas situaciones que en otros lenguajes harían caer el programa en LootScript dan na — un hueco en el gráfico, no una detención:

  • la aritmética con na da na: close - x con x vacío también es vacío;
  • x[n] más allá del inicio de la historia — na;
  • la división entera por cero — na, y la división en coma flotante por cero no detiene el script;
  • book.*, tape.* y screener.* en barras históricas — na;
  • clústeres, delta, interés abierto y la historia del libro de órdenes — na en barras donde no hay datos. Compruebe cluster.available, delta.available y las flags adyacentes;
  • ta.* en las primeras barras, hasta que la ventana se llena, — na.

na en el gráfico nunca se dibuja como cero: la línea se corta. Para sustituir el valor use nz(x), x ?? fallback o fixnan(x).

Все коды

LS0001–LS0009 и LS0999 — чтение текста

Код Сообщение Что делать
LS0001 Неожиданный символ «…» Уберите символ, которого нет в языке
LS0002 Строка не закрыта — добавьте закрывающую кавычку до конца строки Закройте кавычку на той же строке
LS0003 Блочный комментарий не закрыт — добавьте */ Закройте /* … */
LS0004 Неизвестная escape-последовательность «…» в строке Допустимы \n, \r, \t, \0, \\, \", \' и \u{…}; одиночную \ удвойте
LS0005 Неверный числовой литерал «…» Проверьте запись числа
LS0006 Число «…» не помещается в тип Уменьшите число
LS0007 Неверный литерал цвета «…» — ожидается #RRGGBB или #RRGGBBAA Шесть или восемь шестнадцатеричных цифр
LS0008 Разделитель разрядов «_» стоит в начале, в конце или сдвоен Пишите 1_000_000
LS0009 Неверная директива версии — ожидается #version <число> первой строкой #version 1 в первой строке
LS0999 Компилятор не справился с этим файлом — это дефект сборки, сообщите о нём Сообщите в поддержку, приложите скрипт

LS1000–LS1012 — разбор

Код Сообщение Что делать
LS1000 Неожиданно: … Проверьте строку на лишние символы
LS1001 Ожидалось «…», а встретилось … Чаще всего не закрыта скобка
LS1002 Ожидалось выражение, а встретилось … После оператора или запятой не хватает значения
LS1004 Ожидалось имя, а встретилось … После var, func, . нужно имя
LS1005 Ожидался блок в фигурных скобках, а встретилось … Добавьте { … }
LS1006 Сравнения не сцепляются — напишите a < b and b < c Разбейте на два сравнения через and
LS1008 Второе объявление скрипта — у скрипта может быть только одно Оставьте одно объявление
LS1009 Нет объявления скрипта — начните с indicator(“Название”) Первой строкой — indicator, strategy или library
LS1010 Слишком глубокая вложенность (больше 64) — вынесите часть в функцию Разбейте выражение или блок
LS1012 Тело if / for / while пишется в фигурных скобках: if cond { … } Добавьте фигурные скобки

LS2000–LS2030 — типы и имена

Код Сообщение Что делать
LS2000 Несовпадение типов: ожидался …, а получен … Передайте значение нужного типа
LS2001 Нельзя преобразовать … в … Преобразуйте явно: str.tostring, math.round
LS2002 Неизвестное имя «…» — проверьте написание или объявите его выше Исправьте опечатку, добавьте пространство (ta.), объявите выше
LS2003 «…» — не функция, вызывать нельзя Уберите скобки: это ряд или константа
LS2004 «…» ожидает … аргумент(ов), а передано … Сверьте число аргументов со справочником
LS2005 У «…» нет параметра «…» Исправьте имя параметра
LS2006 Аргумент «…» передан дважды Уберите повтор
LS2007 Условие должно быть bool, а здесь … Сравните явно: x > 0, not na(x)
LS2008 Сравнение с na всегда ложно — используйте na(x) na(x) вместо x == na
LS2014 «…» в «…» требует значение не слабее …, а передано … — возьмите input.*(…) или литерал Литерал, input.* или константа вместо ряда
LS2015 «…» объявлено константой — присваивать нельзя; объявите через var Настройку input.*, переменную цикла и параметр функции менять нельзя — скопируйте значение в свою переменную
LS2017 Строку нельзя складывать с числом (… + …) — используйте str.tostring(…) str.tostring или str.format
LS2018 «…» уже объявлено в этой области := для нового значения или другое имя
LS2019 «…» затеняет встроенное имя — выберите другое Переименуйте
LS2020 Ветви дают разные типы: … и … Приведите ветви к одному типу
LS2021 switch без ветви по умолчанию «=> …» — добавьте её Добавьте => значение
LS2022 У «…» не выведен тип элемента — укажите его: … array.new<float>()
LS2028 У поля «…» типа «…» не указан тип — напишите его перед именем: float … float price в объявлении type
LS2029 export «…»: у экспортируемой функции обязаны быть объявлены типы всех параметров и тип результата Укажите типы
LS2030 «…» в «…» читается до первого бара — нужен литерал или именованная константа В объявлении — только постоянные значения

LS3000–LS3033 — смысл программы

Код Сообщение Что делать
LS3002 «…» вызывает саму себя — рекурсия в LootScript запрещена Замените рекурсию циклом
LS3003 Взаимная рекурсия запрещена: … Разорвите круг вызовов
LS3004 Аргумент «…» нельзя вычислить вне ветки — вынесите вызов ta.* на верхний уровень Вычислите аргумент и вызов вне if
LS3006 «…» затеняет имя из внешней области (предупреждение) Переименуйте внутреннюю переменную
LS3007 «…» вне цикла break и continue — только в цикле
LS3008 return вне функции return — только в теле функции
LS3009 export «…» возможен только в library(…) Уберите export или сделайте файл библиотекой
LS3010 «…» без единого уровня (profit/loss/stop/limit/trail) — пустая операция (предупреждение) Задайте стоп, тейк или трейлинг
LS3011 strategy.* доступно только в strategy(…) Объявите скрипт через strategy(...)
LS3012 В библиотеке нельзя рисовать и объявлять входы: … Перенесите вывод и настройки в индикатор
LS3013 «…» внутри request.security не станет строкой настроек — объявите вход выше и передайте его значение Объявите input.* выше и передайте переменную
LS3016 Настройка «…» принята и ничего не делает: … (сведение) Можно оставить или удалить
LS3018 Библиотека «…» не найдена в папке библиотек — имя берётся из её library(“…”, N), a не из имени файла Проверьте имя в объявлении библиотеки
LS3019 Библиотеки «…» версии … нет; установлены: … Укажите установленную версию
LS3020 «…» внутри request.security: у стакана и ленты нет истории на чужой серии Уберите book.*, tape.* из выражения
LS3025 Функция «…» объявлена, но не вызывается — её тело проверено лишь пробно (предупреждение) Вызовите функцию или удалите
LS3026 «…» требует стоп, от которого считать размер: loss/stop у входа или в strategy.exit Добавьте стоп к входу или strategy.exit
LS3028 Эта сборка не поддерживает: … Перепишите без этой конструкции
LS3029 Ветвь switch для «…» повторяется — вторая недостижима Уберите повтор
LS3030 «…» — переменная графика, а выражение request.security считается на другой серии; передайте значение через input.* или посчитайте его внутри выражения Посчитайте внутри выражения
LS3031 Библиотеки импортируют друг друга по кругу: … Разорвите круг импортов
LS3032 В библиотеке «…» допустимы только объявления функций и импорты — здесь … Уберите из библиотеки остальной код
LS3033 Библиотека «…» не компилируется (…) — откройте её в Editor и почините Исправьте ошибку в самой библиотеке

LS4000–LS4009 — пределы компиляции

Код Сообщение Что делать
LS4000 Слишком много рядов: … при пределе 512 — уберите лишние ta.* или переиспользуйте переменные Сократите число вызовов ta.* и переменных с историей
LS4001 Программа слишком велика (больше 4096 встраиваний) — упростите функции Уменьшите число вызовов пользовательских функций
LS4002 Слишком много plot — панель рисует не больше трёх рядов Выводов — рядов plot, отметок plotshape и plotchar, фона bgcolor — не больше 64; рисуются первые три plot
LS4009 Слишком много вызовов request.security: …, предел 32 Объедините вызовы

LS5000–LS5013 — перерисовка и тестер

Код Сообщение Что делать
LS5000 Значение varip доходит до вывода — на истории оно будет другим (перерисовка) (предупреждение) Используйте var, если нужна одинаковая история
LS5001 Значение только живого бара доходит до вывода — на истории его нет (перерисовка) (предупреждение) Используйте barstate.isconfirmed
LS5002 lookahead = true читает будущее — на истории результат недостижим в реальном времени (предупреждение) Уберите lookahead = true
LS5003 Старший таймфрейм без смещения — незакрытый бар перерисуется; добавьте [1] (предупреждение) request.security(…, close[1])
LS5004 Отрицательное смещение сдвигает вывод в прошлое — на истории линия знает будущее Уберите отрицательный индекс x[-n]
LS5005 Недетерминированное значение доходит до вывода — два прогона дадут разный ряд (предупреждение) Не выводите math.random и timenow на график
LS5006 Данные есть только в реальном времени — на истории ряд пуст (предупреждение) Для истории libro de órdenes используйте depth.*
LS5011 Стратегия читает «…»: у стакана и ленты нет истории, бэктест был бы вымыслом Уберите book.*, tape.* из стратегии
LS5012 Стратегия заглядывает вперёд («…») — отчёт помечен как недостижимый в реальном времени (предупреждение) Уберите lookahead = true
LS5013 «…» включён: заявки исполняются по закрытию бара, отчёт помечен (сведение) Уберите processOrdersOnClose, если нужен реалистичный отчёт

LS6000–LS6036 — выполнение

Код Сообщение Что делать
LS6001 Индекс … вне границ Проверьте размер коллекции перед обращением
LS6002 Отрицательное смещение истории — читать будущее нельзя Индекс истории должен быть ≥ 0
LS6003 Превышен предел размера коллекции (…) — коллекция создана в строке … Ограничьте рост: удаляйте старые элементы
LS6004 Скрипт исчерпал бюджет операций на бар — упростите цикл Проверьте условие выхода из цикла
LS6005 Скрипт превысил лимит времени на проход Уменьшите работу на каждом баре
LS6007 Обращение к пустому объекту (na) Создайте коллекцию или объект до обращения
LS6014 Строка длиннее потолка в 100000 знаков — укоротите её или соберите по частям Сократите строку
LS6015 Неизвестный часовой пояс «…» — нужен идентификатор IANA, например «Europe/Berlin» Пояс в формате IANA
LS6017 Символ «…» неизвестен — проверьте формат «ПЛОЩАДКА:СИМВОЛ» или задайте ignore_invalid_symbol = true Исправьте символ
LS6018 Таймфрейм «…» не разбирается — ожидается «5», «60», «4h», «1D», «1W» Исправьте таймфрейм
LS6019 Объект рисования уже удалён или вытеснен по потолку — создайте его заново Проверяйте объект или поднимите предел
LS6020 str.format: плейсхолдеру {…} не передан аргумент Передайте аргумент для каждого {n}
LS6021 str.match: шаблон исчерпал бюджет шагов — упростите его Упростите регулярное выражение
LS6026 Исчерпан общий бюджет коллекций скрипта (… ячеек) — не влезла коллекция из строки … Сократите число или размер коллекций
LS6027 Недопустимый аргумент «…» в … Например, отрицательный размер в array.new
LS6028 Исчерпан бюджет строк скрипта (…) — переиспользуйте строки вместо новых на каждом баре Не собирайте новые строки на каждом баре
LS6029 В таблице больше 2000 ячеек — это потолок панели Уменьшите таблицу
LS6030 Ячейка таблицы вне сетки: … Номер столбца и строки — внутри размера таблицы
LS6031 Встроенная функция «…» объявлена, но не реализована — это дефект сборки, сообщите о нём Сообщите в поддержку
LS6032 Хэндл не указывает на объект нужного вида — объект освобождён или хэндл из другого прогона Не храните ссылки на удалённые объекты
LS6033 Поле … вне объявления типа «…» — это дефект сборки, сообщите о нём Сообщите в поддержку
LS6034 Длина окна … больше потолка 100000 — такое окно не поместится в память Уменьшите длину окна
LS6035 Шаг цикла равен нулю — счётчик не двигается, и конец недостижим by в цикле for не может быть нулём
LS6036 Слой тепла … вне 0…3 layer от 0 до 3
Коды, которые эта версия не выдаёт

Эти номера закреплены в языке, но текущая версия терминала их не показывает: LS1003, LS1007, LS1011, LS2016, LS3000, LS3001, LS3005, LS4003, LS4004, LS5007, LS6000, LS6006, LS6008, LS6022, LS6023. Например, объявление не первой строкой сейчас сообщается как LS1009, а деление на ноль не останавливает скрипт с LS6000.

Дальше

https://docs.lootx.trade/es/loot/errors