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

Первый бэктест торговой стратегии на TypeScript

В этом примере вы создадите локальный TradeJS-проект и запустите бэктест из веб-приложения. Клонировать исходный репозиторий и вручную заполнять Redis не нужно.

Требования

  • Node.js 20.19 или новее;
  • npm 10 или новее;
  • Docker Desktop либо Docker Engine;
  • плагин Docker Compose (docker compose).

1. Создайте проект

npx create-tradejs

Команда создаёт tradejs-project, после чего:

  1. устанавливает публичные пакеты TradeJS;
  2. создаёт tradejs.config.ts и локальные файлы окружения;
  3. запускает Redis и PostgreSQL/Timescale и проверяет их состояние;
  4. запускает веб-приложение и открывает страницу установки.

Другое имя каталога можно передать явно:

npx create-tradejs my-trading-project

2. Завершите установку

Введите и подтвердите пароль локального пользователя root. TradeJS сохраняет только хеш пароля, создаёт начальную конфигурацию MaStrategy:base, выполняет вход и открывает главную страницу.

На странице должен появиться график Coinbase BTCUSDT. Нажмите Create backtest в правом верхнем углу.

3. Запустите бэктест

Предустановка First backtest preset уже содержит:

  • стратегию и конфигурацию MaStrategy:base;
  • коннектор Binance;
  • инструмент BTCUSDT;
  • таймфрейм 15 минут;
  • период 45 дней;
  • один тест и один рабочий процесс.

Нажмите Start. TradeJS загрузит публичную историю свечей, выполнит бэктест и покажет ход расчёта и журнал. Метрики зависят от текущего 45-дневного периода: этот запуск проверяет работу всей цепочки, а не качество стратегии и не будущую доходность.

Остановка и повторный запуск

Нажмите Ctrl+C в терминале, чтобы остановить веб-приложение. Сервисы Docker останутся запущенными. Позже проект можно открыть так:

cd tradejs-project
npm run infra-up
npm run dev

Чтобы остановить локальные сервисы:

cd tradejs-project
npm run infra-down

Для собственного исследования перейдите к сетке параметров бэктеста.