К статье
Справка XTester
XTester Studio

Данные

Импортируйте временные ряды CSV и Parquet: готовый пример, время публикации, пробный отчёт, проверка точек и ошибок.

Проверено: Для версий: 1.0.0-preview.1

Импорт файла

Где открыть

палитра команд → «Импортировать серию из файла…». Для просмотра уже сохранённых серий откройте дерево «Данные». Импорт принимает CSV/TSV/TXT и Parquet; это временной ряд дополнительных показателей, а не команда загрузки свечей биржи.

Порядок действий
  1. Выберите файл и задайте отдельный ключ серии.
  2. Проверьте временные колонки, поля значений, число точек и пропуски в пробном отчёте.
  3. При запросе уточните реальную задержку публикации или часовой пояс.
  4. Подтвердите импорт либо замену только после просмотра отчёта.
  5. Найдите серию в «Данных» и проверьте её первые точки.

Серия получает постоянный ключ, например file:help-example. Ключ связывает сохранённые данные с обращением стратегии. Для ряда одного инструмента доступен вид file:name@Exchange/Market/SYMBOL. Используйте латинские строчные буквы, цифры и допустимые знаки _ . - в имени.

Сначала Studio разбирает весь файл и показывает пробный отчёт. До отдельного подтверждения сам импорт не выполняется. Если ключ уже существует, действие будет заменой сохранённой серии — перепроверьте назначение.

Минимальный пример CSV

Скопируйте текст ниже в UTF-8 файл example.csv. event_time — время события, available_at — когда значение стало известно, value — числовое поле. Время в примере задано в UTC, что обозначено Z.

Этот точный файл прошёл пробный разбор EngineHost 1.0.0-preview.1 на macOS: 3 строки, 3 точки, без пропущенных строк; шаг определён как одна минута. Первая точка относится к 00:00, но доступна только с 00:05. Это учебные значения, а не рыночный набор данных.

event_time,available_at,value
2020-01-01T00:00:00Z,2020-01-01T00:05:00Z,1
2020-01-01T00:01:00Z,2020-01-01T00:06:00Z,2
2020-01-01T00:02:00Z,2020-01-01T00:07:00Z,3

Два времени и задержка публикации

Момент события и момент доступности могут отличаться. Если показатель за 00:00 опубликован в 00:05, стратегия до 00:05 не должна его видеть. Присвоить всем точкам время события без проверки публикации означало бы заглядывание в будущее.

Без available_at импорт запрашивает явную задержку: например 5m, 6h или 1d. Ноль допустим, когда значение действительно известно сразу; это не универсальный способ убрать ошибку. Проверенный файл без колонки был отклонён с missing_available_at, а после явных 5m прошёл разбор с ожидаемым сдвигом.

Время без Z или смещения вызывает отдельный вопрос о трактовке UTC. Подтверждайте её только для источника, который действительно использует UTC. Для локального времени сначала исправьте файл; молчаливое объявление его UTC сместит ряд.

Проверка и удаление

В пробном отчёте проверьте распознанный формат, колонки, число принятых строк, диапазон событий, диапазон доступности, шаг и пропуски. Пропущенные строки перечисляются с причиной и примерами; успешный разбор не означает, что приняты все исходные строки.

Скриншот программыXTester 1.0.0-preview.1
Разверните биржу и рынок в дереве «Данные», чтобы найти сохранённую минутную серию BTCUSDT.Снимок интерфейса · XTester 1.0.0-preview.1
  1. Минутная серия BTCUSDT

В дереве «Данные» выберите серию и «Показать точки…»: можно вывести первые или последние 50 либо 500 точек в канал «XTester Engine». Таблица содержит event_time, available_at и поля значений. Сравните несколько точек с исходным файлом.

«Проверить пробелы серии» проверяет интервалы относительно доступного шага. Если точек меньше двух, шаг проверить нельзя; отсутствие найденных пробелов не подтверждает качество или правильность публикационного времени.

«Удалить серию…» после подтверждения удаляет её с диска. Историю свечей инструмента эта команда не удаляет. Для восстановления понадобится исходный файл или другой доступный источник.

Серии в стратегии

