Где хранятся данные и котировки в TSLab 3.0
TSLab 3.0 устанавливается рядом с TSLab 2.2, и каждая версия хранит данные у себя: своя база данных, свои настройки, своя папка на диске.
С кэшем всё иначе. Кэш — это котировки, которые программа загрузила у поставщика данных и сохранила на компьютере: при следующем открытии графика она берёт их с диска, а не запрашивает заново. Благодаря кэшу можно разрабатывать и тестировать скрипты на истории, даже не подключаясь к поставщику.
При переносе данных кэш остаётся в папке версии 2.2, и TSLab 3.0 работает с ним на старом месте. При этом формат хранения кэша изменился, поэтому в знакомой папке появятся новые подпапки и файлы.
В статье разобрано, где TSLab 3.0 держит данные, как устроен новый кэш, что будет с архивом котировок из версии 2.2 и как собрать все данные в одном месте.
Где TSLab 3.0 хранит данные
База данных и настройки программы лежат в папке профиля пользователя Windows:
C:\Users\<Пользователь>\AppData\Local\TSLab\TSLab 3.0
Здесь <Пользователь> — имя вашей учётной записи Windows. В этой же папке программа хранит логи и дополнительные библиотеки обработчиков.
При чистой установке, когда версии 2.2 на компьютере не было, сюда же пишется и кэш — в подпапку Caches.
Почему кэш остаётся в папке версии 2.2
Кэш программа не переносит — это решение она оставляет вам. TSLab 3.0 продолжает читать и дополнять кэш там, где его оставила версия 2.2:
C:\Users\<Пользователь>\AppData\Local\TSLab\TSLab 2.0
Папка версии 2.2 называется TSLab 2.0 — это не опечатка, а историческое имя каталога.
После переноса программа работает с двумя папками кэша одновременно:
перенесённые поставщики читают и пишут кэш в папке
TSLab 2.0;поставщики, созданные уже в TSLab 3.0, — в папке, заданной в настройках программы, по умолчанию
TSLab 3.0\Caches.
Такое разделение оставляет перенесённым поставщикам общий кэш: с ним работают обе версии программы. Данные новых поставщиков при этом лежат отдельно. Текущий путь к их папке показывает вкладка Пути к папкам в окне Настройки программы.
Собрать кэш обеих папок в одном месте можно вручную, в любой момент — порядок описан ниже.
Как устроен кэш
Кэш хранится отдельно по каждому поставщику данных. Программа создаёт для поставщика три папки, и в их названия подставляет имя поставщика:
[Поставщик]Cache— котировки для графиков и скриптов: цены открытия и закрытия, максимум, минимум и объём за интервал;[Поставщик]CacheData— служебные сведения: список инструментов поставщика и база сделок с привязкой к агентам;[Поставщик]CacheTrades— тиковые данные, то есть отдельные сделки с биржи.
Например, для поставщика ByBit USDT Perpetual папки называются так:
ByBitUSDTPerpetualCache ByBitUSDTPerpetualCacheData ByBitUSDTPerpetualCacheTrades
Как хранятся котировки
В TSLab 2.2 на каждую пару «инструмент и интервал» приходился один файл, и в нём лежали данные за всё время — иногда за несколько лет. Чтобы показать график за последний месяц, программа читала файл целиком.
ByBitUSDTPerpetualCache ETHUSDT.1M.bin.gz BTCUSDT.1M.bin.gz ETHUSDT.1D.bin.gz
В TSLab 3.0 для каждой пары «инструмент и интервал» создаётся своя подпапка, а данные внутри разложены по месяцам — один файл на календарный месяц.
ByBitUSDTPerpetualCache ETHUSDT.1M ETHUSDT.2511.1M.bin.gz ETHUSDT.2512.1M.bin.gz ETHUSDT.2601.1M.bin.gz BTCUSDT.1M BTCUSDT.2511.1M.bin.gz BTCUSDT.2512.1M.bin.gz
Имя файла читается так: ETHUSDT — инструмент, 2511 — год и месяц (ноябрь 2025 года), 1M — интервал, bin.gz — сжатый двоичный формат.
Интервал обозначается цифрой и буквой: цифра задаёт количество единиц, буква — саму единицу.
S— секунды;M— минуты;D— дни;P— шаг цены;V— объём.
Так папка ETHUSDT.5M хранит пятиминутные данные, ETHUSDT.30S — тридцатисекундные, ETHUSDT.1D — дневные.
Нестандартный таймфрейм отдельной папки не получает. Для графика с интервалом 12 минут программа возьмёт папку ETHUSDT.1M: она загрузит минутные данные и построит из них двенадцатиминутные бары.
Как хранятся тиковые данные
В TSLab 2.2 тики лежали прямо в папке CacheTrades, по файлу на инструмент и день, а дата в имени записывалась как месяц, день и год:
ByBitUSDTPerpetualCacheTrades BTCUSDT.11.21.2025.bin.gz ETHUSDT.11.21.2025.bin.gz
В TSLab 3.0 каждый инструмент получает свою подпапку, а файлы внутри разбиты по часам серверного времени поставщика:
ByBitUSDTPerpetualCacheTrades BTCUSDT BTCUSDT.251125.H06.trades.bin.gz BTCUSDT.251125.H12.trades.bin.gz ETHUSDT ETHUSDT.251125.H06.trades.bin.gz
Здесь 251125 — дата в порядке «год, месяц, день» (25 ноября 2025 года), H06 — час серверного времени, trades — признак тиковых данных.
Тики программа накапливает в оперативной памяти и записывает на диск в двух случаях: при отключении от поставщика данных и по таймеру. Таймер задаётся в настройках поставщика, параметром Записывать тики, мин; по умолчанию он равен 240 минутам.
Тики накапливаются только по тем инструментам, для которых они запрошены. Если тиковые данные по инструменту не запрашивались, файлы для него не создаются.
Что даёт новый формат
Программа загружает из кэша только те файлы, которые нужны для расчёта. Если на графике открыты последние три месяца, читаются три файла, а не весь архив за несколько лет. Поэтому графики и скрипты запускаются быстрее, а оперативной памяти расходуется меньше: весь архив в ней больше не держится.
Что происходит со старым кэшем
Котировки, накопленные в версии 2.2, остаются доступны: TSLab 3.0 читает старый кэш и переводит его в новый формат. Происходит это не при переносе данных и не сразу по всем инструментам. Программа конвертирует файлы того инструмента, данные которого вы запросили: открыли график с нужным интервалом или запустили скрипт.
При первом таком запросе программа находит в папке кэша файл старого формата — например, ETHUSDT.1M.bin.gz, — читает из него данные и создаёт рядом подпапку ETHUSDT.1M с файлами по месяцам. Исходный файл версии 2.2 остаётся на месте без изменений, и больше программа к нему не обращается: дальше она работает только с подпапкой нового формата.
После конвертации одни и те же котировки лежат на диске в двух форматах: в старом файле версии 2.2 и в новых файлах версии 3.0.
Если в версии 2.2 накоплен большой архив котировок, заранее проверьте, достаточно ли на диске свободного места: занятый объём будет расти по мере того, как вы обращаетесь к инструментам.
Какие файлы видит каждая версия
Совместимость форматов работает только в одну сторону.
TSLab 3.0 читает кэш версии 2.2 и переводит его в новый формат.
TSLab 2.2 новый формат не распознаёт: подпапки, созданные версией 3.0, она не видит и данные из них не загружает.
После конвертации в папке кэша лежат файлы обоих форматов, и каждая версия работает со своими:
TSLab 2.0\ByBitUSDTPerpetualCache ETHUSDT.1M.bin.gz (старый файл, его читает TSLab 2.2) BTCUSDT.1M.bin.gz (старый файл, его читает TSLab 2.2) ETHUSDT.1M (подпапка версии 3.0) ETHUSDT.2511.1M.bin.gz ETHUSDT.2512.1M.bin.gz BTCUSDT.1M (подпапка версии 3.0) BTCUSDT.2511.1M.bin.gz
Версии обращаются к разным файлам: TSLab 2.2 читает файлы старого формата, TSLab 3.0 — подпапки нового. Базы данных и настройки у версий тоже разделены, поэтому ни одна из них не изменяет данные другой.
Отсюда следствие, о котором стоит знать заранее: котировки, которые TSLab 3.0 загрузила уже после перехода, в TSLab 2.2 не попадут. История в старой версии останется такой, какой была к моменту перехода, и дополнять её придётся из самой версии 2.2.
Что делать со старыми файлами
Выбор зависит от того, собираетесь ли вы работать в TSLab 2.2.
Планируете возвращаться в версию 2.2 — оставьте старые файлы на месте. Версия 2.2 читает только их, и без этих файлов её кэш окажется пустым.
В версию 2.2 возвращаться не планируете — старые файлы можно удалить и освободить место на диске. После конвертации TSLab 3.0 работает только с новым форматом.
Хотите сохранить архив, но освободить диск — скопируйте старые файлы на другой диск или в облачное хранилище, а с рабочего диска удалите. Загрузка многолетнего архива с биржи занимает много времени, а некоторые поставщики ограничивают глубину истории, поэтому восстановить такой архив запросами к бирже получится не всегда.
Как собрать все данные в одном месте
После переноса кэш лежит в двух местах: у перенесённых поставщиков — в каталоге версии 2.2, у созданных в новой версии — в папке из настроек программы. Объединить эти каталоги программа не умеет, но вы можете перенести файлы сами.
Если возвращаться в TSLab 2.2 вы не планируете, кэш стоит собрать в одной папке: все данные окажутся там, где программа ищет их по умолчанию, и при разборе проблем не придётся вспоминать, какой поставщик куда пишет.
Папку для кэша вы выбираете сами — это может быть подпапка Caches в каталоге версии 3.0 или любая другая папка на диске.
Сделайте резервную копию: скопируйте папки поставщиков из каталога
TSLab 2.0на другой диск или в облачное хранилище. Копия защищает от ошибки при переносе, а загрузить многолетний архив с биржи заново получится не всегда.Завершите работу в обеих версиях программы: пока вы переносите файлы, обращаться к ним программа не должна.
Перенесите папки
[Поставщик]Cache,[Поставщик]CacheDataи[Поставщик]CacheTradesв выбранную папку — по три папки на каждого поставщика.Запустите TSLab 3.0 и откройте Файл → Настройки программы, вкладка Пути к папкам. В строке Путь к кешам поставщиков (необходим перезапуск программы) нажмите кнопку с тремя точками, укажите выбранную папку и нажмите ОК.
Перезапустите программу: новый путь вступает в силу только после перезапуска.
Скриншот: вкладка «Пути к папкам» окна «Настройки программы» — строка «Путь к кешам поставщиков» с кнопками выбора папки и сброса
Кнопка Reset рядом со строкой возвращает путь, заданный по умолчанию.
Если вы собираетесь работать и в TSLab 2.2, старые файлы кэша из каталога TSLab 2.0 не забирайте: версия 2.2 читает только их. В этом случае перенесите в новую папку подпапки нового формата, а файлы вида ETHUSDT.1M.bin.gz оставьте на месте.
Какую папку выбрать. У вашей учётной записи Windows должны быть полные права на чтение и запись в этой папке. Системных каталогов вроде Program Files и Windows избегайте: запись в них может требовать прав администратора, и обновление кэша будет срываться. Запас свободного места стоит держать в 5—10 ГБ: объём кэша зависит от числа инструментов, глубины истории и используемых интервалов.
Путь задаётся один для всех поставщиков данных. Отдельную папку для конкретного поставщика или отдельно для тиковых данных указать нельзя: программа размещает папки всех поставщиков внутри выбранного каталога.
Переносить кэш необязательно. Если оставить всё как есть, программа продолжит работать: перенесённые поставщики будут читать и дополнять кэш в каталоге версии 2.2, новые — в папке из настроек.