> For the complete documentation index, see [llms.txt](https://tools.oxygen.wiki/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tools.oxygen.wiki/docs/soft/dmarket.md).

# DMarket

## 🛒 DMarket Bot

### 📚 Описание продукта

**DMarket Bot** — софт Oxygen.Tools для автоматизированной торговли предметами на DMarket через buy-orders, анализ базы предметов и контроль цен продажи.

Он помогает не сидеть руками в маркетплейсе, не пересчитывать каждый скин в таблицах и не ловить момент вручную. Бот импортирует предметы, анализирует их по вашим правилам, выставляет buy-ордера, следит за конкурентами, фиксирует покупки и помогает управлять дальнейшей продажей.

***

### 🚀 Что умеет бот

| Направление           | Что делает                                                                 |
| --------------------- | -------------------------------------------------------------------------- |
| **Импорт предметов**  | Собирает предметы с DMarket в локальную базу для дальнейшего анализа       |
| **Анализ базы**       | Отбирает предметы, которые подходят под настройки покупки                  |
| **Buy-orders**        | Выставляет ордера по выбранным предметам                                   |
| **Контроль ордеров**  | Проверяет активные buy-orders и обновляет их, если цену перебили           |
| **История сделок**    | Синхронизирует закрытые ордера и добавляет покупки в историю               |
| **Продажи**           | Показывает купленные предметы, их статусы и финансовый результат           |
| **Sell Monitor**      | Управляет ценами продажи по фазам: Trade Ban, Fresh и Old                  |
| **Telegram**          | Может отправлять уведомления через Telegram-бота                           |
| **Proxy**             | Поддерживает работу через прокси                                           |
| **Уровни по балансу** | Позволяет использовать разные стратегии покупки при разном размере баланса |

***

### ✨ Особенности DMarket Bot

| Особенность                    | Почему это полезно                                                                             |
| ------------------------------ | ---------------------------------------------------------------------------------------------- |
| **Автоматический цикл работы** | Бот может сам выставлять ордера, следить за ними и повторять цикл до остановки                 |
| **Гибкие торговые фильтры**    | Можно ограничивать предметы по цене, продажам, конкурентам, количеству предложений и blacklist |
| **Контроль конкурентов**       | Бот понимает, когда buy-order перебили, и может обновлять цену                                 |
| **Full rebuild ордеров**       | Можно снять текущие buy-orders и пересобрать их заново по актуальным данным                    |
| **Sell Monitor**               | Отдельная логика для предметов под трейд-баном, свежих предметов и старых позиций              |
| **Учет комиссии**              | Комиссия DMarket учитывается при расчёте цены продажи                                          |
| **История и статусы**          | Видно, что уже продано, что на продаже, а что просто лежит в наличии                           |
| **Балансовые уровни**          | Настройки покупки можно адаптировать под размер банка                                          |

***

### ⚙️ Установка

**Требования:**

* Установка Node Js: <https://nodejs.org/>

**Скачивание:**

1. Перейти в нашего бота: <https://t.me/OduLandBot?start=r\\_oxygen\\_x>
2. Личный кабинет -> Доступ к софтам -> Выбрать интересующий вас продукт

<figure><img src="https://4043961612-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9XoggI4ezKP2sOs4B2tY%2Fuploads%2FkCMAk5SVTUySYflhdno0%2F05182-ezgif.com-video-to-gif-converter.gif?alt=media&#x26;token=8b090cc5-d5c0-4cd5-9f23-cb0d1b37a21e" alt=""><figcaption><p>Скачивание продукта</p></figcaption></figure>

***

## ▶️ Первый запуск

#### 1. Подключите доступы

Откройте **Настройки** и заполните поля в разделе Подключения

<table><thead><tr><th width="206">Блок</th><th>Что сделать</th></tr></thead><tbody><tr><td><strong>DMarket API</strong></td><td>Вставить Public Key и Secret Key, затем сохранить</td></tr><tr><td><strong>Oxygen API</strong></td><td>Вставить Oxygen API key и проверить статус доступа</td></tr><tr><td><strong>Proxy</strong></td><td>Указать proxy в формате <code>ip:port:login:pass</code>, если он нужен. Если оставить поле пустым и сохранить, то proxy будет отключён</td></tr><tr><td><strong>Telegram</strong></td><td>Указать Bot Token и Allowed User ID, если нужны Telegram-уведомления и ограничение доступа</td></tr></tbody></table>

После изменения Telegram Bot Token или Allowed User ID нужно перезапустить backend, чтобы новые данные применились корректно.

#### 2. Проверьте торговые настройки

{% hint style="info" %}
Подробное описание полей вы можете найти ниже в блоке про страницу [Настройки](#nastroiki)
{% endhint %}

| Что проверить                             | Почему важно                                                      |
| ----------------------------------------- | ----------------------------------------------------------------- |
| **Диапазон цены покупки**                 | Чтобы бот не лез в предметы, которые не подходят под ваш банк     |
| **Доход по конкурентам / графику продаж** | Определяет минимальный профит, который бот будет искать           |
| **Минимум продаж и период анализа**       | Помогает отсечь неликвидные предметы                              |
| **Лимиты ордеров**                        | Защищают от слишком большого количества buy-orders за один запуск |
| **Макс. одинаковых предметов**            | Не даёт набрать слишком много одной и той же позиции              |
| **Blacklist**                             | Убирает категории, с которыми вы не хотите работать               |

#### 3. Соберите базу и проверьте ручной сценарий

На **Dashboard** выполните базовый путь:

<table><thead><tr><th width="101">Шаг</th><th>Действие</th></tr></thead><tbody><tr><td><strong>1</strong></td><td>Запустите <strong>Импорт предметов</strong> с нужным диапазоном цены</td></tr><tr><td><strong>2</strong></td><td>После импорта запустите <strong>Анализ базы данных</strong></td></tr><tr><td><strong>3</strong></td><td>Проверьте результат анализа и лимиты</td></tr><tr><td><strong>4</strong></td><td>Нажмите <strong>Выставить</strong>, чтобы создать первые buy-orders</td></tr><tr><td><strong>5</strong></td><td>Включите <strong>Контроль ордеров</strong>, чтобы бот начал следить за активными ордерами</td></tr><tr><td><strong>6</strong></td><td>Проверьте <strong>Ордера</strong>, <strong>Консоль</strong> и <strong>Историю</strong></td></tr></tbody></table>

#### 4. Переходите к автоматике

Когда ручной сценарий отработал без ошибок, можно включать авто-бота.

| Режим                | Когда использовать                                                          |
| -------------------- | --------------------------------------------------------------------------- |
| **Ручные задачи**    | Для первого запуска, проверки настроек и аккуратного теста                  |
| **Контроль ордеров** | Когда ордера уже выставлены и нужно следить за конкурентами                 |
| **Авто-бот**         | Когда база собрана, настройки проверены, а бот должен сам поддерживать цикл |
| **Sell Monitor**     | После первых покупок, чтобы управлять ценами продажи                        |

***

### ✅ Настройка и начало работы

Ниже разберём основные страницы интерфейса **DMarket Bot** и объясним, за что отвечает каждая из них.

<figure><img src="/files/kwSIyPj3WFj3WxgRzrZL" alt=""><figcaption></figcaption></figure>

### Верхняя строка навигации

<figure><img src="/files/V07OcNswM1aZHc0k3HBp" alt=""><figcaption></figcaption></figure>

| Вкладка          | Что внутри                                                                     |
| ---------------- | ------------------------------------------------------------------------------ |
| 📊 **Dashboard** | Главная страница: баланс, активные ордера, покупки, авто-бот, задачи и консоль |
| 🛒 **Ордера**    | Таблица текущих активных buy-orders                                            |
| 📜 **История**   | История покупок и продаж по ордерам                                            |
| 💰 **Продажи**   | Купленные предметы, которые находятся в инвентаре или уже выставлены           |
| 🏪 **Монитор**   | Управление ценами продажи через Sell Monitor                                   |
| ⚙️ **Настройки** | API-ключи, proxy, Telegram, лимиты, фильтры и торговые правила                 |

***

### 📊 Dashboard

**Dashboard** — основная рабочая страница бота. Здесь видно общий статус торговли, состояние авто-бота, задачи, консоль и последние покупки.

<figure><img src="/files/UZqampOzmZxbrkF3AB6W" alt=""><figcaption></figcaption></figure>

| Карточка            | Что показывает                                        |
| ------------------- | ----------------------------------------------------- |
| **Баланс**          | Общий и доступный баланс DMarket                      |
| **Активные ордера** | Сколько buy-orders сейчас активно и какая цель задана |
| **Покупок за 24ч**  | Сколько ордеров сработало за последние сутки          |
| **Общий профит**    | Общий результат по завершённым сделкам                |

***

#### Авто-бот

Блок **Авто-бот** отвечает за автоматический торговый цикл.

<figure><img src="/files/4c8zUXcOdiXHGTtdd5xO" alt=""><figcaption></figcaption></figure>

| Элемент            | Что делает                                                                                    |
| ------------------ | --------------------------------------------------------------------------------------------- |
| **Запустить бота** | Запускает автоматический цикл работы                                                          |
| **Остановить**     | Останавливает автоматическую работу                                                           |
| **Фаза**           | Показывает, что бот делает сейчас: выставляет ордера, мониторит рынок или ждёт следующий цикл |
| **Циклов**         | Сколько циклов работы уже выполнено                                                           |
| **Время работы**   | Сколько времени бот работает без остановки                                                    |
| **Последний цикл** | Время последнего завершённого цикла                                                           |

Авто-бот удобен, когда база уже собрана, настройки проверены и нужно просто поддерживать работу ордеров без ручного контроля каждые пару минут.

***

#### Управление задачами

Блок **Управление задачами** — это ручное управление основными действиями бота.

<figure><img src="/files/umtQdI3R2WQEj9D0WuOb" alt=""><figcaption></figcaption></figure>

| Задача                   | Что делает                                                             |
| ------------------------ | ---------------------------------------------------------------------- |
| **Импорт предметов**     | Просматривает предметы на DMarket и добавляет их в локальную базу      |
| **Диапазон цен от / до** | Ограничивает импорт предметов по цене                                  |
| **Анализ базы данных**   | Проверяет предметы из базы и отбирает подходящие по настройкам         |
| **Выставить ордера**     | Создаёт buy-orders по подходящим предметам                             |
| **Full rebuild**         | Снимает текущие buy-orders и выставляет их заново по актуальным данным |
| **Снять все ордера**     | Удаляет все buy-orders на DMarket без создания новых                   |
| **Контроль ордеров**     | Следит за активными ордерами и обновляет их при необходимости          |

#### Когда какой сценарий использовать

| Сценарий                               | Когда полезен                                                                   |
| -------------------------------------- | ------------------------------------------------------------------------------- |
| **Импорт → Анализ → Выставить ордера** | Первый запуск или обновление базы                                               |
| **Full rebuild**                       | Когда рынок изменился, настройки поменялись или ордера нужно пересобрать с нуля |
| **Снять все ордера**                   | Когда нужно полностью остановить buy-side активность                            |
| **Контроль ордеров**                   | Когда ордера уже стоят и нужно следить, чтобы их не перебивали                  |

***

#### Консоль

Показывает последние действия бота в реальном времени: импорт, анализ, выставление ордеров, покупки, ошибки и обновления.

<figure><img src="/files/7xzr0QdjcbUpzXvOkRcq" alt=""><figcaption></figcaption></figure>

| Элемент                                    | Что означает                                                |
| ------------------------------------------ | ----------------------------------------------------------- |
| **live / offline**                         | Показывает, подключена ли консоль к боту в реальном времени |
| **Все / Info / Success / Warning / Error** | Фильтрует сообщения по типу                                 |
| **Auto / Manual**                          | Включает или отключает автоматическую прокрутку вниз        |
| **Clear**                                  | Очищает текущий список логов на экране                      |

#### Как читать сообщения

| Тип сообщения | Значение                                   |
| ------------- | ------------------------------------------ |
| **Info**      | Обычное служебное действие                 |
| **Success**   | Успешное выполнение операции               |
| **Warning**   | Не критичная проблема или пропуск действия |
| **Error**     | Ошибка, которую нужно проверить            |

Если бот ведёт себя не так, как ожидалось, сначала смотрим **Консоль**. Обычно там сразу видно, что произошло: предмет уже купился, ордер удалён, цена перебита, задача ещё выполняется или API вернул ошибку.

***

#### Последние покупки

Блок **Последние покупки** показывает последние сработавшие buy-orders.

| Статус         | Что означает                                    |
| -------------- | ----------------------------------------------- |
| **Продано**    | Предмет уже продан                              |
| **На продаже** | Предмет выставлен на продажу                    |
| **В наличии**  | Предмет куплен, но ещё не продан и не выставлен |

***

### 🛒 Ордера

**Ордера** — страница со списком текущих активных buy-orders.

| Колонка           | Что означает                                                              |
| ----------------- | ------------------------------------------------------------------------- |
| **Всего**         | Количество активных ордеров в списке                                      |
| **Предмет**       | Название предмета                                                         |
| **Корректировок** | Сколько раз бот менял цену этого ордера                                   |
| **Ордер**         | Текущая цена buy-order                                                    |
| **Диапазон**      | Минимальная и максимальная цена, в рамках которой бот может держать ордер |
| **Продажа**       | Ожидаемая цена продажи после покупки                                      |
| **ROI**           | Примерный процент доходности по предмету                                  |
| **Статус**        | Состояние ордера: активен, перебит, куплен, отменён или ожидает           |
| **Дата**          | Когда ордер был создан                                                    |

На этой странице нет ручных действий — она нужна для контроля текущей сетки ордеров.

***

### 📜 История

**История** — страница, где собираются покупки и продажи по ордерам.

#### Статистика

| Показатель       | Что означает                                               |
| ---------------- | ---------------------------------------------------------- |
| **Всего сделок** | Общее количество записанных покупок                        |
| **Продано**      | Сколько купленных предметов уже продано                    |
| **В наличии**    | Сколько предметов ещё находятся в инвентаре или на продаже |

***

#### Синхронизация покупок

| Элемент                        | Что делает                                                                     |
| ------------------------------ | ------------------------------------------------------------------------------ |
| **Синхронизировать**           | Проверяет закрытые ордера на DMarket и добавляет пропущенные покупки в историю |
| **Закрытых ордеров**           | Сколько закрытых ордеров найдено                                               |
| **Найдено в БД**               | Сколько покупок удалось сопоставить с локальными ордерами                      |
| **Восстановлено без ордера**   | Покупки, найденные на DMarket, но не связанные с локальным ордером             |
| **Добавлено новых покупок**    | Сколько новых покупок добавлено в историю                                      |
| **Обновлено статусов ордеров** | Сколько записей обновлено после проверки                                       |

Синхронизация полезна, если покупка произошла на DMarket, но локальная история ещё не успела её подтянуть.

***

#### Фильтры и таблица истории

| Элемент       | Что показывает                       |
| ------------- | ------------------------------------ |
| **Все**       | Вся история покупок                  |
| **Проданные** | Только предметы, которые уже проданы |
| **По датам**  | История, сгруппированная по дням     |

| Колонка                | Что означает                            |
| ---------------------- | --------------------------------------- |
| **Предмет**            | Название купленного предмета            |
| **Цена покупки**       | За сколько предмет был куплен           |
| **Продано**            | Цена продажи, если предмет уже продан   |
| **Дата покупки**       | Когда предмет был куплен                |
| **Дата продажи**       | Когда предмет был продан                |
| **Threshold Мин/Макс** | Рассчитанный диапазон цены продажи      |
| **Профит**             | Прибыль по предмету, если он уже продан |
| **Статус**             | Продано, в наличии или на продаже       |

***

### 💰 Продажи

**Продажи** — страница с купленными предметами и их текущим состоянием.

#### Кнопки

| Кнопка                | Что делает                                                            |
| --------------------- | --------------------------------------------------------------------- |
| **Проверить продажи** | Проверяет, какие купленные предметы уже продались, и обновляет статус |
| **Обновить**          | Вручную обновляет данные на странице                                  |

***

#### Статистика продаж

| Показатель               | Что означает                                          |
| ------------------------ | ----------------------------------------------------- |
| **Куплено предметов**    | Сколько предметов было куплено ботом                  |
| **Продано предметов**    | Сколько купленных предметов уже продано               |
| **Сумма проданных**      | Общая сумма продаж                                    |
| **Общий профит**         | Общий доход за всё время                              |
| **Доход в этом месяце**  | Прибыль за текущий месяц                              |
| **Стоимость на продаже** | Сумма предметов, которые сейчас выставлены на продажу |

***

#### Таблица предметов

| Колонка                | Что означает                             |
| ---------------------- | ---------------------------------------- |
| **Название**           | Название предмета                        |
| **Цена покупки**       | За сколько предмет был куплен            |
| **Цена на продаже**    | Текущая цена, если предмет уже выставлен |
| **Статус В инвентаре** | Предмет куплен, но ещё не выставлен      |
| **Статус На продаже**  | Предмет уже выставлен на DMarket         |

***

### 🏪 Монитор

**Монитор** — страница управления ценами продажи купленных предметов. Здесь работает Sell Monitor.

<figure><img src="/files/Jz9Xv163IKifBb3JwLmJ" alt=""><figcaption></figcaption></figure>

Он нужен, чтобы не держать все предметы по одной и той же логике. Предмет под трейд-баном, свежий предмет и старый предмет на продаже — это разные ситуации. Поэтому бот делит их на фазы и применяет разные настройки.

#### Кнопки управления

| Кнопка                  | Что делает                                           |
| ----------------------- | ---------------------------------------------------- |
| **Проверить сейчас**    | Запускает одну ручную проверку цен продажи           |
| **Запустить**           | Включает автоматический Sell Monitor                 |
| **Остановить**          | Выключает автоматический Sell Monitor                |
| **Сохранить настройки** | Сохраняет настройки ценообразования на этой странице |

***

#### Статусы

| Статус        | Что означает                                      |
| ------------- | ------------------------------------------------- |
| **Status**    | Работает ли Sell Monitor                          |
| **Trade Ban** | Сколько предметов ещё нельзя передать или продать |
| **Fresh**     | Сколько предметов недавно вышли из трейд-бана     |
| **Old**       | Сколько предметов давно находятся на продаже      |

***

#### Фазы Sell Monitor

| Фаза          | Логика                                                                                                                |
| ------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Trade Ban** | Предмет ещё под трейд-баном. Бот заранее фиксирует желаемую цену и не двигает её по конкурентам                       |
| **Fresh**     | Новый предмет после трейд-бана. Бот держит цену в диапазоне min / max profit и постепенно снижает верхнюю границу     |
| **Old**       | Старый предмет на продаже. Бот может агрессивнее снижать верхнюю цену, но не должен уходить ниже минимального профита |

#### Настройки фаз

| Настройка                       | Что означает                                               |
| ------------------------------- | ---------------------------------------------------------- |
| **Профит (%)**                  | Желаемая наценка для Trade Ban предметов                   |
| **Мин профит (%)**              | Минимальная прибыль, ниже которой бот не должен опускаться |
| **Макс профит (%)**             | Верхняя желаемая прибыль                                   |
| **Понижение макс. профита (%)** | На сколько постепенно снижать верхнюю цену                 |
| **Каждые N дней**               | Как часто снижать верхнюю цену                             |

***

#### Общие настройки Sell Monitor

| Настройка                       | Что означает                                                                       |
| ------------------------------- | ---------------------------------------------------------------------------------- |
| **Интервал проверки (мин)**     | Как часто монитор должен проверять цены                                            |
| **Макс цена каждую N проверку** | Через сколько проверок бот пробует поставить максимальную цену вместо конкурентной |
| **Порог Old (дней)**            | Через сколько дней предмет считается старым                                        |
| **Комиссия (%)**                | Комиссия DMarket, которую бот учитывает в расчётах                                 |

***

#### Таблица предметов в мониторе

| Колонка           | Что означает                                                                            |
| ----------------- | --------------------------------------------------------------------------------------- |
| **Фаза**          | Trade Ban, Fresh или Old                                                                |
| **Название**      | Название предмета и его состояние                                                       |
| **Покупка**       | Цена покупки                                                                            |
| **Текущая цена**  | Текущая цена выставления на продажу                                                     |
| **Диапазон цен**  | Минимальная и максимальная цена, которую может использовать монитор                     |
| **Профит**        | Диапазон прибыли по предмету                                                            |
| **Проверок**      | Сколько раз монитор уже проверял предмет                                                |
| **Дней без бана** | Сколько дней прошло после снятия трейд-бана. Если указан бан — предмет ещё заблокирован |

***

### ⚙️ Настройки

**Настройки** — самый важный раздел перед запуском. Здесь задаются доступы, лимиты, фильтры, уровни по балансу и правила покупки.

На странице настроек также есть блок **Управление задачами**. Он дублирует ручные задачи с Dashboard: импорт, анализ, выставление ордеров, снятие ордеров и контроль.

***

#### DMarket API

| Поле                      | Что означает                                                       |
| ------------------------- | ------------------------------------------------------------------ |
| **Public Key**            | Текущий публичный ключ DMarket                                     |
| **Secret Key**            | Текущий секретный ключ DMarket. Полностью не показывается          |
| **Новый Public Key**      | Поле для ввода нового Public Key                                   |
| **Новый Secret Key**      | Поле для ввода нового Secret Key                                   |
| **Сохранить DMarket API** | Сохраняет новые ключи. После сохранения бот использует их в работе |

***

#### Oxygen API

| Поле                     | Что означает                                     |
| ------------------------ | ------------------------------------------------ |
| **API Key**              | Текущий Oxygen API key                           |
| **Статус**               | Показывает, разрешён ли доступ по текущему ключу |
| **Новый Oxygen API key** | Поле для ввода нового ключа Oxygen               |
| **Сохранить Oxygen API** | Сохраняет и проверяет Oxygen API key             |

***

#### Proxy

| Поле                                   | Что означает                                                |
| -------------------------------------- | ----------------------------------------------------------- |
| **Текущий proxy**                      | Показывает текущий proxy, если он задан                     |
| **Статус**                             | Показывает, работает ли proxy или бот подключается напрямую |
| **Proxy в формате ip:port:login:pass** | Поле для ввода proxy                                        |
| **Проверить Proxy**                    | Проверяет, отвечает ли текущий proxy                        |
| **Сохранить Proxy**                    | Сохраняет новый proxy или отключает proxy, если поле пустое |

***

#### Telegram

| Поле                      | Что означает                                       |
| ------------------------- | -------------------------------------------------- |
| **Bot Token**             | Текущий токен Telegram-бота                        |
| **Allowed User ID**       | Telegram ID пользователя, которому разрешён доступ |
| **Новый Bot Token**       | Поле для ввода нового токена                       |
| **Новый Allowed User ID** | Поле для ввода нового Telegram ID                  |
| **Сохранить Telegram**    | Сохраняет настройки Telegram                       |

После изменения **Bot Token** или **Allowed User ID** нужно перезапустить backend.

***

#### Основные настройки торговли

<figure><img src="/files/uW5NT5ttYaazLVo6ahi1" alt=""><figcaption></figcaption></figure>

| Настройка                                   | Что означает                                                                  |
| ------------------------------------------- | ----------------------------------------------------------------------------- |
| **Анализировать по первым N конкурентам**   | Сколько ближайших продавцов учитывать при расчёте цены покупки                |
| **Доход по конкурентам (%)**                | Минимальная прибыль относительно текущих конкурентов                          |
| **Доход по графику продаж (%)**             | Минимальная прибыль относительно истории продаж                               |
| **Цена вещей на покупку ОТ ($)**            | Минимальная цена предметов для покупки                                        |
| **Цена вещей на покупку ДО ($)**            | Максимальная цена предметов для покупки                                       |
| **Кол-во продаж для анализа (%)**           | Какую долю продаж учитывать при проверке популярности                         |
| **Минимум продаж для анализа**              | Минимальное число продаж, чтобы предмет считался ликвидным                    |
| **Исключить если не продавалась (дней)**    | Не покупать предмет, если он не продавался указанное число дней               |
| **За последние (дней)**                     | За какой период смотреть продажи                                              |
| **Не ставить ордер если на продаже больше** | Не покупать предмет, если предложений на рынке уже слишком много              |
| **Максимум ордеров за запуск**              | Сколько новых ордеров можно создать за один ручной запуск                     |
| **Цель активных buy orders**                | Сколько активных buy-orders бот должен стараться держать                      |
| **Резерв слотов**                           | Сколько мест под ордера оставить свободными                                   |
| **Размер refill batch**                     | Сколько новых ордеров можно добавить за один цикл автопополнения              |
| **Ордеров проверять за тик**                | Сколько ордеров проверять за один короткий цикл контроля. `0` — проверять все |
| **Автопополнение buy orders**               | Включает автоматическое добивание количества ордеров до цели                  |
| **Макс. одинаковых предметов**              | Ограничивает покупку одинаковых предметов. `0` — без лимита                   |
| **Цикл контроля ордеров (часы)**            | Через сколько часов автоматически остановить контроль. `0` — не останавливать |

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

Стандартные значения можно воспринимать как средний пресет. Он не пытается скупать всё подряд, но и не зажимает бота в супер-жёсткие рамки. Если вы запускаете DMarket Bot впервые, лучше начать именно с более аккуратных настроек и первые несколько дней смотреть, какие предметы бот выбирает, что он скипает и как ведут себя ордера.

***

#### Уровни по балансу

Уровни по балансу позволяют использовать разные правила покупки при разном размере банка.

<figure><img src="/files/mUHclzIqIbWF48rY8dae" alt=""><figcaption></figcaption></figure>

| Поле                                        | Что означает                                                 |
| ------------------------------------------- | ------------------------------------------------------------ |
| **Уровень 1 / 2 / 3**                       | Раскрывает настройки конкретного диапазона баланса           |
| **Баланс от ($)**                           | Нижняя граница баланса                                       |
| **Баланс до ($)**                           | Верхняя граница баланса                                      |
| **Анализировать по первым N конкурентам**   | Сколько конкурентов учитывать на этом уровне                 |
| **Доход по конкурентам (%)**                | Минимальная прибыль по конкурентам для уровня                |
| **Доход по графику продаж (%)**             | Минимальная прибыль по истории продаж для уровня             |
| **Цена вещей на покупку ОТ / ДО ($)**       | Диапазон цены предметов для уровня                           |
| **Кол-во продаж для анализа (%)**           | Требование к активности продаж                               |
| **Минимум продаж для анализа**              | Минимальное количество продаж                                |
| **Исключить если не продавалась (дней)**    | Сколько дней без продаж допускается                          |
| **За последние (дней)**                     | За какой период смотреть продажи                             |
| **Не ставить ордер если на продаже больше** | Максимальное количество предложений на рынке                 |
| **Макс. одинаковых предметов**              | Сколько одинаковых предметов можно держать. `0` — без лимита |

Уровни по балансу позволяют менять стратегию в зависимости от свободных денег на аккаунте. Это удобно, потому что поведение при балансе $5000 и при балансе $500 не должно быть одинаковым.

Когда свободного баланса много, можно позволить боту работать шире: быстрее закупаться, брать больше предметов, соглашаться на чуть меньший процент или иногда заходить в более редкие позиции. В такой ситуации главная задача — загрузить баланс в работу, но не превратить закуп в мусорный пылесос.

Когда свободного баланса становится меньше, логично ужесточать фильтры. Бот может начать выбирать только самые интересные сделки, требовать больше профита, смотреть на ликвидность строже и не тратить остаток баланса на средние варианты.

Например, верхний уровень можно сделать более активным: пока денег много, бот закупает шире. Средний уровень — более аккуратным. Нижний уровень — максимально требовательным, чтобы последние деньги уходили только в самые сильные сетапы.

Если вы не хотите усложнять, можно поставить одинаковые настройки на всех уровнях. Но сила этой функции именно в гибкости. Она помогает сделать стратегию живой: бот не ведёт себя одинаково при любом балансе, а подстраивается под текущий размер доступных денег.

***

#### Дополнительные настройки

<figure><img src="/files/xSzixEGYmcGOBKDV7Slt" alt=""><figcaption></figcaption></figure>

| Настройка                               | Что означает                                                              |
| --------------------------------------- | ------------------------------------------------------------------------- |
| **Исключать дорогие точки из графика**  | Убирает из анализа подозрительно дорогие продажи                          |
| **До N точек**                          | Сколько точек графика максимум можно исключить                            |
| **Последних (%)**                       | Какую часть последних продаж проверять на завышение                       |
| **Но не менее**                         | Минимальное количество точек для проверки                                 |
| **На (%)**                              | Насколько цена должна отличаться, чтобы считаться слишком дорогой         |
| **Игнорировать популярность**           | Позволяет покупать менее популярный предмет при высокой расчётной прибыли |
| **Если доход по графику превышает (%)** | Порог прибыли, после которого бот может не требовать много продаж         |
| **Игнорировать 1-го конкурента**        | Позволяет не учитывать первого конкурента, если он выбивается по цене     |
| **Если с 2 по N позицию**               | До какой позиции смотреть конкурентов для сравнения                       |
| **Дороже на (%)**                       | Насколько первый конкурент должен отличаться, чтобы бот его игнорировал   |

Дополнительные настройки нужны для защиты от мусорных данных. На графике продаж могут попадаться странные сделки: предмет с редким флоатом, дорогими стикерами, необычным паттерном или просто случайная покупка сильно выше нормального рынка.

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

Настройка **Исключать дорогие точки из графика** как раз помогает вырезать такие выбросы. Бот смотрит на последние продажи и не даёт одной странной цене превратить обычный предмет в якобы супервыгодную сделку.

Смысл простой: бот должен анализировать нормальный рынок, а не случайные аномалии. Чем чище данные на входе, тем адекватнее решения по закупке.

***

#### Blacklist

| Поле                  | Что означает                                      |
| --------------------- | ------------------------------------------------- |
| **Исключенные слова** | Слова, по которым предметы исключаются из анализа |

Пример:

```txt
souvenir, stattrak, sticker
```

Blacklist полезен, если вы не хотите, чтобы бот работал с определёнными категориями предметов.

***

#### Сохранение

| Кнопка                  | Что делает                                                                          |
| ----------------------- | ----------------------------------------------------------------------------------- |
| **Сохранить настройки** | Сохраняет торговые настройки, уровни по балансу, дополнительные фильтры и blacklist |

После изменения ключевых параметров лучше пересобрать ордера через **Full rebuild**, чтобы текущая сетка соответствовала новым правилам.

***

### Рекомендуемый порядок запуска

<table><thead><tr><th width="123">Шаг</th><th>Что сделать</th></tr></thead><tbody><tr><td><strong>1</strong></td><td>Добавить DMarket API keys</td></tr><tr><td><strong>2</strong></td><td>Проверить Oxygen API key</td></tr><tr><td><strong>3</strong></td><td>Настроить proxy и Telegram при необходимости</td></tr><tr><td><strong>4</strong></td><td>Задать основные торговые настройки</td></tr><tr><td><strong>5</strong></td><td>Настроить уровни по балансу, если хотите разные стратегии под разный банк</td></tr><tr><td><strong>6</strong></td><td>Добавить blacklist и дополнительные фильтры</td></tr><tr><td><strong>7</strong></td><td>Сохранить настройки</td></tr><tr><td><strong>8</strong></td><td>На Dashboard запустить <strong>Импорт предметов</strong></td></tr><tr><td><strong>9</strong></td><td>Запустить <strong>Анализ базы данных</strong></td></tr><tr><td><strong>10</strong></td><td>Выставить buy-orders</td></tr><tr><td><strong>11</strong></td><td>Включить <strong>Контроль ордеров</strong></td></tr><tr><td><strong>12</strong></td><td>После покупок следить за страницами <strong>История</strong>, <strong>Продажи</strong> и <strong>Монитор</strong></td></tr></tbody></table>

Для первого запуска не пытайтесь сразу выжать максимум. DMarket Bot лучше раскрывается, когда вы сначала даёте ему поработать на спокойных настройках и наблюдаете за поведением.

Начните с базовой настройки API, прокси при необходимости и аккуратных торговых фильтров. Лимит одинаковых предметов лучше поставить в `1`, чтобы бот не набирал много одной позиции. По уровням баланса можно сначала оставить похожие настройки, а уже позже сделать стратегию более гибкой.

После настройки запустите авто-бота. Он начнёт полный цикл: выставление buy orders, контроль, обновление невыгодных позиций, фиксация покупок и дальнейшую работу по закупке.

После этого зайдите во вкладку [**Монитор**](#monitor) и отдельно включите Sell Monitor. Так цены продажи будут обновляться параллельно с закупкой, а не только внутри общего цикла авто-бота.

Первые дни лучше наблюдать, а не постоянно менять настройки. Смотрите, какие предметы бот покупает, какие ордера снимает, что пишет в консоли и как быстро появляются продажи. После нескольких дней работы уже можно осознанно подкручивать стратегию.

***

### Как читать результат

<table><thead><tr><th width="200">Где смотреть</th><th>Что проверять</th></tr></thead><tbody><tr><td><strong>Dashboard</strong></td><td>Баланс, активные ордера, покупки за 24ч, общий профит и статус авто-бота</td></tr><tr><td><strong>Консоль</strong></td><td>Ошибки, предупреждения, покупки и действия бота</td></tr><tr><td><strong>Ордера</strong></td><td>Текущие buy-orders, ROI, диапазоны и статусы</td></tr><tr><td><strong>История</strong></td><td>Купленные и проданные предметы, даты, threshold и профит</td></tr><tr><td><strong>Продажи</strong></td><td>Инвентарь, предметы на продаже и общий финансовый результат</td></tr><tr><td><strong>Монитор</strong></td><td>Корректность цен продажи и состояние Trade Ban / Fresh / Old предметов</td></tr></tbody></table>

***

### Что важно учитывать

DMarket Bot автоматизирует рутину, но не отменяет необходимость аккуратной настройки.

<table><thead><tr><th width="253">Момент</th><th>Почему важен</th></tr></thead><tbody><tr><td><strong>Ликвидность предмета</strong></td><td>Если предмет плохо продаётся, высокий расчётный профит может быть бесполезен</td></tr><tr><td><strong>Комиссия</strong></td><td>Неправильная комиссия ломает расчёт цены продажи</td></tr><tr><td><strong>Конкуренты</strong></td><td>Слишком агрессивные настройки могут приводить к частым перебиваниям</td></tr><tr><td><strong>Blacklist</strong></td><td>Без blacklist в анализ могут попадать нежелательные категории</td></tr><tr><td><strong>Балансовые уровни</strong></td><td>Один и тот же риск-профиль не всегда подходит для маленького и большого банка</td></tr><tr><td><strong>Sell Monitor</strong></td><td>Купленный предмет ещё нужно правильно продать, а не просто купить “дешевле рынка”</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://tools.oxygen.wiki/docs/soft/dmarket.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
