Базовая валютаNIGHT
Котируемая валютаUSDT
Статус на биржеtrading
Состояние жизненного циклаdiscovered
Чёрный списокНет
Принудительно отключёнНет
Первое обнаружение27.05.2026 22:02
Последнее обнаружение27.07.2026 08:25

Операционный охват

Контур Включён Причина
registry Да Символ находится в историческом registry.
tracking Нет Tracking отключён.
collection Нет Collection отключён.
coverage Нет Coverage refresh отключён.
pipeline Нет Символ не участвует в pipeline.
entries Нет Готовность к исполнению заблокирована критичными проверками.
position_management Нет Сопровождение позиций не требуется.
followup Нет Сопровождение вне active selection не требуется.

Почему система приняла текущее решение?

Pipeline CandidateНет
Код причиныSELECTION_OR_CRITERIA_FAILED
Следующая проверка
Новые входыЗапрещены
Проверка Статус Объяснение
История накоплена Да Исторические данные соответствуют требованиям слоя.
Freshness пройден Нет Свежесть обязательных рыночных данных ниже допустимого уровня.
В active selection Нет Символ не входит в active selection.
Trend snapshot Нет Последняя завершённая свеча устарела, тренд неактуален.
Risk profile snapshot Нет Последняя завершённая свеча устарела, volatility profile неактуален.
Liquidity profile snapshot Нет Order book устарел, liquidity profile неактуален.
Pipeline Candidate Нет Символ не прошёл active selection или soft criteria.
Execution readiness Нет Готовность к исполнению заблокирована критичными проверками.
Новые входы разрешены Нет Новые входы запрещены.
Execution: Mode policy allows entries Да Текущий execution mode разрешён для новых входов.
Execution: Not force disabled Да Принудительное отключение отсутствует.
Execution: Not blacklisted Да Символ не находится в чёрном списке.
Execution: Exchange trading enabled Да Биржевые торговые ограничения известны и пригодны для проверки новых входов.
Execution: Min notional known Да Min notional известен.
Execution: Order size constraints known Да Order size constraints известны.
Execution: Price/quantity precision known Да Price и quantity precision известны.
Execution: Data freshness ok Нет Свежесть обязательных рыночных данных ниже допустимого уровня.
Execution: Liquidity sufficient Нет Order book устарел, liquidity profile неактуален.
Execution: Spread within limit Нет Order book устарел, liquidity profile неактуален.
Execution: Estimated slippage within limit Нет Order book устарел, liquidity profile неактуален.
Execution: Cost profile known Нет Недостаточно данных для оценки суммарной стоимости исполнения.
Execution: Estimated total cost within limit Нет Суммарная стоимость исполнения не рассчитана.

Активные блокеры

Категория Объяснение
Устаревшие данные Свежесть обязательных рыночных данных ниже допустимого уровня.
Выпал из selection Символ выпал из active selection.

Timeline

Этап Дата
Discovery 27.06.2026 06:31
Selection 21.07.2026 08:06
Collection Start 21.07.2026 11:06
Coverage Ready 21.07.2026 08:48
Historical Ready 21.07.2026 08:17
Freshness Passed 21.07.2026 11:48
Dropped From Selection 21.07.2026 19:50
Followup Started 21.07.2026 08:06
Followup Released 21.07.2026 22:50

Сопровождение символа

Требуется сопровождение Нет
Причины сопровождения
Новые входы разрешены Нет
Сбор данных продолжается Нет
Coverage продолжается Нет
Position management required Нет
Дата последнего selected state 21.07.2026 22:34
Дата выпадения из selection 21.07.2026 22:50
Cooldown до

Биржевые ограничения и tradeability

TradeabilityГотов
Статус metadataready
ПричинаБиржевые торговые ограничения известны и пригодны для проверки новых входов.
Обновлено2026-07-27 08:25:31
Exchange symbol NIGHT-USDT
Trading enabled Да
Tick size 0.000010000000
Lot size 0.100000000000
Min order size 10.000000000000
Max order size 10000000000.000000000000
Min notional 0.100000000000
Price precision 5
Quantity precision 1

Тренд по символу

Primary timeframe5m
Статусstale_data
НаправлениеUnknown
Samples48
Последняя завершённая свеча устарела, тренд неактуален.
Timeframe Status Direction Strength Confidence Samples Last completed candle Message
1m stale_data Unknown 60 2026-07-22 01:42:00 Последняя завершённая свеча устарела, тренд неактуален.
5m stale_data Unknown 48 2026-07-22 01:45:00 Последняя завершённая свеча устарела, тренд неактуален.
15m stale_data Unknown 32 2026-07-22 01:45:00 Последняя завершённая свеча устарела, тренд неактуален.

Volatility / risk profile

Primary timeframe5m
Статусstale_data
РежимUnknown
Confidence
Последняя завершённая свеча устарела, volatility profile неактуален.
Timeframe Status Regime Realized vol ATR Range % Gaps Abnormal move Confidence Explanation
1m stale_data Unknown 0 Нет Последняя завершённая свеча устарела, volatility profile неактуален.
5m stale_data Unknown 0 Нет Последняя завершённая свеча устарела, volatility profile неактуален.
15m stale_data Unknown 0 Нет Последняя завершённая свеча устарела, volatility profile неактуален.

Liquidity / spread / microstructure

