Перейти к основному содержимому

Настройки торговли

Это вкладка «Стратегия торговли» в рабочем пространстве аккаунта. Здесь вы задаёте, по какой цене бот покупает и продаёт, какую прибыль закладывает, как защищается от падающего рынка и насколько агрессивно действует.

Документ разобран ровно по тем же секциям, что вы видите на экране, и каждый параметр назван его точной русской подписью из интерфейса «в кавычках». Где это полезно, рядом в коде приведён внутренний ключ — но ориентируйтесь на подпись.

Начните с пресета, потом тюнингуйте

Не настраивайте 30 полей вручную. Вверху вкладки есть три пресета«Безопасная» / «Сбалансированная» / «Агрессивная». Нажмите один (он заполнит ключевые поля разумными значениями), затем меняйте только то, что вам важно. Реальные значения пресетов — в таблице ниже.

🖼 Скриншот

Вкладка «Стратегия торговли» целиком. Подписать: (1) переключатель пресетов слева вверху («Безопасная / Сбалансированная / Агрессивная»), (2) выпадающий список области применения справа («По умолчанию» / «Группа · …»), (3) кнопки «Сбросить» и «Сохранить».

Область применения: аккаунт или группа

Справа вверху — выпадающий список:

  • «По умолчанию» — настройки действуют на весь аккаунт.
  • «Группа · имя» — переопределения только для предметов этой группы. Под переключателем показывается «затронуто предметов: N». Настройки группы накладываются поверх аккаунтных, так что один аккаунт может вести разные стратегии для разных наборов предметов.

После правок жмите «Сохранить», либо «Сбросить», чтобы откатить несохранённое.


Как считается цена

Цена формируется в два этапа: алгоритм даёт базовую цену из рыночных данных, затем поверх неё накручиваются комиссия Steam, ваш процент прибыли и клэмпы (минимумы прибыли).

Цена продажи — это NET

Цена, которую вы задаёте/получаете при продаже, — это сумма, которую получает продавец (за вычетом комиссий Steam). Покупатель платит больше (gross). Система считает обе величины и отправляет в Steam именно net — иначе листинг был бы завышен примерно на 15 % и не продавался. Подробнее — Глоссарий.

Откуда берутся данные о ценах

«График продаж» для алгоритмов строится из снапшотов, которые сервис накапливает каждые ~6–8 часов, а не из разовых обращений к Steam. Чем дольше работает накопление, тем устойчивее цена. Стакан ордеров (для алгоритма «Стакан» и для live-проверок) подтягивается в момент решения.


Полная таблица настроек

Ниже — все поля, сгруппированные по секциям экрана. Колонка «0 / пусто = …» — самый важный столбец: у многих настроек ноль или пустое значение означает «выключено», а не «лимит 1».

Мажорные единицы против центов

Большинство денежных полей задаются в мажорной валюте (доллары/рубли, например 2 = 2 $), а не в центах. Это касается, в частности, «Мин. прибыль» и «Не продавать, если стикеры $ >». Проценты и количества — как обычно.

Игра

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Игра» (appid)Каталог предметов, по которому идёт анализ (CS2 = 730, Rust = 252490). Управляет тем, какие гарды показываются (стикеры/float — только для CS2).выбортекущий аккаунта

Цели по прибыли

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Целевая доходность» (profitPercent)Целевая маржа поверх базовой цены.%по пресетубез наценки
«Мин. доходность» (profitPercentMin)Нижняя граница маржи — цена не опустится ниже неё.%по пресетубез нижней границы
«Мин. прибыль» (minProfit)Минимальная абсолютная прибыль на сделку. Мажорные единицы (не центы!).валютабез абсолютного минимума

Финансовая защита

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Макс. суммарная экспозиция ($)» (maxOrderExposure)Жёсткий потолок суммы всех открытых buy-ордеров.валютаавто: ограничивает только баланс (10× баланса кошелька)
Лимит экспозиции