Стратегия обращается к ряду по стабильному ключу через context.Series("file:help-example"). Доступные методы чтения и поля сверяйте с API установленного движка; сам ключ не является именем CSV-колонки.

Разделяйте чтение данных и отображение. Импорт ряда не добавляет автоматически линию на график: рисуемый стратегией ряд требуется зарегистрировать явно. Для сопоставления с историческим расчётом также проверьте период, инструмент и время доступности точек.

Биржевые серии: открытый интерес и отношения

Помимо file: серий, источник exchange: предоставляет метрики Binance USDT-M perpetual. Для поддерживаемого инструмента есть open_interest, long_short_ratio, top_trader_long_short_ratio и taker_ratio. Это дополнительные ряды, а не свечи и не сделки стратегии.

Ключ включает источник, имя и привязку, например exchange:open_interest@Binance/FuturesUSDT/BTCUSDT. Биржа, рынок и инструмент имеют значение: ключ для Spot или другой биржи не равнозначен этому ряду.

Числовые поля, единицы и правило available-at смотрите в describe_series. Время события и время публикации различаются; пяти­минутная точка не должна становиться доступной стратегии раньше её описанного момента публикации.

Один запрос загрузчика для инструмента заполняет четыре поддерживаемых серии. После него проверьте фактическое покрытие: отсутствующие и отклонённые дни не заменяются нулевыми значениями.

Загрузить серии через Studio MCP

Этот сценарий относится к готовой сборке со Studio MCP-инструментом download_series. Сначала проверьте каталог и схему инструмента вашего подключения; его отсутствие в старой версии или другом профиле MCP нельзя исправить выдуманным вызовом.

Порядок действий
  1. Проверьте наличие download_series в каталоге Studio MCP.
  2. Выберите symbol или ключ серии, согласуйте UTC-период и запись данных.
  3. Выполните вызов с confirm=true.
  4. Дождитесь терминального состояния своего jobId.
  5. Проверьте покрытие и явно учтите отсутствующие/отклонённые дни.

После согласования источника, инструмента и периода задайте либо symbol, либо key — ровно одно из них. from включается, to не включается; даты трактуются в UTC. Ниже пример параметров запроса за один день, а не уже выполненная загрузка.

Операция записывает данные в общее хранилище и требует confirm=true. waitSeconds задаёт ожидание от 0 до 600 секунд, по умолчанию 120. Если терминального результата ещё нет, вернутся jobId и состояние; запрос ожидания не означает завершение загрузки.

Дальнейшее состояние читайте через job_status, своё задание отменяйте через job_cancel. После завершения сопоставьте requested/stored/downloaded/missing days, missingRanges, rejectedDays и coverage каждой серии. downloadedDays не заменяет проверку полного сохранённого окна.

Поддерживаемый загрузчик относится к указанным метрикам Binance USDT-M; funding использует отдельную операцию. Подробности текущих полей запрашивайте через get_tool_schema, а сохранённый диапазон — через get_series_coverage.

{
  "symbol": "BTCUSDT",
  "from": "2024-01-01",
  "to": "2024-01-02",
  "waitSeconds": 0,
  "confirm": true
}

Если файл не принимается

missing_available_at: добавьте реальное время публикации или задайте подтверждённую задержку. naive_time: укажите часовой пояс в файле либо обоснованно подтвердите UTC. Оба исхода воспроизведены на учебных файлах; это отказы проверки данных, а не сбой соединения.

Дубли времени события, обратный порядок доступности, неправильные заголовки или отсутствие числовых точек требуют исправления файла. Не меняйте ключ только для обхода ошибки содержимого. Если серия уже есть, выбирайте осознанно между отдельным ключом и её заменой.

При сообщении об устаревшем движке проверьте версию Studio и EngineHost. Для поддержки приложите точный текст ошибки, названия колонок и небольшой обезличенный фрагмент; полный частный набор данных передавать без необходимости не нужно.

Связанные команды

Команды в палитре
Название командыИдентификатор

Команды доступны по названию через палитру команд; их доступность зависит от текущего проекта и состояния операции.

Проверить пробелы серииxtester.seriesCheckGaps
Удалить серию…xtester.seriesDelete
Импортировать серию из файла…xtester.seriesImportFile
Показать точки…xtester.seriesShowPoints