СтатусStale
24h volume quote
Spread %
Slippage %
Depth near mid
Liquidity score
Order book устарел, liquidity profile неактуален.
Best bid Best ask
Spread Spread %
Depth near mid, USDT Estimated slippage %
Volume stability Abnormal volume Нет
Stale order book Да Last order book at 2026-07-22 01:41:08

Market regime / correlations

Timeframe5m
Статусstale_data
RegimeUnknown
Market directionНеизвестно
BTC corr
RS vs market %
Последняя завершённая свеча устарела, market regime неактуален.
BTC correlation BTC beta
ETH correlation ETH beta
Market return % Market breadth %
Relative strength vs BTC % Relative strength vs market %
Volume rank Volatility rank

Полнота данных по символу

Общий статусУстарело
Технический статусstale
Unknown sections0
Stale sections9
Критичные данные по символу устарели.
Секция Статус Объяснение
Exchange metadata complete Биржевые торговые ограничения собраны полностью.
Candles coverage complete Покрытие обязательных свечных таймфреймов агрегировано по coverage snapshots.
Candles freshness stale Свежесть обязательных свечных таймфреймов агрегирована по last_record_at.
Ticker stale Ticker: данные устарели.
24h stats stale 24h stats: данные устарели.
Order book complete Order book: ready.
Spread metrics stale Spread metrics: данные устарели.
Liquidity metrics stale Liquidity metrics: данные устарели.
Trend stale Тренд агрегирован по current trend snapshots для 1m/5m/15m.
Volatility / risk profile stale Волатильность агрегирована по current risk profile snapshots для 1m/5m/15m.
Liquidity profile stale Order book устарел, liquidity profile неактуален.
Market regime stale Последняя завершённая свеча устарела, market regime неактуален.
Execution constraints complete Биржевые торговые ограничения известны и пригодны для проверки новых входов.

Готовность к исполнению

Статусblocked
Новые входыЗаблокированы
Source versionv2
Execution modepaper
Spread %
Slippage %
Total cost %
ПричинаГотовность к исполнению заблокирована критичными проверками.
Check Статус Critical Объяснение
Mode policy allows entries pass Да Текущий execution mode разрешён для новых входов.
Not force disabled pass Да Принудительное отключение отсутствует.
Not blacklisted pass Да Символ не находится в чёрном списке.
Exchange trading enabled pass Да Биржевые торговые ограничения известны и пригодны для проверки новых входов.
Min notional known pass Да Min notional известен.
Order size constraints known pass Да Order size constraints известны.
Price/quantity precision known pass Да Price и quantity precision известны.
Data freshness ok fail Да Свежесть обязательных рыночных данных ниже допустимого уровня.
Liquidity sufficient fail Да Order book устарел, liquidity profile неактуален.
Spread within limit unknown Да Order book устарел, liquidity profile неактуален.
Estimated slippage within limit unknown Да Order book устарел, liquidity profile неактуален.
Cost profile known unknown Да Недостаточно данных для оценки суммарной стоимости исполнения.
Estimated total cost within limit unknown Да Суммарная стоимость исполнения не рассчитана.

Derived cohorts

Cohort Availability Included
Active selected ready Нет
Blacklisted ready Нет
Canary eligible ready Нет
Canary excluded ready Да
Collection enabled ready Нет
Coverage enabled ready Нет
Data incomplete ready Да
Execution blocked ready Да
Execution ready ready Нет
Extreme volatility ready Нет
Followup ready Нет
Force disabled ready Нет
Freshness failed ready Да
High liquidity ready Нет
High problem score ready Да
High volatility ready Нет
Low liquidity ready Нет
Market regime unknown ready Да
Market risk off ready Нет
Market risk on ready Нет
Metadata incomplete ready Нет
Pipeline candidates ready Нет
Position management required ready Нет
Readiness failed ready Нет
Slippage high ready Нет
Trend down ready Нет
Trend flat/ranging ready Нет
Trend unknown ready Да
Trend up ready Нет
Trend volatile ready Нет
Wide spread ready Нет

Диагностическая цепочка

Этап Статус Reason code Source version Последнее изменение Latest event Next action
registry enabled SYMBOL_REGISTRY v11 22.07.2026 01:50 Свежесть обязательных рыночных данных ниже допустимого уровня. discover
Символ находится в registry.
selection disabled NOT_SELECTED v11 21.07.2026 22:34 Свежесть обязательных рыночных данных ниже допустимого уровня. manual review
Символ не участвует в active selection.
followup disabled FOLLOWUP_STATE v11 Свежесть обязательных рыночных данных ниже допустимого уровня. none
collection disabled COLLECTION_SCOPE v11 22.07.2026 01:41 Свежесть обязательных рыночных данных ниже допустимого уровня. collect
Сбор данных отключён.
coverage disabled COVERAGE_SCOPE v11 22.07.2026 01:50 Свежесть обязательных рыночных данных ниже допустимого уровня. refresh coverage
Coverage refresh отключён.
readiness enabled HISTORY_READY v1 22.07.2026 01:50 Свежесть обязательных рыночных данных ниже допустимого уровня. refresh history
Исторические данные соответствуют требованиям слоя.
freshness disabled TICKER_STALE v1 22.07.2026 01:41 Свежесть обязательных рыночных данных ниже допустимого уровня. collect / refresh
Свежесть обязательных рыночных данных ниже допустимого уровня.
trend stale_data TREND_STALE_DATA v5 2026-07-22 01:45:00 Свежесть обязательных рыночных данных ниже допустимого уровня. refresh trend
Последняя завершённая свеча устарела, тренд неактуален.
volatility stale_data RISK_PROFILE_STALE_DATA v2 Свежесть обязательных рыночных данных ниже допустимого уровня. refresh risk profile
Последняя завершённая свеча устарела, volatility profile неактуален.
liquidity stale_data LIQUIDITY_PROFILE_STALE_ORDER_BOOK v2 2026-07-22 01:41:08 Свежесть обязательных рыночных данных ниже допустимого уровня. refresh liquidity profile
Order book устарел, liquidity profile неактуален.
exchange_constraints ready EXCHANGE_METADATA_READY v11 27.07.2026 08:25 Свежесть обязательных рыночных данных ниже допустимого уровня. refresh exchange metadata
Биржевые торговые ограничения известны и пригодны для проверки новых входов.
execution_readiness blocked EXECUTION_READINESS_BLOCKED v2 27.07.2026 08:30 Свежесть обязательных рыночных данных ниже допустимого уровня. manual review / adjust config
Готовность к исполнению заблокирована критичными проверками.
pipeline disabled SELECTION_OR_CRITERIA_FAILED v11 22.07.2026 01:50 Свежесть обязательных рыночных данных ниже допустимого уровня. run pipeline
Символ не прошёл active selection или soft criteria.
entries disabled ENTRIES_BLOCKED v11 22.07.2026 01:50 Свежесть обязательных рыночных данных ниже допустимого уровня. manual review
Готовность к исполнению заблокирована критичными проверками.
position_management disabled POSITION_MANAGEMENT v11 22.07.2026 01:50 Свежесть обязательных рыночных данных ниже допустимого уровня. none
Сопровождение позиции не требуется.

История сбора рыночных данных

Запуск Старт Завершение Статус Запрошено Собрано Сколько записей Gap / Ошибки / Warning Версия глобальных параметров
#97470 22.07.2026 01:41 22.07.2026 01:41 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97437 22.07.2026 01:30 22.07.2026 01:30 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97385 22.07.2026 01:09 22.07.2026 01:09 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97355 22.07.2026 00:58 22.07.2026 00:58 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97321 22.07.2026 00:48 22.07.2026 00:48 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97290 22.07.2026 00:37 22.07.2026 00:37 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97259 22.07.2026 00:26 22.07.2026 00:26 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97227 22.07.2026 00:16 22.07.2026 00:16 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97196 22.07.2026 00:05 22.07.2026 00:05 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97142 21.07.2026 23:44 21.07.2026 23:44 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97111 21.07.2026 23:33 21.07.2026 23:33 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97078 21.07.2026 23:22 21.07.2026 23:22 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97047 21.07.2026 23:12 21.07.2026 23:12 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#97016 21.07.2026 23:01 21.07.2026 23:01 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96973 21.07.2026 22:42 21.07.2026 22:42 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96942 21.07.2026 22:31 21.07.2026 22:31 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96911 21.07.2026 22:20 21.07.2026 22:20 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96880 21.07.2026 22:09 21.07.2026 22:09 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96849 21.07.2026 21:58 21.07.2026 21:58 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96818 21.07.2026 21:47 21.07.2026 21:47 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96787 21.07.2026 21:35 21.07.2026 21:35 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96756 21.07.2026 21:24 21.07.2026 21:24 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96725 21.07.2026 21:13 21.07.2026 21:13 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96694 21.07.2026 21:02 21.07.2026 21:02 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96662 21.07.2026 20:51 21.07.2026 20:51 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96630 21.07.2026 20:40 21.07.2026 20:40 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96599 21.07.2026 20:29 21.07.2026 20:29 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96567 21.07.2026 20:18 21.07.2026 20:18 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96536 21.07.2026 20:07 21.07.2026 20:07 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96504 21.07.2026 19:49 21.07.2026 19:49 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96471 21.07.2026 19:38 21.07.2026 19:38 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96437 21.07.2026 19:28 21.07.2026 19:28 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96405 21.07.2026 19:11 21.07.2026 19:11 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96374 21.07.2026 19:00 21.07.2026 19:00 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96342 21.07.2026 18:49 21.07.2026 18:49 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96311 21.07.2026 18:38 21.07.2026 18:38 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96279 21.07.2026 18:27 21.07.2026 18:27 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96246 21.07.2026 18:16 21.07.2026 18:16 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96213 21.07.2026 18:05 21.07.2026 18:05 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96181 21.07.2026 17:54 21.07.2026 17:54 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96149 21.07.2026 17:43 21.07.2026 17:43 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96117 21.07.2026 17:32 21.07.2026 17:32 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96085 21.07.2026 17:20 21.07.2026 17:20 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96054 21.07.2026 17:09 21.07.2026 17:09 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#96022 21.07.2026 16:58 21.07.2026 16:58 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#95990 21.07.2026 16:47 21.07.2026 16:47 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#95958 21.07.2026 16:36 21.07.2026 16:36 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#95926 21.07.2026 16:25 21.07.2026 16:25 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#95893 21.07.2026 16:05 21.07.2026 16:05 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0
#95861 21.07.2026 15:54 21.07.2026 15:54 completed ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics, volatility_metrics, candles_15m, order_book ticker, 24h_stats, candles_1m, candles_5m, candles_15m, order_book, spread_metrics, liquidity_metrics, volatility_metrics +9 / ~0 0 / 0 / 0

Жизненный цикл сбора данных

Последний запуск 21.07.2026 22:41
Последнее успешное завершение 21.07.2026 22:41
Последняя ошибка
Тип ошибки Тип ошибки пока неизвестен.
Provider
HTTP status
API code
Exception class

История значений рыночных данных

Когда Run ticker 24h_stats candles_1m candles_5m spread_metrics liquidity_metrics volatility_metrics candles_15m order_book
История значений рыночных данных пока отсутствует.

Суммарное количество рыночных данных

Тип данных Общее кол-во полученных значений Запусков с данными Последнее получение
ticker 0 0
24h_stats 0 0
candles_1m 0 0
candles_5m 0 0
spread_metrics 0 0
liquidity_metrics 0 0
volatility_metrics 0 0
candles_15m 0 0
order_book 0 0

История coverage

Время Тип данных Таймфрейм Records Coverage % Freshness % Status Reason Delta
22.07.2026 01:50 candles 15m 158 / 64 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:50 candles 5m 295 / 120 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:50 candles 1m 1055 / 180 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:41 candles 15m 158 / 64 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:41 candles 5m 295 / 120 100.00 100.00 ready COVERAGE_OK +2 / 0.00
22.07.2026 01:41 candles 1m 1055 / 180 100.00 100.00 ready COVERAGE_OK +11 / 0.00
22.07.2026 01:40 candles 15m 158 / 64 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:40 candles 5m 293 / 120 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:40 candles 1m 1044 / 180 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:30 candles 15m 158 / 64 100.00 100.00 ready COVERAGE_OK +2 / 0.00
22.07.2026 01:30 candles 5m 293 / 120 100.00 100.00 ready COVERAGE_OK +5 / 0.00
22.07.2026 01:30 candles 1m 1044 / 180 100.00 100.00 ready COVERAGE_OK +22 / 0.00
22.07.2026 01:22 candles 15m 156 / 64 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:22 candles 5m 288 / 120 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:22 candles 1m 1022 / 180 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:20 candles 15m 156 / 64 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:20 candles 5m 288 / 120 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:20 candles 1m 1022 / 180 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:20 candles 15m 156 / 64 100.00 100.00 ready COVERAGE_OK +0 / 0.00
22.07.2026 01:20 candles 5m 288 / 120 100.00 100.00 ready COVERAGE_OK +0 / 0.00

История состояния свежести

Время Тип данных Таймфрейм Время последней записи Свежесть, % Статус Изменение
22.07.2026 01:50 candles 15m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:50 candles 5m 22.07.2026 01:40 100.00 ready 0.00
22.07.2026 01:50 candles 1m 22.07.2026 01:41 100.00 ready 0.00
22.07.2026 01:41 candles 15m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:41 candles 5m 22.07.2026 01:40 100.00 ready 0.00
22.07.2026 01:41 candles 1m 22.07.2026 01:41 100.00 ready 0.00
22.07.2026 01:41 volatility_metrics 22.07.2026 01:41 100.00 ready 0.00
22.07.2026 01:41 liquidity_metrics 22.07.2026 01:41 100.00 ready 0.00
22.07.2026 01:41 spread_metrics 22.07.2026 01:41 100.00 ready 0.00
22.07.2026 01:41 order_book 22.07.2026 01:41 99.78 ready 0.03
22.07.2026 01:41 24h_stats 22.07.2026 01:41 100.00 ready 0.00
22.07.2026 01:41 ticker 22.07.2026 01:41 100.00 ready 0.00
22.07.2026 01:40 candles 15m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:40 candles 5m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:40 candles 1m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:30 candles 15m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:30 candles 5m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:30 candles 1m 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:30 volatility_metrics 22.07.2026 01:30 100.00 ready 0.00
22.07.2026 01:30 liquidity_metrics 22.07.2026 01:30 100.00 ready 0.00

История решений свежести

Время Решение Причина Сообщение Проверенные типы данных Версия слоя
21.07.2026 22:46 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:45 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:42 Пропущен MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:35 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:31 Пропущен MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:25 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:25 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:23 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:20 Пропущен MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:16 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:15 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:09 Пропущен MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 22:05 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 21:58 Пропущен MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 21:56 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 21:55 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 21:54 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 21:47 Пропущен MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 21:46 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
21.07.2026 21:45 Отклонён TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. ticker, 24h_stats, candles_1m, candles_5m, spread_metrics, liquidity_metrics v18
Когда Тип события Решение Код причины Сообщение Версия слоя
21.07.2026 22:50 symbol_scope_tracking_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 22:50 symbol_scope_collection_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 22:50 symbol_scope_coverage_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 22:50 symbol_scope_followup_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 22:50 symbol_followup_released released followup_released Followup-сопровождение по символу снято. 22
21.07.2026 19:50 symbol_scope_pipeline_disabled disabled discovery_refresh Operational scope символа изменён. 22
21.07.2026 19:50 symbol_dropped_from_selection dropped volume_limit_rejected Символ выпал из active selection. 22
21.07.2026 19:50 symbol_collection_continued_after_drop continued followup_collection Сбор данных продолжен после выпадения символа из selection. 22
21.07.2026 19:50 symbol_coverage_continued_after_drop continued followup_coverage Coverage refresh продолжен после выпадения символа из selection. 22
21.07.2026 18:40 symbol_scope_entries_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 18:35 symbol_scope_entries_enabled enabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 18:30 symbol_scope_entries_disabled disabled discovery_refresh Operational scope символа изменён. 22
21.07.2026 18:24 symbol_scope_entries_enabled enabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 11:40 symbol_scope_entries_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 11:35 symbol_scope_entries_enabled enabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 09:50 symbol_scope_entries_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 09:44 symbol_scope_entries_enabled enabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 09:40 symbol_scope_entries_disabled disabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 09:33 symbol_scope_entries_enabled enabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 08:17 symbol_scope_pipeline_enabled enabled historical_readiness_refresh Operational scope символа изменён. 22
21.07.2026 08:06 symbol_scope_tracking_enabled enabled discovery_refresh Operational scope символа изменён. 22
21.07.2026 08:06 symbol_scope_collection_enabled enabled discovery_refresh Operational scope символа изменён. 22
21.07.2026 08:06 symbol_scope_coverage_enabled enabled discovery_refresh Operational scope символа изменён. 22
21.07.2026 08:06 symbol_scope_followup_enabled enabled discovery_refresh Operational scope символа изменён. 22
21.07.2026 08:06 symbol_followup_required required followup_required Для символа включено сопровождение followup. 22