Если «Макс. суммарная экспозиция» не задана, единственный ограничитель — баланс × 10. На реальном балансе это разрешит крупную суммарную экспозицию. Перед боевым запуском задайте конкретный потолок. При неизвестном балансе (аккаунт ещё не синкнут) система считает баланс равным 0 и ордера не ставит — это защита, а не ошибка.

Продажа

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Алгоритм» (sellAlgorithm)Алгоритм цены продажи (см. таблицу алгоритмов).выборпо пресету
«Множитель цены» (sellAlgorithmCoefficient)Коэффициент к базовой цене алгоритма.множитель1
«Авто-перебивание» (removeFromSaleIfCompetitor)Снимать листинг, если конкурент встал ниже (перебил), чтобы перевыставиться.вкл/выклвыклвыкл

Покупка

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Алгоритм» (buyAlgorithm)Алгоритм цены покупки.выборпо пресету
«Множитель цены» (buyAlgorithmCoefficient)Коэффициент к базовой цене алгоритма.множитель1
«Смещение цены (стакан)» (orderBidOffset)Только для алгоритма «Стакан»: на сколько процентов ниже верхнего buy-ордера встать. Может быть отрицательным (встать выше топ-ордера).%по пресету (−0.5…0.5)ровно на уровне верхнего ордера
«Размер ордера» — режим % (orderQuantityPercent, orderSizeMode='percent')Количество = round(месячные_продажи × % / 100), ограничено «Макс. предметов для ордеров». Объём масштабируется под ликвидность.%по умолчанию
«Размер ордера» — режим «Фикс» (orderFixedQuantity, orderSizeMode='fixed')Ровно столько штук в ордере, игнорируя ликвидность и потолок.шт1
«Лимит позиции» (maxInventory)Потолок общего количества предмета на руках (инвентарь + открытые ордера). Достигнут — покупка по предмету пропускается.штбез лимита
Транзиентная пауза покупки

Если Steam отвечает «инвентарь полон» или «недостаточно средств», система временно ставит покупку на паузу (cooldown), при этом продажа продолжается (освобождает инвентарь и средства). Покупка возобновляется автоматически. Ваши per-item флаги при этом не трогаются.

Фильтры рынка

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Мин. продаж в месяц» (cntSalesMonth)Не торговать предметы, у которых меньше N продаж в месяц (фильтр неликвида). При отсутствии данных о продажах — fail-closed (режется).шт/меспо пресетубез фильтра ликвидности
«Глубина очереди покупки (× продажи)» (ordersPlace)Depth-гейт покупки: лимит = месячные_продажи × ordersPlace / 100. Если очередь на нашей цене глубже — покупку пропускаем.% от мес. продаж0 / -1 / пусто = выкл
«Глубина очереди продажи (% продаж)» (listingPlace)Аналогичный depth-гейт со стороны продажи.% от мес. продаж0 = выкл (не «лимит 1»)
«Макс. предметов для ордеров» (maxItemsForOrders)Потолок штук на один buy-ордер в режиме %.шт1 при 0/пустопо умолчанию 1 предмет на ордер

Глубина анализа

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Дней истории цен» (countDayHistoryGraph)Сколько дней истории продаж берётся в расчёт алгоритма.днипо умолчанию
«Фильтр выбросов % (коридор)» (percentLimit)Отсекает аномальные точки цены вне коридора ±%.%по умолчаниюбез отсечки выбросов
«Проверять ордера на покупку» (checkHistogramBeforeBuy)Перед покупкой сверяться с живым стаканом, подрезать цену до верхний_ордер + 1; если уходим выше потолка — пропустить.вкл/выклвыклвыкл
«Проверять листинги на продажу» (checkHistogramBeforeSell)Перед листингом сверяться с рынком и при необходимости встать на 1 единицу ниже самого дешёвого листинга, но не ниже профит-флора.вкл/выклвыклвыкл

Защита по тренду

Таблица «период × направление». Значение — порог в процентах: при движении сильнее порога предмет блокируется в соответствующую сторону. Падение блокирует покупку (не ловим падающий нож); рост может блокировать сторону по логике тренда. Важно: блок «падение» — buy-only, продажа уже имеющегося инвентаря при этом продолжается.

Метка в UIЧто делаетЕдиницы0 / пусто = …
«Месяц» → «Падение %» / «Рост %» (monthTrend / monthTrendUp)Порог месячного тренда вниз / вверх.%выкл
«Неделя» → «Падение %» / «Рост %» (weekTrend / weekTrendUp)Порог недельного тренда.%выкл
«День» → «Падение %» / «Рост %» (dayTrend / dayTrendUp)Порог дневного тренда.%выкл

Обслуживание и защита

Запускается автоматически примерно раз в час.

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Отменять, если прибыль превышает %» (cancelOrderIfProfitMoreThen)Отменяет зависший buy-ордер, если потенциальная прибыль по нему стала слишком велика (рынок ушёл). Ставьте высоко (≥50 %) — низкие значения отменяют здоровые ордера.%пусто = выкл
«Отклонение для переоценки %» (repriceDeviationPercent)Если цена листинга «уехала» от свежей рыночной больше чем на этот %, листинг снимается; следующий цикл продажи перевыставит его по новой цене.%по умолчанию0 = переоценка выключена (не «нулевая толерантность»)
«Снимать с продажи через (дней)» (removeFromSaleDays)Снимать листинги старше N дней. Работает по живым листингам Steam, включая созданные вне SteamMarketRunner.дни0 / пусто = выкл
«Отменять buy-ордера через (дней)» (cancelBuyOrderDays)Авто-отмена buy-ордеров старше N дней (каждый час).дни0 / пусто = выкл
«Снимать даже при активном ордере» (removeFromSaleDaysIgnoreOrders)Снимать старый листинг, даже если по предмету есть активный buy-ордер.вкл/выклвыклвыкл
«Keep sticker items» ⚠ (removeFromSaleDaysSkipWithStickers)Не снимать автоматически старые листинги, несущие стикеры.вкл/выклвыклвыкл
«Отменять ордера при переизбытке» (cancelOrderIfLow)Отменять buy-ордера, когда наше предложение по предмету стало велико.вкл/выклвыклвыкл

Гарды по стикерам и float (только CS2)

Эти поля видны только если «Игра» = CS2 (appid 730). Для Rust секции нет.

Метка в UIЧто делаетЕдиницы0 / пусто = …
«Не продавать, если стикеры $ >» (dontSellIfStickersPrice)Не продавать предмет, если суммарная цена стикеров выше порога. Мажорные единицы.валютабез порога
«Не продавать, если серия стикеров >» (dontSellIfStickersStreak)Не продавать при N одинаковых стикеров подряд.штбез проверки
«Float guard» ⚠ (checkFloat)Включает фильтр по float; открывает поля «Float min/max».вкл/выклвыкл
«Float min» / «Float max» ⚠ (floatMin / floatMax)Не продавать предметы вне диапазона float. Достаточно одной границы (min→0, max→1).0…1
Не все CS2-подписи переведены

В текущей версии подписи «Keep sticker items», «Float guard», «Float min», «Float max» ещё не локализованы — в интерфейсе они показываются по-английски (резервные значения). Остальные стикер-поля переведены. Не пугайтесь английского текста в этой подсекции.

Когда гарды float/стикеров реально срабатывают

Гарды активируются только при наличии данных. Резолв float требует включённого внешнего inspect-сервиса (по умолчанию выключен). Без данных гард — безопасный no-op: он не блокирует продажу «на пустом месте».

Скорость торговли

Метка в UIЧто делаетЕдиницыПо умолчанию0 / пусто = …
«Предметов за цикл» (maxCandidates)Сколько предметов обрабатывается за один цикл продажи/покупки. Клампится потолком платформы.шт25по умолчанию 25
«Задержка между действиями» (requestDelayMs)Пауза между действиями Steam внутри цикла. Главный анти-микробан-рычаг: больше = безопаснее (меньше риск микробана), но медленнее.мсминимум платформы0 = максимально быстро
Микробан-защита

«Задержка между действиями» — ваш главный инструмент против микробанов. Если Steam начинает «капризничать» (отказы, временные блоки), увеличьте задержку (например, 500–1500 мс). Риск от агрессии изолирован на вашем аккаунте, но Steam не любит спам по одной сессии.


