← Назад к главному
# types.rs - Типы данных
## 📋 Назначение модуля
`Tick` - структура для единичного тика рынка, который читает/пишет Redis и Feed.
**Основная логика:**
- Хранит данные о цене, объёме и волатильности
- Сериализуется/десериализуется в JSON
- Используется для передачи данных между модулями
**Используется в:**
- `src/feed.rs` - чтение/публикация тиков через Redis
- `src/monitor.rs` - формирование тиков для Redis
---
## 🏗️ Структура модуля
### Структура `Tick`
**Строки:** 10-20
```rust
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Tick {
pub symbol: String,
pub mid: f64,
pub chg_pct: f64,
pub ts: i64,
pub bid: f64,
pub ask: f64,
pub bid_qty: f64,
pub ask_qty: f64,
}
```
**Назначение:** Единичный тик рынка
**Поля:**
| Поле | Тип | Описание | Пример |
|------|-----|----------|--------|
| `symbol` | String | Символ контракта | "MEMES_USDT" |
| `mid` | f64 | Средняя цена (bid + ask) / 2 | 0.002000 |
| `chg_pct` | f64 | Изменение цены за 24ч (%) | 45.5 |
| `ts` | i64 | Timestamp (Unix) | 1771747635 |
| `bid` | f64 | Лучшая цена bid | 0.001990 |
| `ask` | f64 | Лучшая цена ask | 0.002010 |
| `bid_qty` | f64 | Объём bid-уровней (0.5% вокруг mid) | 50000.0 |
| `ask_qty` | f64 | Объём ask-уровней (0.5% вокруг mid) | 48000.0 |
---
## 📊 Пример JSON
```json
{
"symbol": "MEMES_USDT",
"mid": 0.00200050,
"chg_pct": 45.5,
"ts": 1771747635,
"bid": 0.001990,
"ask": 0.002010,
"bid_qty": 50000.0,
"ask_qty": 48000.0
}
```
---
## 📚 Связанные файлы
| Файл | Связь |
|------|-------|
| `src/feed.rs` | Использует Tick для чтения/публикации тиков |
| `src/monitor.rs` | Создаёт Tick и записывает в Redis |
---
## 🎯 Резюме
**Что делает types.rs:**
1. ✅ Определяет структуру `Tick` для тиков рынка
2. ✅ Поддерживает сериализацию/десериализацию в JSON
**Tick поля:**
- `symbol` - символ контракта
- `mid` - средняя цена
- `chg_pct` - изменение за 24ч (%)
- `ts` - timestamp
- `bid`, `ask` - лучшие bid/ask
- `bid_qty`, `ask_qty` - глубина (0.5% вокруг mid)
---
**Дата создания:** 2026-02-22
**Автор:** Claude Code Assistant
**Версия:** 1.0