Решения пайплайна

Запуск пайплайна Слой Версия параметров слоя Статус Решение Код причины Объяснение Версия глобальных параметров Длительность Когда
#62546 Свежесть рыночных данных v1 Отклонён false TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. v4 3 мс 21.07.2026 22:46
#62546 Готовность исторических данных v1 Пройден true HISTORY_READY Исторические данные соответствуют требованиям слоя. v4 3 мс 21.07.2026 22:46
#62545 Свежесть рыночных данных v1 Отклонён false TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. v4 3 мс 21.07.2026 22:45
#62545 Готовность исторических данных v1 Пройден true HISTORY_READY Исторические данные соответствуют требованиям слоя. v4 3 мс 21.07.2026 22:45
#62532 Свежесть рыночных данных v1 Пройден true MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. v4 7 мс 21.07.2026 22:42
#62532 Готовность исторических данных v1 Пройден true HISTORY_READY Исторические данные соответствуют требованиям слоя. v4 7 мс 21.07.2026 22:42
#62524 Свежесть рыночных данных v1 Отклонён false TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня. v4 4 мс 21.07.2026 22:35
#62524 Готовность исторических данных v1 Пройден true HISTORY_READY Исторические данные соответствуют требованиям слоя. v4 3 мс 21.07.2026 22:35
#62510 Свежесть рыночных данных v1 Пройден true MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя. v4 8 мс 21.07.2026 22:31
#62510 Готовность исторических данных v1 Пройден true HISTORY_READY Исторические данные соответствуют требованиям слоя. v4 6 мс 21.07.2026 22:31

История обнаружения

Когда Запуск обнаружения Решение Код причины Сообщение Критерии
27.07.2026 08:25 #15770 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 08:09 #15769 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 07:53 #15768 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 07:37 #15767 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 07:21 #15766 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 07:05 #15765 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 06:49 #15764 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 06:33 #15763 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 06:17 #15762 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 06:01 #15761 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 05:45 #15760 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 05:29 #15759 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 05:13 #15758 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:57 #15757 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:41 #15756 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:25 #15755 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:09 #15754 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 03:53 #15753 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 03:37 #15752 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 03:21 #15751 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 03:05 #15750 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 02:49 #15749 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 02:33 #15748 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 02:17 #15747 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 02:01 #15746 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 01:45 #15745 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 01:29 #15744 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 01:13 #15743 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 00:57 #15742 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 00:41 #15741 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 00:25 #15740 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 00:09 #15739 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 23:53 #15738 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 23:37 #15737 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 23:21 #15736 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 23:05 #15735 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 22:49 #15734 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 22:33 #15733 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 22:17 #15732 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 22:01 #15731 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 21:45 #15730 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 21:29 #15729 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 21:13 #15728 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 20:57 #15727 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 20:41 #15726 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 20:25 #15725 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 20:09 #15724 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 19:53 #15723 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 19:37 #15722 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
26.07.2026 19:21 #15721 rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}

Сбор данных

Тип данных Таймфрейм Первая запись Последняя запись Кол-во записей Ожидаемое кол-во Покрытие % Последний gap Актуальность Статус
24h_stats 22.07.2026 01:41 22.07.2026 01:41 1 1 100.00 100.00 ready
candles 15m 20.07.2026 10:15 22.07.2026 01:30 158 64 100.00 100.00 ready
candles 1m 21.07.2026 08:07 22.07.2026 01:41 1055 180 100.00 100.00 ready
candles 5m 21.07.2026 01:10 22.07.2026 01:40 295 120 100.00 100.00 ready
liquidity_metrics 22.07.2026 01:41 22.07.2026 01:41 1 1 100.00 100.00 ready
order_book 22.07.2026 01:41 22.07.2026 01:41 1 1 100.00 99.78 ready
spread_metrics 22.07.2026 01:41 22.07.2026 01:41 1 1 100.00 100.00 ready
ticker 22.07.2026 01:41 22.07.2026 01:41 1 1 100.00 100.00 ready
volatility_metrics 22.07.2026 01:41 22.07.2026 01:41 1 1 100.00 100.00 ready

Готовность истории

Параметр Значение
history.max_data_gap_minutes 15
history.min_coverage_percent 95
history.min_freshness_percent 95.00
history.required_15m_candles 64
history.required_1m_candles 180
history.required_5m_candles 120
history.required_hours 24

Реакция слоёв

