Эта спецификация описывает интерфейс MVP — таблицы плотностей для стратегии "отскок от плотностей".
Densities (active), Mini-Charts, SignalsminNotional (number, default 50000)windowPct (number, default 1.0)depthLimit (number, default 100)symbols (comma-separated, placeholder: BTCUSDT,ETHUSDT)concurrency (number, default 6)Auto + Interval (5s/10s/20s)Refresh (зелёная)Колонки (14 шт):
.sym)%)Логика x:
x = notional / mmBase
Пример:
- mmBase = 100k
- notional = 400k
- x = 4 (х4 от маркет-мейкера)
Поведение:
isMM класс) для строк с isMM=trueIdle:
Loading:
Success:
Error:
Filter (шестерёнка или "Filter")minNotional, windowPct, depthLimit, symbols, concurrencyClear, ApplyRefresh в header (если нет auto-refresh)Symbol | BID level | BID dist | BID notional | BID x | ASK x | ScoreisMM — зелёный фон или звёздочка ⭐x — во сколько раз больше маркет-мейкераsidebar — display: nonebtn-filters — показывается только на mobilemodal — показывается по кнопке Filter11px для таблицы{
"count": 16,
"minNotional": 50000,
"windowPct": 1.0,
"xFilter": 4, // фильтр: показывать только x >= 4
"data": [
{
"symbol": "BTCUSDT",
"side": "bid",
"levelPrice": 67225.1,
"distancePct": 0.02,
"notional": 81492,
"mmBase": 200000,
"x": 0.407, // 81492 / 200000
"isMM": false,
"score": 4.85
},
{
"symbol": "BTCUSDT",
"side": "bid",
"levelPrice": 67200.5,
"distancePct": 0.03,
"notional": 800000,
"mmBase": 200000,
"x": 4.0, // 800000 / 200000
"isMM": true,
"score": 6.21
},
{
"symbol": "BTCUSDT",
"side": "ask",
"levelPrice": 67230.5,
"distancePct": 0.05,
"notional": 102166,
"mmBase": 200000,
"x": 0.51,
"isMM": false,
"score": 5.32
}
]
}
scalp tight, swingeatSpeed, lifetimeSec, statex (x2, x4, x6, x10+)| Класс | Назначение |
|---|---|
.sidebar |
Боковая панель (desktop) |
.main |
Основной контейнер |
.table |
Таблица плотностей |
.sym |
Жирный текст символа |
.isMM |
Зелёный фон для MM-уровней |
.x-high |
Золотистый/жёлтый фон для высокого x (опционально) |
.eatSpeed-high |
Красный фон для высокой eatSpeed (опционально) |
.error |
Блок ошибки |
.modal |
Модальное окно фильтров |
.btn-primary |
Основные кнопки |
.btn-secondary |
Вспомогательные кнопки |
✅ UI реализован под твои скрины (desktop wide + mobile)
✅ Backend работает через systemd
✅ HTTPS активен на futures-screener.szhub.space
✅ Метрики eatSpeed, lifetimeSec, state добавлены в API
✅ x = notional / mmBase — нужно добавить в API и UI
Следующий шаг: Добавить фильтр по x в UI и API.