| Готовность исторических данных |
v1 ID: #16 |
Пройден |
true |
— |
HISTORY_READY |
Исторические данные соответствуют требованиям слоя. |
— |
— |
{
"checks": [
{
"data_type": "candles",
"timeframe": "1m",
"required_records": 180,
"actual_records": 212,
"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": 127,
"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": 101,
"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
}
]
} |
{
"required_hours": 24
} |
2 мс |
| Свежесть рыночных данных |
v1 ID: #18 |
Отклонён |
false |
— |
TICKER_STALE |
Свежесть обязательных рыночных данных ниже допустимого уровня. |
— |
— |
{
"checked_data_types": [
{
"data_type": "ticker",
"snapshot_status": "ready",
"last_seen_at": "2026-07-26T07:11:10+03:00",
"age_seconds": 266.806969,
"max_allowed_age_seconds": 60,
"freshness_percent": 100,
"is_fresh": false
},
{
"data_type": "24h_stats",
"snapshot_status": "ready",
"last_seen_at": "2026-07-26T07:11:10+03:00",
"age_seconds": 266.807165,
"max_allowed_age_seconds": 300,
"freshness_percent": 100,
"is_fresh": true
},
{
"data_type": "candles_1m",
"snapshot_status": "ready",
"last_seen_at": "2026-07-26T07:10:00+03:00",
"age_seconds": 336.807372,
"max_allowed_age_seconds": 180,
"freshness_percent": 100,
"is_fresh": false
},
{
"data_type": "candles_5m",
"snapshot_status": "ready",
"last_seen_at": "2026-07-26T07:10:00+03:00",
"age_seconds": 336.807554,
"max_allowed_age_seconds": 600,
"freshness_percent": 100,
"is_fresh": true
},
{
"data_type": "spread_metrics",
"snapshot_status": "ready",
"last_seen_at": "2026-07-26T07:11:10+03:00",
"age_seconds": 266.807717,
"max_allowed_age_seconds": 120,
"freshness_percent": 100,
"is_fresh": false
},
{
"data_type": "liquidity_metrics",
"snapshot_status": "ready",
"last_seen_at": "2026-07-26T07:11:10+03:00",
"age_seconds": 266.80789799999997,
"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
} |
{
"stale_data_types": [
"ticker",
"candles_1m",
"spread_metrics",
"liquidity_metrics"
],
"missing_data_types": [],
"allow_partial_optional_data": true
} |
3 мс |