Время Запуск пайплайна Слой Версия параметров слоя Решение Код причины Объяснение Входные значения Использованные параметры Длительность
21.07.2026 19:46 62546 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 281.490072,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 281.490301,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:00+03:00",
            "age_seconds": 298.490547,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:40:00+03:00",
            "age_seconds": 418.49071299999997,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 281.490874,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 281.49106900000004,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:46 62546 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 876,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 259,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 146,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:45 62545 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 200.987492,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 200.98769399999998,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:00+03:00",
            "age_seconds": 217.987856,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:40:00+03:00",
            "age_seconds": 337.988016,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 200.988176,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 200.988333,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:45 62545 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 876,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 259,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 146,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:42 62532 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 2.023945,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 2.024144,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:00+03:00",
            "age_seconds": 19.024307,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:40:00+03:00",
            "age_seconds": 139.024481,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 2.024643,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:42:17+03:00",
            "age_seconds": 2.024803,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
7
21.07.2026 19:42 62532 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 876,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 259,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 146,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
7
21.07.2026 19:35 62524 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 229.43108999999998,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 229.4313,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:00+03:00",
            "age_seconds": 243.43149499999998,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:30:00+03:00",
            "age_seconds": 303.43165799999997,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 229.431837,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 229.43203,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
4
21.07.2026 19:35 62524 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 865,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 257,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 146,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:31 62510 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 2.403639,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 2.403886,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:00+03:00",
            "age_seconds": 16.404117,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:30:00+03:00",
            "age_seconds": 76.404309,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 2.404518,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:31:14+03:00",
            "age_seconds": 2.404722,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
8
21.07.2026 19:31 62510 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 865,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 257,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 146,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
6
21.07.2026 19:25 62503 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 296.267932,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 296.268127,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:19:00+03:00",
            "age_seconds": 369.268303,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:15:00+03:00",
            "age_seconds": 609.268573,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 296.268865,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 296.269114,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:25 62503 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 853,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 254,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 145,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:25 62502 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 289.93252,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 289.93274699999995,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:19:00+03:00",
            "age_seconds": 362.93291100000005,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:15:00+03:00",
            "age_seconds": 602.933071,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 289.93323100000003,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 289.933402,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:25 62502 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 853,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 254,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 145,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:23 62501 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 199.074077,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 199.07427900000002,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:19:00+03:00",
            "age_seconds": 272.07446999999996,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:15:00+03:00",
            "age_seconds": 512.074633,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 199.074793,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 199.074987,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:23 62501 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 853,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 254,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 145,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:20 62486 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 1.6589690000000001,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 1.659206,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:19:00+03:00",
            "age_seconds": 74.65936900000001,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:15:00+03:00",
            "age_seconds": 314.659544,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 1.659705,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:20:13+03:00",
            "age_seconds": 1.6598620000000002,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
9
21.07.2026 19:20 62486 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 853,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 254,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 145,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
8
21.07.2026 19:16 62480 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 442.206847,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 442.207039,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:00+03:00",
            "age_seconds": 455.2072,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:05:00+03:00",
            "age_seconds": 695.207358,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 442.20754100000005,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 442.207697,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:16 62480 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 843,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 252,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 144,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:15 62479 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 382.016192,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 382.016385,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:00+03:00",
            "age_seconds": 395.016606,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:05:00+03:00",
            "age_seconds": 635.016782,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 382.016943,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 382.017114,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:15 62479 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 843,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 252,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 144,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 19:09 62463 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 2.219674,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 2.2199079999999998,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:00+03:00",
            "age_seconds": 15.220073000000001,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:05:00+03:00",
            "age_seconds": 255.220233,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 2.220418,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T22:09:13+03:00",
            "age_seconds": 2.220577,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
8
21.07.2026 19:09 62463 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 843,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 252,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 144,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
7
21.07.2026 19:05 62458 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 414.889363,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 414.889604,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:56:00+03:00",
            "age_seconds": 542.889777,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:55:00+03:00",
            "age_seconds": 602.889939,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 414.89009899999996,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 414.890255,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 19:05 62458 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 830,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 250,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 143,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
2
21.07.2026 18:58 62441 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 1.9948309999999998,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 1.9950219999999999,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:56:00+03:00",
            "age_seconds": 129.995184,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:55:00+03:00",
            "age_seconds": 189.99534400000002,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 1.9955209999999999,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:58:08+03:00",
            "age_seconds": 1.995678,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
7
21.07.2026 18:58 62441 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 830,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 250,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 143,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
6
21.07.2026 18:56 62437 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 542.67962,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 542.6798190000001,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 664.679981,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 664.680167,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 542.6803689999999,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 542.68055,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 18:56 62437 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 819,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 248,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 143,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 18:55 62436 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 481.075983,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 481.076198,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 603.076374,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 603.076553,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 481.07675900000004,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 481.07691600000004,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
4
21.07.2026 18:55 62436 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 819,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 248,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 143,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 18:54 62435 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 464.02993599999996,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 464.03029300000003,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 586.03088,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 586.031233,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 464.031644,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 464.031948,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
6
21.07.2026 18:54 62435 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 819,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 248,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 143,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
4
21.07.2026 18:47 62417 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 1.79203,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 1.7923,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 123.792555,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:45:00+03:00",
            "age_seconds": 123.792722,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 1.792886,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:47:02+03:00",
            "age_seconds": 1.7930460000000001,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
