Skip to content

feat: Order Book Density Scanner — сканер плотностей стакана заявок#5

Open
devin-ai-integration[bot] wants to merge 5 commits into
mainfrom
devin/1779190671-density-scanner
Open

feat: Order Book Density Scanner — сканер плотностей стакана заявок#5
devin-ai-integration[bot] wants to merge 5 commits into
mainfrom
devin/1779190671-density-scanner

Conversation

@devin-ai-integration
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot commented May 19, 2026

Summary

Сканер крупных плотностей в стакане заявок криптобирж с веб-интерфейсом.

Ключевые изменения (v2)

  • Нативные API бирж вместо ccxt — прямые HTTP-запросы к Gate.io, Bybit, MEXC, HyperLiquid, KuCoin, OKX, Bitget
  • Карточный интерфейс — плотности сгруппированы по торговым парам в отдельные карточки (как на референсе)
  • Отслеживание времени — показывает сколько времени плотность находится в стакане (1с, 5м 3с, 1ч 20м)
  • Авто-сканирование — фоновое сканирование с настраиваемым интервалом
  • Тег биржи на каждой строке плотности
  • Скрытие карточек — кнопка 👁 для скрытия ненужных пар

Настройки пользователя

  • Минимальный объём 24ч отдельно для спота и фьючерсов
  • Дальность до плотности от цены (%)
  • Минимальный объём плотности (USD)
  • Включение/выключение бирж
  • Включение/выключение рынков (спот/фьючерсы)
  • Избранные монеты

Запуск

python main.py
# Откройте http://localhost:8000

Review & Testing Checklist for Human

  • Запустить python main.py, открыть http://localhost:8000, нажать «Сканировать»
  • Проверить что плотности отображаются в карточках с правильным цветом (зелёный = bid, красный = ask)
  • Включить авто-скан и проверить что время плотностей обновляется
  • Проверить фильтры: объём спот/фьючерсы, дальность %, вкл/выкл бирж
  • Добавить монету в избранное и проверить что карточка помечается

Notes

  • Bybit может быть заблокирован по гео в некоторых регионах (CloudFront)
  • AsterDEX не реализован — нет публичного API
  • HyperLiquid поддерживает только фьючерсы
  • Настройки сохраняются в localStorage

Link to Devin session: https://app.devin.ai/sessions/ad38188863d44f139d3b5cd70d8f592e
Requested by: @evgetos

- FastAPI backend with ccxt exchange connectors
- Supports Gate, Bybit, MEXC, KuCoin, OKX, Bitget, HyperLiquid
- Spot and perpetual futures markets
- Order book density detection (large volume levels)
- Dark-themed responsive web interface
- User settings: volume filters, distance %, exchange toggles, favorites
- Search and sort functionality

Co-Authored-By: harlequincariotta <harlequincariotta@wshu.net>
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration Bot and others added 4 commits May 19, 2026 11:51
Co-Authored-By: harlequincariotta <harlequincariotta@wshu.net>
Major rewrite:
- Replace ccxt with direct HTTP API calls to each exchange
- Card-based layout grouped by trading pair (matching reference UI)
- Density time tracking (age_seconds - how long density has been present)
- Auto-scan mode with background polling
- Per-card controls: hide, favorite
- Exchange tags on each density row
- Responsive grid layout with dark theme

Co-Authored-By: harlequincariotta <harlequincariotta@wshu.net>
… pairs

- Distance filter now applies client-side on input change (re-renders instantly)
- Cards show ASK (sells) on top, BID (buys) on bottom
- Strict USDT pair filtering (endsWith instead of contains)
- Fix Gate.io futures orderbook parsing (p/s object format)
- Fix MEXC futures orderbook parsing (3-element arrays)
- Hide cards with 0 matching densities after filtering

Co-Authored-By: harlequincariotta <harlequincariotta@wshu.net>
- Add 'Заявок в карточке' setting (default 10) to limit rows per card
- Sort densities by distance_pct ascending (closest to price first)
- Setting changes re-render cards instantly (client-side)
- Split max rows evenly between asks and bids

Co-Authored-By: harlequincariotta <harlequincariotta@wshu.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant