Установка TradeJS в TypeScript-проект
Для нового проекта используйте create-tradejs. Ручная установка нужна только
при добавлении TradeJS в существующий TypeScript-проект.
Требования
- Node.js 20.19 или новее;
- npm 10 или новее;
- Docker Desktop либо Docker Engine;
- плагин Docker Compose (
docker compose).
Рекомендуемый вариант
npx create-tradejs
Команда устанавливает пакеты, запускает локальные сервисы, создаёт начального
пользователя и конфигурацию бэктеста, затем открывает веб-приложение.
Продолжение: Первый бэктест. Созданный проект также содержит
узкие Codex skills для стратегий в
.codex/skills.
Ручная установка
mkdir tradejs-project
cd tradejs-project
npm init -y
npm install @tradejs/app @tradejs/core @tradejs/node @tradejs/types @tradejs/base @tradejs/cli
Основные пакеты @tradejs/core, @tradejs/node, @tradejs/cli и
@tradejs/app должны иметь совместимую старшую версию. @tradejs/base,
@tradejs/strategy-kit и @tradejs/strategy-* выпускаются независимо. Вместо
принудительного выравнивания исправляющих версий сохраняйте lock-файл.
Создайте tradejs.config.ts
import { defineConfig } from '@tradejs/core/config';
import { basePreset } from '@tradejs/base';
export default defineConfig(basePreset);
basePreset подключает стандартный набор стратегий, индикаторов и коннекторов,
но сам по себе не запускает стратегии. Чтобы выбрать стратегии, счета и
инструменты для постоянного расчёта, добавьте именованную запись
runtime.deployments и следуйте инструкции
Запуск стратегии в рабочем окружении.
Подробности о составе пакетов: Владение репозиториями и пакетами.
Запустите локальные сервисы
npx @tradejs/cli infra-init
npx @tradejs/cli infra-up
npx @tradejs/cli doctor
Создайте пользователя root
npx @tradejs/cli user-add -u root -p 'StrongPassword123!'
Подробнее: Настройка пользователя root.
Запустите веб-приложение
npx tradejs-app dev
Откройте адрес из консоли, обычно http://localhost:3000.
Анонимная телеметрия первого запуска
Веб-приложение отправляет в Яндекс Метрику только названия анонимных событий
scaffold_success и first_backtest. Конфигурация стратегии, инструменты,
учётные данные и результаты не передаются.
Чтобы отключить события, добавьте в .env до запуска или сборки:
NEXT_PUBLIC_TRADEJS_TELEMETRY_DISABLED=1
Правила импортов
- настройка и регистрация плагинов:
@tradejs/core/config; - функции для браузера: документированные
@tradejs/core/*; - функции Node.js: документированные
@tradejs/node/*; - общие контракты:
@tradejs/types; - серверные хранилища: конкретные точки входа
@tradejs/infra/*.
Не импортируйте внутренние файлы @tradejs/*/src/*.