Перейти к основному содержимому

Эксплуатация TradeJS на собственной инфраструктуре

TradeJS поставляется как набор npm-пакетов, а не как управляемый торговый сервис. Рабочая установка запускается в вашей среде и использует ваши Redis и PostgreSQL/Timescale.

Размещение​

Соберите и запустите веб-приложение из своего проекта:

npx tradejs-app build
npx tradejs-app start

Используйте supervisor процессов или контейнерную платформу. TLS, входящий трафик, резервное копирование, секреты и мониторинг настраиваются в вашей инфраструктуре. Публичные пакеты не создают готовое рабочее окружение автоматически: начните с локального запуска, затем отдельно настройте каждый внешний сервис.

В официальной схеме TradeJS-Project хранит набор пакетов, tradejs.config.ts, безопасные настройки по умолчанию и образ приложения. TradeJS-Deploy хранит Compose, TLS, постоянные тома, SSH, ограничения ресурсов и секреты. Project передаёт Deploy тег версионированного образа и ревизию проекта; Deploy не пересобирает исходный код. Подробнее: Владение репозиториями и пакетами.

Изменение конфигурации и развёртывание​

  • Полные настройки развёртываний и стратегий храните в tradejs.config.ts.
  • Точные версии npm храните в lock-файле и manifest образа. Не ведите ручную карту runtime-версий: строгая проверка Project вычисляет strategyRevision и deploymentCompositionId из разрешённой композиции.
  • Фиксируйте один точный framework cohort: каноническую stable-версию либо одну проверенную версию x.y.z-beta.N, общую для всех framework-пакетов. Base, Strategy Kit и пакеты стратегий оставляйте stable-only. Каждое обновление проверяйте в изолированном окружении до сборки образа.
  • Push в Project ничего не публикует и не развёртывает. Запускайте публикацию образа явно после проверок; тот же workflow должен завершить неизменяемую передачу в Deploy.
  • После развёртывания выполните runtime-control verify.
  • Redis хранит счета, паузу, журнал аудита, состояние процесса, сигналы, расчёты и сделки, но не является источником конфигурации стратегии.
  • Веб-интерфейс показывает конфигурацию без редактирования и позволяет только ставить новые входы на паузу или возобновлять их.
  • В официальной схеме сервер ежедневно формирует runtime evidence, а затем воспроизводит закрытое окно в изолированном read-only окружении на точном image digest из evidence. Не пересоздавайте этот feedback run из текущего локального checkout.

Ежедневные проверки​

  1. Проверьте состояние сервисов через docker compose ps или оркестратор.
  2. Выполните npx @tradejs/cli doctor в рабочем окружении.
  3. Проверьте доступность API и основных страниц веб-приложения.
  4. Проверьте Redis/PostgreSQL, свободное место, память и нагрузку.
  5. Убедитесь, что свечи обновляются, а торговый процесс отправляет признак жизни.
  6. Просмотрите ошибки циклов, отклонения ордеров и состояние открытых позиций.

Диагностика инцидента​

  1. Определите проблемный слой: приложение, коннектор, Redis, PostgreSQL, ML или внешний AI-сервис.
  2. Сохраните журналы до перезапуска, если ситуация не требует немедленной остановки.
  3. Определите масштаб: все стратегии и инструменты либо конкретная комбинация.
  4. При риске неконтролируемых входов поставьте новые входы на паузу. Управление уже открытыми позициями должно продолжаться.
  5. Внесите минимальное изменение и проверьте результат.

Типичный порядок перезапуска​

  1. Хранилища данных: Timescale и Redis.
  2. Сервис ML, если он используется.
  3. Веб-приложение и торговые процессы.
  4. Reverse proxy или ingress, если требуется.

Откат​

  • Храните предыдущие теги образов приложения и ML-сервиса.
  • При необходимости поставьте новые входы на паузу и разверните предыдущий образ приложения.
  • Откатывайте приложение и используемую ML-модель независимо, если это предусмотрено архитектурой.
  • После отката запустите doctor, runtime-control verify и проверку основных пользовательских сценариев.