Какой алгоритм выбрать

Семь алгоритмов. Шесть редуцируют график продаж (накопленные снапшоты), седьмой — «Стакан» — работает по живому order-book. Алгоритм покупки и продажи выбираются раздельно.

Код / подпись в UIЧто берёт за основуДляКогда брать
MS · «Самая частая (модальная цена)»мода (самая частая цена) графика продажпрод./покуп.стабильные ходовые предметы
HG · «Максимум (медиана дневных максимумов)»медиана дневных максимумовпродажапродавать ближе к верхней границе
HSG · «Максимум — безопасно (мин. дневной максимум)»минимум дневных максимумовпродажаосторожнее, чем HG
AVG · «Среднее (медиана продаж)»взвешенная медианапрод./покуп.сбалансированно
LG · «Минимум (медиана дневных минимумов)»медиана дневных минимумовпрод./покуп.продавать быстро / закупать дёшево
BG · «Покупка (дневные минимумы как цена покупки)»медиана дневных минимумов как цена покупкипокупкаагрессивная закупка по низу
OG · «Стакан (% от верхнего ордера)»верхний buy-ордер ± «Смещение цены (стакан)»покупкавставать в очередь относительно топ-ордера

Куда «приземляется» каждый алгоритм относительно дневного коридора цены:

высоко ┌─────────────── HG (медиана дневных максимумов)
│ HSG (мин. дневной максимум)
цена │ MS / AVG (центр массы продаж)
│ LG / BG (медиана дневных минимумов)
низко └───────────────

OG: не из графика продаж, а от верхнего buy-ордера в стакане
── смещение «Смещение цены (стакан)» (±%, может быть отрицательным)
Алгоритм «Стакан» (OG) и «Смещение цены (стакан)»

OG не использует график продаж. Он берёт верхний buy-ордер из стакана и сдвигает на «Смещение цены (стакан)» (orderBidOffset) процентов ниже. Положительное смещение → встаём ниже топ-ордера (дешевле, дольше ждать исполнения); отрицательное → встаём выше (быстрее, но дороже). Пресеты используют −0.5 / 0 / 0.5.


Пресеты стратегий

Реальные значения трёх пресетов (кнопки вверху вкладки). Нажатие пресета заполняет именно эти поля; остальные не трогаются.

Поле«Безопасная»«Сбалансированная»«Агрессивная»
«Целевая доходность» (profitPercent)12 %8 %4 %
«Мин. доходность» (profitPercentMin)8 %4 %2 %
«Алгоритм» продажи (sellAlgorithm)HGHGAVG
«Алгоритм» покупки (buyAlgorithm)LGHGHG
«Смещение цены (стакан)» (orderBidOffset)0.50−0.5
«Мин. продаж в месяц» (cntSalesMonth)2051
«Неделя · Падение %» (weekTrend)101530
«День · Падение %» (dayTrend)3510

Логика:

  • «Безопасная» — высокая маржа, продаём дорого (HG) и покупаем дёшево (LG), берём только ликвид (≥20 продаж/мес), жёсткая защита по тренду.
  • «Сбалансированная» — умеренная маржа, тот же алгоритм на обе стороны (HG), средний фильтр ликвидности.
  • «Агрессивная» — тонкая маржа, продаём по среднему (AVG), покупаем по HG со смещением выше топ-ордера, торгуем даже неликвид (≥1 продажа/мес), широкие пороги тренда.

Обслуживание (что происходит автоматически)

Раз в ~час, без вашего участия:

  • Отмена невыгодных/зависших ордеров — по «Отменять, если прибыль превышает %» и по логике переизбытка.
  • Переоценка — снимает «уехавшие» листинги (порог «Отклонение для переоценки %»); следующий цикл продажи перевыставит их по свежей цене.
  • Снятие старых листингов — по «Снимать с продажи через (дней)» и сопутствующим флагам.
  • Отмена старых buy-ордеров — по «Отменять buy-ордера через (дней)».

Подробный разбор цикла — в Как работает торговля.


Дальше