Управление воспроизведением в реплее: пуск, перемотка, скорость и «Завершить»

Панель управления располагается над графиком реплея, как только сессия загружена. Она запускает и ставит на паузу поток тиков, перематывает на любую минуту сессии, меняет скорость воспроизведения от x1 до x25 и завершает сессию, открывая отчёт.

Senzoukria · Документация · Обновлено: сентябрь 2026


Где найти

Где
Реплей → «Загрузить сессию» → панель вверху графика (меню Sz → Реплей)
Скорость по умолчанию
x1 (реальное время); доступны x1, x2, x5, x10, x25
Горячие клавиши
Пробел — пуск/пауза, стрелки влево/вправо — перемотка на 1 % сессии; игнорируются при вводе в поле
Точность перемотки
Цель округляется к началу своей минуты

Что это делает

После того как экран подготовки загрузил сессию CME (несколько миллионов тиков, 30–60 секунд при первой загрузке), маршрут реплея показывает тот же график футпринта, что и вживую, с панелью управления над ним. В панели семь элементов: кнопка пуск/пауза, симулированные часы, ползунок перемотки, часы конца сессии, группа скоростей, кнопка «Завершить» и счётчик тиков. Высота панели 32 пикселя, и она стоит над графиком, а не поверх него.

Тики передаются проигрывателем на Rust пакетами и на фронтенде агрегируются в минутные бары футпринта. Канвас перерисовывается сразу на каждом пакете; состояние React (индикаторы, счётчики) фиксируется не чаще 4 раз в секунду — тот же потолок, что и у живого потока. Таймфреймы от 1м до 1ч выводятся из этих минутных баров. Пузыри крупных сделок получают сырые тики, поэтому в реплее они работают ровно так же, как вживую.

В реплее нет стакана: тиковая история брокера содержит только сделки (цена, количество, сторона агрессора) и никогда — глубину книги. Поэтому наложение профиля DOM на этом маршруте принудительно выключено, вместо того чтобы показывать книгу, восстановленную наугад.

Элементы управления

Семь элементов панели воспроизведения в том виде, как они отрисованы на маршруте реплея
ЭлементПо умолчаниюЧто делает
Пуск / пауза (▶ / ❚❚)После загрузки — на паузе (фаза «ready»)Запускает или приостанавливает поток тиков. Недоступна, пока сессия не загружена.
Симулированное времяПервый тик сессииВремя текущего проигрываемого тика в формате ЧЧ:ММ:СС по локальному времени вашей машины (24-часовому).
Перемотка0 %Ползунок от 0 до 100 % сессии с шагом 0,1 %. Перетаскивание ничего не меняет; перемотка отправляется, когда вы отпускаете указатель или клавишу.
Конец сессииВремя последнего тикаВремя последнего тика загруженного дня.
Скорость воспроизведенияx1x1, x2, x5, x10 или x25. Смена во время проигрывания применяется сразу; на паузе — при следующем пуске.
ЗавершитьОстанавливает воспроизведение и открывает отчёт по сессии. Ничего не удаляется: закройте отчёт и торгуйте дальше, если хотите.
Счётчик тиков«загрузка…»Всего тиков за загруженный день; показывает «· конец», когда сессия проиграна полностью.

Как работает перемотка

Цель перемотки округляется к началу своей минуты. Бары с этой минуты и дальше выбрасываются из локальной агрегации, проигрыватель на Rust перезапускается ровно там, а график мгновенно перестраивается по каждой минуте до курсора одним обращением к бэкенду (replay_bars_until). Поэтому перемотка вперёд не оставляет дыр: пропущенные минуты реконструируются, а не передаются потоком. Контекстные сессии, загруженные перед переигрываемым днём, пересеиваются при каждой перемотке, так что предыдущий профиль никуда не исчезает.

У каждого потока есть идентификатор. Пакеты из устаревшего потока (до того как перемотка разрешилась) отбрасываются, что не даёт посчитать минуту дважды. Если перемотка не удалась, ничего не выбрасывается, а ошибка показывается в баннере подготовки.

Клавиатура: пробел переключает пуск/паузу, а стрелки двигают курсор на 1 % сессии. Автоповтор клавиши намеренно игнорируется: каждая перемотка перестраивает день на стороне Rust, поэтому одно нажатие — одно перемещение. Горячие клавиши молчат, пока фокус в поле ввода, текстовой области или списке, а также при удерживании Ctrl, Alt или Meta.

Ограничения и подводные камни

  • Тики реплея имеют метку времени с точностью до секунды: сотни тиков делят одну метку, поэтому перемотка идёт целыми минутами.
  • Если бэкенд 90 секунд не сообщает о прогрессе загрузки, загрузка прерывается с явным сообщением (обычно это перезагрузка dev-сервера).
  • Завершение сессии записывает её статистику в панель результатов только в том случае, если за сессию была закрыта хотя бы одна симулированная сделка; сессия без сделок не записывается.
  • Уход с маршрута останавливает проигрыватель на бэкенде и освобождает тики в памяти; состояние панели не сохраняется.

Эта страница на других языках

Частые вопросы

Почему на x25 график движется плавно, а индикаторы обновляются реже?
Канвас перерисовывается на каждом пакете тиков, вне React. Индикаторы и счётчики читают снимок React, который фиксируется не чаще четырёх раз в секунду — тот же потолок, что и у живого потока.
Можно ли перемотать на точную секунду?
Нет. Цель округляется к началу минуты, потому что проигрыватель передаёт целые минуты, а агрегация перестраивается поминутно.
Удаляет ли кнопка «Завершить» мою сессию?
Нет. Она останавливает поток и открывает отчёт; загруженный день остаётся в памяти, пока вы не вернётесь к подготовке или не уйдёте с маршрута.