Локальный кэш данных
Локальный кэш данных — это хранилище на диске, в котором торговая программа держит уже скачанные бары, тики и историю сессий, чтобы график открывался, прокручивался и считался, не обращаясь к поставщику снова. Это копия полученного, а не источник новых данных.
Senzoukria · Глоссарий · Обновлено: сентябрь 2026
Что кэш хранит и зачем
Скачивание истории — это реальный сетевой обмен с поставщиком: неделя минутного футпринта по активному контракту складывается из множества запросов, а поставщики ограничивают выдачу на запрос. Хранение результата на диске означает, что второе открытие того же контракта ничего не стоит и работает при закрытом рынке или недоступном поставщике. Кэш ключуется по инструменту и детализации: контракт, отрисованный на одном таймфрейме, автоматически не наполняет другой.
- Бары с объёмом по bid и ask на каждом ценовом уровне, чтобы футпринты и профили пересчитывались прямо с диска.
- Тики для повтора, когда источник их отдаёт.
- Метаданные покрытия: какие окна были запрошены, какие пришли, какие вернулись пустыми.
- Истории стакана нет, если не использовался источник с записью глубины: сделки книгу не восстанавливают.
Кэш и покрытие
Кэш облегчает не сокрытие разрывов, а их обнаружение. Каждое запрошенное окно либо присутствует, либо присутствует частично, либо отсутствует, и этот статус обязан сопровождать любое исследование, посчитанное на нём. Окно, которое поставщик вернул пустым в выходные, — законное отсутствие; то же окно, вернувшееся пустым в будний день, — разрыв, который надо повторить. Некоторые инструменты перестают запрашивать окно, однажды вернувшееся пустым: для выходных это верное поведение по умолчанию, а после сбоя поставщика — неверное, и тогда нужен ручной повторный запрос.
В Senzoukria
Страница настроек отсылает к странице Account за потоками данных, брокерами и локальным кэшем. Когда график открывается офлайн, он сообщает возраст последнего кэшированного бара и число баров в кэше на этом таймфрейме и предлагает воспроизвести кэшированную сессию; уведомление о выходных говорит, что любая сессия, уже лежащая в локальном кэше, открывается, прокручивается и считается как обычно, и что открытый рынок нужен только для новой истории. Панель данных бэктеста читает кэш, показывает, сколько окон из запрошенных закэшировано, и умеет докачать недостающее; инструмент с неизвестным шагом цены не кэшируется и скачивается заново при каждой загрузке, пока шаг цены не добавлен в каталог инструментов. Тиковый экспорт пишет кэшированную сессию в gzip-CSV с меткой времени, ценой, размером и стороной агрессора.
Типичные ошибки
- Принимать последнее кэшированное закрытие за живую цену: экран приветствия помечает его как «последнее закрытие из кэша — не в реальном времени».
- Считать, что кэшированная сессия на одной детализации покрывает бэктест на другой.
- Удалять кэш ради устранения проблемы с отображением и потом платить за скачивание заново.
- Ждать от кэша истории глубины для тепловой карты, когда записывались только сделки.
См. также
- Руководство по бэктесту фьючерсов
- Разрыв в данных (неполная история)
- Право на историю (отказ брокера)
- Графики футпринт
Эта страница на других языках
Частые вопросы
- Можно ли работать с графиком вообще без подключения?
- Да, по инструментам, которые уже есть в кэше. График открывается на кэшированных барах, индикаторы считаются, кэшированную сессию можно воспроизвести. Новое не приходит, пока не подключён источник и не открыт рынок. У инструмента, который вы никогда не открывали, локальных данных нет, и офлайн он не откроется.
- Заполняет ли кэш пропущенные интервалы?
- Нет. Кэш хранит то, что пришло, и фиксирует то, что не пришло. Пропущенное окно остаётся помеченным как отсутствующее, пока новый запрос не выполнится успешно. Заполнение дыр нулями испортило бы накопленную дельту, профили и бэктесты, поэтому приложение оставляет их видимыми.