10
21.07.2026 18:47 62417 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 819,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 248,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 143,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
7
21.07.2026 18:46 62414 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 671.9285520000001,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 671.928769,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 697.928969,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 697.92913,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 671.929289,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 671.9294620000001,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 18:46 62414 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 809,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 246,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 142,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 18:45 62413 market_data_freshness 18 rejected TICKER_STALE Свежесть обязательных рыночных данных ниже допустимого уровня.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 612.830026,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 612.830233,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 638.830449,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 638.830647,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 612.83081,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 612.830967,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": false
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 18:45 62413 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 809,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 246,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 142,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 18:35 62412 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 20.352343,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 20.352573,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 46.352794,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 46.353002999999994,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 20.353165,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 20.353321,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 18:35 62412 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 809,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 246,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 142,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 18:35 62403 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 2.327715,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 2.327921,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 28.328084,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:00+03:00",
            "age_seconds": 28.328242,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 2.3284380000000002,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:35:26+03:00",
            "age_seconds": 2.328602,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
10
21.07.2026 18:35 62403 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 809,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 246,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 142,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
7
21.07.2026 18:25 62391 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 59.163586,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 59.163788000000004,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:00+03:00",
            "age_seconds": 82.163989,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:20:00+03:00",
            "age_seconds": 322.164221,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 59.164409,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 59.164669,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 18:25 62391 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 798,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 243,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 141,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 18:25 62390 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 44.029381,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 44.029601,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:00+03:00",
            "age_seconds": 67.029761,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:20:00+03:00",
            "age_seconds": 307.02992099999994,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 44.030082,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 44.030239,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
3
21.07.2026 18:25 62390 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 798,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 243,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 141,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
3
21.07.2026 18:24 62380 market_data_freshness 18 passed MARKET_DATA_FRESH Свежесть обязательных рыночных данных соответствует требованиям слоя.
{
    "checked_data_types": [
        {
            "data_type": "ticker",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 1.743347,
            "max_allowed_age_seconds": 60,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "24h_stats",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 1.743572,
            "max_allowed_age_seconds": 300,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_1m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:00+03:00",
            "age_seconds": 24.743732,
            "max_allowed_age_seconds": 180,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "candles_5m",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:20:00+03:00",
            "age_seconds": 264.74389299999996,
            "max_allowed_age_seconds": 600,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "spread_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 1.744053,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        },
        {
            "data_type": "liquidity_metrics",
            "snapshot_status": "ready",
            "last_seen_at": "2026-07-21T21:24:23+03:00",
            "age_seconds": 1.7442090000000001,
            "max_allowed_age_seconds": 120,
            "freshness_percent": 100,
            "is_fresh": true
        }
    ]
}
{
    "required_data_types": [
        "ticker",
        "24h_stats",
        "candles_1m",
        "candles_5m",
        "spread_metrics",
        "liquidity_metrics"
    ],
    "max_ticker_age_seconds": 60,
    "max_24h_stats_age_seconds": 300,
    "max_1m_candle_age_seconds": 180,
    "max_5m_candle_age_seconds": 600,
    "max_15m_candle_age_seconds": 1800,
    "max_spread_metrics_age_seconds": 120,
    "max_liquidity_metrics_age_seconds": 120,
    "fail_on_missing_required_data_type": true,
    "allow_partial_optional_data": true
}
7
21.07.2026 18:24 62380 historical_readiness 16 passed HISTORY_READY Исторические данные соответствуют требованиям слоя.
{
    "checks": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180,
            "actual_records": 798,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120,
            "actual_records": 243,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64,
            "actual_records": 141,
            "coverage_percent": 100,
            "freshness_percent": 100,
            "gap_too_large": false,
            "coverage_too_low": false,
            "freshness_too_low": false,
            "records_too_low": false,
            "status": "ready"
        }
    ]
}
{
    "required_hours": 24,
    "max_data_gap_minutes": 15,
    "min_coverage_percent": 95,
    "min_freshness_percent": 95,
    "requirements": [
        {
            "data_type": "candles",
            "timeframe": "1m",
            "required_records": 180
        },
        {
            "data_type": "candles",
            "timeframe": "5m",
            "required_records": 120
        },
        {
            "data_type": "candles",
            "timeframe": "15m",
            "required_records": 64
        }
    ]
}
7

Открытые lifecycle-сущности

Тип Идентификатор Статус Направление Количество Цена Требует сопровождения Открыт

Полное логирование

