← К документации
LootX

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

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

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

Все коды LS, которые показывают редактор и график LootScript: текст сообщения, причина и исправление, частые ошибки с примерами, пределы выполнения и случаи, когда вместо ошибки получается na.

Каждое сообщение компилятора и исполнителя LootScript начинается с кода вида LS2008. Код не меняется между версиями и не зависит от языка интерфейса, поэтому по нему удобно искать: здесь собраны все коды, которые может показать терминал, с текстом сообщения, причиной и способом исправления.

Сообщения выводятся по-русски, если интерфейс терминала на русском, и по-английски на любом другом языке. Сначала — ошибки, которые встречаются чаще всего, затем ошибки выполнения и полная таблица.

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

При компиляции. Редактор компилирует скрипт в каждой паузе набора. Найденное попадает во вкладку «Проблемы» в нижней части редактора: код, текст и позиция вида «Стр 6:6». Двойной щелчок по строке переводит курсор к месту ошибки. В заголовке редактора отображается итог: «ок · 12 мс», «предупреждений: 2» или «ошибок: 1».

При выполнении. Скрипт без ошибок компиляции может остановиться на каком-то баре: закончился бюджет операций, индекс вышел за границы массива, неизвестен инструмент. Тогда во вкладке «Вывод» появится строка «Скрипт остановлен: LS6004: …», а в окне тестера стратегий — та же причина. Остальные скрипты, панели и сам терминал продолжают работать.

Диагностики бывают трёх уровней:

Уровень Что значит Что с графиком
Ошибка Скрипт не собран На график не добавляется: «Скрипт с ошибками на график не кладётся — см. «Проблемы»». Если скрипт уже на графиках, там остаётся прежняя рабочая версия
Предупреждение Скрипт собран, но результат может обмануть: например, перерисуется на живом баре Скрипт работает
Сведение Скрипт собран, но какая-то его настройка ничего не делает Скрипт работает

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

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

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

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

«Нет объявления скрипта — начните с indicator(“Название”)». Первым оператором файла должно стоять indicator(...), strategy(...) или library(...). Эта же ошибка появляется, если объявление есть, но выше него что-то написано. Комментарии и директива #version 1 не мешают.

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

Второе объявление в том же файле даёт LS1008: у скрипта оно одно.

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

«Неизвестное имя «…» — проверьте написание или объявите его выше». Чаще всего это опечатка или функция без своего пространства имён: все индикаторные функции живут в ta, математика — в math, цвета — в color.

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

Та же ошибка будет, если переменную прочитали выше строки, где она объявлена. Полный список имён — в справочнике функций.

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

«Сравнение с na всегда ложно — используйте na(x)». Любое сравнение с na, включая == и !=, даёт false, поэтому компилятор такую запись не пропускает.

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

Короче то же самое пишется через ??: plot(x ?? close).

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

««…» в «…» требует значение не слабее input, а передано series — возьмите input.*(…) или литерал». Длина окна ta.* должна быть известна до первого бара. Длина, которую выбирают по условию на каждом баре, не подходит.

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

Посчитайте оба варианта и выбирайте результат, а не длину:

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

Если длину должен задавать пользователь, возьмите её из input.int(...).

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

«Аргумент «…» нельзя вычислить вне ветки — вынесите вызов ta.* на верхний уровень». Функции ta.* помнят прошлые бары, поэтому компилятор вычисляет их на каждом баре, даже если вызов написан внутри if. Если аргумент объявлен только внутри ветки, на других барах его просто нет.

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 — строки, условия и сравнения

У этих трёх ошибок общая причина: LootScript не приводит типы молча.

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

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

««…» уже объявлено в этой области» (LS2018) — переменную объявили второй раз через =. Чтобы изменить значение, используйте :=.

Loot
level = high
level := low

««…» затеняет встроенное имя — выберите другое» (LS2019) — переменная, функция или тип названы так же, как встроенный ряд или функция: close, time, hour, volume. Переименуйте: startHour вместо hour. Имена пространств вроде color или position для переменных можно использовать.

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

««…» ожидает … аргумент(ов), а передано …» (LS2004) и «У «…» нет параметра «…»» (LS2005). Сверьте вызов с сигнатурой в справочнике: имена параметров пишутся ровно так, как там указано.

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

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

«strategy.* доступно только в strategy(…)» (LS3011): заявки и состояние позиции есть только у скрипта, объявленного через strategy(...). Замените indicator("…") на strategy("…").

«Стратегия читает «…»: у стакана и ленты нет истории, бэктест был бы вымыслом» (LS5011): стратегия проверяется на истории, а у book.* и tape.* истории нет — на каждом прошлом баре там na.

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

Для истории стакана есть пространство depth: там, где стакан записан, оно даёт значения на каждом баре.

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

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

Эти предупреждения не мешают скрипту работать. Они говорят, что линия на истории будет выглядеть иначе, чем её видели вживую:

  • LS5001 — до графика доходит значение, которое бывает только на живом баре (barstate.isrealtime, barstate.isnew).
  • LS5000 — до графика доходит переменная varip: она копит тики живого бара, которых в истории нет.
  • LS5006 — до графика доходят book.* или tape.*: на истории ряд пуст.
  • LS5003 — значение старшего таймфрейма из request.security без [1]: незакрытый бар ещё изменится.
  • LS5002 — lookahead = true в request.security: на истории скрипт видит будущее.
  • LS5005 — до графика доходит math.random или timenow: два прогона дадут разные линии.