Время Тип события Решение Код причины Сообщение Входы Параметры Выходы
27.07.2026 05:25 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315939.501328",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
27.07.2026 05:25 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315939.501328",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 05:25 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315939.501328",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 05:25 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315939.501328",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
{
    "volume_24h": "315939.501328"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 05:25 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 05:12 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 05:09 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315859.289206",
    "spread_percent": "0.10147133",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01972"
    }
}
27.07.2026 05:09 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315859.289206",
    "spread_percent": "0.10147133",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01972"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 05:09 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315859.289206",
    "spread_percent": "0.10147133",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01972"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 05:09 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315859.289206",
    "spread_percent": "0.10147133",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01972"
    }
}
{
    "volume_24h": "315859.289206"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 05:09 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 04:53 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315453.570246",
    "spread_percent": "0.05085177",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01966",
        "best_ask": "0.01967"
    }
}
27.07.2026 04:53 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315453.570246",
    "spread_percent": "0.05085177",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01966",
        "best_ask": "0.01967"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 04:53 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315453.570246",
    "spread_percent": "0.05085177",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01966",
        "best_ask": "0.01967"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 04:53 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "315453.570246",
    "spread_percent": "0.05085177",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01966",
        "best_ask": "0.01967"
    }
}
{
    "volume_24h": "315453.570246"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:53 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 04:42 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 04:37 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "317445.39497",
    "spread_percent": "0.15224562",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.01972"
    }
}
27.07.2026 04:37 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "317445.39497",
    "spread_percent": "0.15224562",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.01972"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 04:37 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "317445.39497",
    "spread_percent": "0.15224562",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.01972"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 04:37 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "317445.39497",
    "spread_percent": "0.15224562",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.01972"
    }
}
{
    "volume_24h": "317445.39497"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:37 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 04:21 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321144.116536",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
27.07.2026 04:21 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321144.116536",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 04:21 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321144.116536",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 04:21 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321144.116536",
    "spread_percent": "0.05074854",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0197",
        "best_ask": "0.01971"
    }
}
{
    "volume_24h": "321144.116536"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:21 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 04:12 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 04:05 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321185.014018",
    "spread_percent": "0.1524003",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01967",
        "best_ask": "0.0197"
    }
}
27.07.2026 04:05 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321185.014018",
    "spread_percent": "0.1524003",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01967",
        "best_ask": "0.0197"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 04:05 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321185.014018",
    "spread_percent": "0.1524003",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01967",
        "best_ask": "0.0197"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 04:05 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321185.014018",
    "spread_percent": "0.1524003",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01967",
        "best_ask": "0.0197"
    }
}
{
    "volume_24h": "321185.014018"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 04:05 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 03:49 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321589.383106",
    "spread_percent": "0.05077431",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.0197"
    }
}
27.07.2026 03:49 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321589.383106",
    "spread_percent": "0.05077431",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.0197"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 03:49 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321589.383106",
    "spread_percent": "0.05077431",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.0197"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 03:49 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321589.383106",
    "spread_percent": "0.05077431",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01969",
        "best_ask": "0.0197"
    }
}
{
    "volume_24h": "321589.383106"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 03:49 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 03:43 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 03:33 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321213.772416",
    "spread_percent": "0.05103343",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01959",
        "best_ask": "0.0196"
    }
}
27.07.2026 03:33 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321213.772416",
    "spread_percent": "0.05103343",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01959",
        "best_ask": "0.0196"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 03:33 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321213.772416",
    "spread_percent": "0.05103343",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01959",
        "best_ask": "0.0196"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 03:33 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "321213.772416",
    "spread_percent": "0.05103343",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.01959",
        "best_ask": "0.0196"
    }
}
{
    "volume_24h": "321213.772416"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 03:33 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 03:17 symbol_discovered registered Символ обнаружен в discovery run.
null
null
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "330678.659838",
    "spread_percent": "0.0510074",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0196",
        "best_ask": "0.01961"
    }
}
27.07.2026 03:17 symbol_hard_prefilter_checked passed hard_prefilter_passed Символ прошёл hard prefilter discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "330678.659838",
    "spread_percent": "0.0510074",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0196",
        "best_ask": "0.01961"
    }
}
{
    "allowed_quote_currency": "USDT"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    }
}
27.07.2026 03:17 symbol_selection_window_checked rejected volume_limit_rejected Символ не попал в selection window по объёму.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "330678.659838",
    "spread_percent": "0.0510074",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0196",
        "best_ask": "0.01961"
    }
}
{
    "max_selected_symbols": 30
}
{
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    }
}
27.07.2026 03:17 symbol_criteria_checked rejected volume_limit_rejected Soft criteria не применялись, потому что символ не прошёл selection window discovery.
{
    "symbol": "NIGHTUSDT",
    "base_currency": "NIGHT",
    "quote_currency": "USDT",
    "exchange": "kucoin",
    "exchange_status": "trading",
    "volume_24h": "330678.659838",
    "spread_percent": "0.0510074",
    "listing_age_days": 0,
    "api_accessible": true,
    "metadata": {
        "exchange_symbol": "NIGHT-USDT",
        "market": "USDS",
        "is_trading_enabled": true,
        "price_increment": "0.00001",
        "base_increment": "0.1",
        "quote_increment": "0.00001",
        "base_min_size": "10",
        "base_max_size": "10000000000",
        "quote_min_size": "0.1",
        "fee_currency": "USDT",
        "price_limit_rate": "0.05",
        "best_bid": "0.0196",
        "best_ask": "0.01961"
    }
}
{
    "volume_24h": "330678.659838"
}
{
    "hard_prefilter.quote_currency": {
        "passed": true,
        "actual": "USDT",
        "expected": "USDT"
    },
    "hard_prefilter.exchange_status": {
        "passed": true,
        "actual": "trading",
        "expected": [
            "trading",
            "active"
        ]
    },
    "hard_prefilter.api_accessible": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "hard_prefilter.force_disabled": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "hard_prefilter.blacklisted": {
        "passed": true,
        "actual": false,
        "expected": false
    },
    "selection_window.hard_prefilter_passed": {
        "passed": true,
        "actual": true,
        "expected": true
    },
    "selection_window.volume_rank_selected": {
        "passed": false,
        "actual": false,
        "expected": true
    },
    "soft_criteria.skipped": {
        "passed": false,
        "actual": "volume_limit_rejected",
        "expected": "selected_by_volume_limit"
    }
}
27.07.2026 03:17 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}
27.07.2026 03:13 symbol_exchange_metadata_refreshed ready EXCHANGE_METADATA_READY Биржевые торговые ограничения собраны полностью.
null
null
{
    "metadata_status": "ready",
    "exchange_symbol": "NIGHT-USDT",
    "is_trading_enabled": true
}