Если так и задумано — например, индикатор нужен только для живой торговли, — предупреждение можно оставить.

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

Это сведение, а не ошибка. Оно встречается в скриптах, перенесённых с других платформ: параметр существует ради совместимости, но в терминале ни на что не влияет. Вторая часть сообщения объясняет почему.

Что написано Пояснение в сообщении
maxBarsBack в объявлении история грузится колонкой целиком
format, precision, scale в объявлении шкалу значений и её формат ведёт терминал
timeframe в объявлении скрипт считается на таймфрейме графика, другой даёт request.security
Толщина, стиль или другая настройка вывода, заданная выражением, а не константой (цвет plot и отметок может меняться по барам) эта сборка читает эту настройку только константой
color у четвёртого и следующих plot панель рисует только первые три ряда
location.absolute у plotshape или plotchar у отметки нет ряда, к значению которого её можно прижать
display, которого у ряда нет у этого ряда нет такой поверхности

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

Ошибка выполнения останавливает скрипт на том баре, где она случилась. Текст появляется во вкладке «Вывод» в виде «Скрипт остановлен: LS6004: …».

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

«Скрипт исчерпал бюджет операций на бар — упростите цикл» (LS6004) и «Скрипт превысил лимит времени на проход» (LS6005). У каждого бара есть бюджет в 2 000 000 операций. Время тоже ограничено: весь проход по истории — 2 секунды, один тик живого бара — 20 мс. Почти всегда причина — цикл, который не заканчивается или обходит слишком много данных на каждом баре.

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 — чтение будущего

Индекс истории x[n] не может быть отрицательным: close[-1] означал бы следующий бар. Если отрицательное число написано прямо в тексте, компилятор остановит его сразу (LS5004). Если оно получилось при вычислении, скрипт остановится на баре с ошибкой «Отрицательное смещение истории — читать будущее нельзя» (LS6002). Индекс больше числа загруженных баров ошибкой не считается — он даёт na.

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

  • LS6001 «Индекс … вне границ» — array.get, array.set или matrix.get за пределами размера. Проверяйте array.size(a) перед обращением.
  • LS6007 «Обращение к пустому объекту (na)» — коллекцию объявили, но не создали: var array<float> a = na, а затем a.push(x). Создайте её через array.new<float>().
  • LS6019 «Объект рисования уже удалён или вытеснен по потолку — создайте его заново». Одновременно живут 500 объектов одного вида, самый старый вытесняется. Поднимите предел через maxLinesCount, maxLabelsCount или maxBoxesCount в объявлении либо переиспользуйте объект через set_*.

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

«Символ «…» неизвестен — проверьте формат «ПЛОЩАДКА:СИМВОЛ» или задайте ignore_invalid_symbol = true» (LS6017) и «Таймфрейм «…» не разбирается — ожидается «5», «60», «4h», «1D», «1W»» (LS6018). С ignore_invalid_symbol = true неизвестный инструмент даёт na вместо остановки.

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

Что ограничено Предел Код при превышении
Операций на бар 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 при компиляции

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

Многие ситуации, которые в других языках роняют программу, в LootScript дают na — пропуск на графике, а не остановку:

  • арифметика с na даёт na: close - x при пустом x — тоже пусто;
  • x[n] глубже начала истории — na;
  • целочисленное деление на ноль — na, а дробное деление на ноль скрипт не останавливает;
  • book.*, tape.* и screener.* на исторических барах — na;
  • кластеры, дельта, открытый интерес и история стакана — na на барах, где данных нет. Проверяйте cluster.available, delta.available и соседние флаги;
  • ta.* на первых барах, пока окно не заполнилось, — na.

na на графике никогда не рисуется нулём: линия прерывается. Чтобы подставить значение, используйте nz(x), x ?? запасное или 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), а не из имени файла Проверьте имя в объявлении библиотеки
LS3019 Библиотеки «…» версии … нет; установлены: … Укажите установленную версию
LS3020 «…» внутри request.security: у стакана и ленты нет истории на чужой серии Уберите book.*, tape.* из выражения
LS3025 Функция «…» объявлена, но не вызывается — её тело проверено лишь пробно (предупреждение) Вызовите функцию или удалите
LS3026 «…» требует стоп, от которого считать размер: loss/stop у входа или в strategy.exit Добавьте стоп к входу или strategy.exit
LS3028 Эта сборка не поддерживает: … Перепишите без этой конструкции
LS3029 Ветвь switch для «…» повторяется — вторая недостижима Уберите повтор
LS3030 «…» — переменная графика, а выражение request.security считается на другой серии; передайте значение через input.* или посчитайте его внутри выражения Посчитайте внутри выражения
LS3031 Библиотеки импортируют друг друга по кругу: … Разорвите круг импортов
LS3032 В библиотеке «…» допустимы только объявления функций и импорты — здесь … Уберите из библиотеки остальной код
LS3033 Библиотека «…» не компилируется (…) — откройте её в редакторе и почините Исправьте ошибку в самой библиотеке

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 Данные есть только в реальном времени — на истории ряд пуст (предупреждение) Для истории стакана используйте 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/ru/loot/errors