Skip to main content

JT-Trader

License TypeScript Node.js CCXT JT-Lib

Лицензия

JT-LAB имеет двойную лицензию:

  • 🟢 Бесплатно для личного, образовательного и open-source использования под лицензией AGPLv3.
  • 🔒 Коммерческое использование требует платной лицензии.

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

Обзор платформы

JT-Trader построена на основе библиотеки JT-Lib и предоставляет полноценную экосистему для алгоритмической торговли. Платформа позволяет разработчикам создавать сложные торговые стратегии, тестировать их на исторических данных и запускать в реальном времени на различных криптовалютных биржах.

Архитектура системы

JT-Trader представляет собой среду для запуска торговых роботов, где пользователи самостоятельно настраивают подключения к биржам и запускают торговые скрипты. Система обеспечивает унифицированную работу как в режиме тестирования, так и в реальном времени.

Основные компоненты системы:

  • Среда выполнения скриптов - унифицированная платформа для запуска торговых алгоритмов
  • Система подключений к биржам - конфигурация и управление соединениями через WebSocket
  • Мониторинг и управление - контроль состояния скриптов, их запуск и остановка
  • Система отчетности - сбор и визуализация данных о торговой активности
  • Унифицированные торговые функции - собственные API поверх CCXT для единообразия работы

Ключевые возможности

Унифицированная разработка торговых стратегий

JT-Trader предоставляет единый фреймворк для создания торговых алгоритмов на основе TypeScript. Ключевой особенностью является унификация API - то, что работает в тестере, будет работать и в реальной торговле.

Система тестирования и оптимизации

Платформа включает в себя продвинутый тестер стратегий, который позволяет проводить бэктестинг на исторических данных с высокой точностью. Система поддерживает мультивалютное тестирование, оптимизацию параметров стратегий и детальный анализ результатов.

Управление торговыми операциями

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

Интеграция с биржами через CCXT

JT-Trader использует библиотеку CCXT для работы с криптовалютными биржами, но предоставляет собственные унифицированные функции поверх неё. Это обеспечивает единообразие работы с различными торговыми площадками.

Система отчетности и мониторинга

JT-Trader включает мощную систему отчетности, которая позволяет торговым скриптам отправлять данные через функцию updateReport() для визуализации в веб-интерфейсе.

Веб-интерфейс

JT-Trader предоставляет единое веб-приложение с интуитивным интерфейсом, доступным через любой браузер. Приложение организовано в виде вкладок:

Основные вкладки

Runtime - центральный модуль для управления торговыми ботами в реальном времени. Позволяет создавать конфигурации, запускать и останавливать торговые стратегии, мониторить их работу и просматривать логи.

Tester - комплексный инструмент для тестирования стратегий на исторических данных. Включает настройку параметров тестирования, оптимизацию стратегий и анализ результатов бэктестинга.

Strategy Files - система управления торговыми стратегиями и их распространения. Позволяет создавать бандлы стратегий, публиковать их в облако и управлять версиями торговых алгоритмов.

Configuration - настройка подключений к биржам и конфигурация системы. Здесь пользователи настраивают API ключи, WebSocket соединения и другие параметры подключения к торговым площадкам.

Установка

JT-Trader можно установить несколькими способами в зависимости от ваших потребностей:

🚀 Launcher - для пользователей

🐳 Docker - для серверных развертываний

📦 GitHub - для разработчиков

Клонируйте репозиторий вместе с подмодулем jt-lib:

git clone --recurse-submodules https://github.com/jt-lab-com/jt-trader.git

Установка зависимостей

Перейдите в папку проекта и установите зависимости:

cd jt-trader && yarn

Настройка окружения

Создайте файл .env в корневой директории проекта, скопировав содержимое .env.example, и укажите значения для следующих переменных окружения:

# Основные настройки
PORT=8080
SITE_API_HOST=https://jt-lab.com
STANDALONE_APP=1

# Режим торгового движка: both, realtime, tester
ENGINE_MODE="both"

# Пути к файлам и директориям
DATABASE_URL="file:/path/to/your/project/storage.db"
ROLLUP_TS_CONFIG=tsconfig.bundler.json
STRATEGY_FILES_PATH=/path/to/your/project/strategy-source/src
MARKETS_FILE_PATH=markets.json
ARTIFACTS_DIR_PATH=/path/to/your/project/artifacts
HISTORY_BARS_PATH=downloaded-history-bars
LOGS_DIR_PATH=artifacts

# Redis (опционально - система может работать с файловым кэшем)
# REDIS_URL=redis://localhost:6379

Описание переменных

ПеременнаяОписаниеПример
PORTПорт, на котором будет запущено приложение8080
SITE_API_HOSTБазовый URL API сайтаhttps://jt-lab.com
STANDALONE_APPЛокальный режим работы (1 = включен)1
ENGINE_MODEРежим торгового движка"both", "realtime", "tester"
DATABASE_URLАбсолютный путь к файлу базы данных SQLite"file:/path/to/your/project/storage.db"
STRATEGY_FILES_PATHАбсолютный путь к исходному коду стратегий/path/to/your/project/strategy-source/src
ROLLUP_TS_CONFIGПуть к конфигурации TypeScripttsconfig.bundler.json
MARKETS_FILE_PATHПуть к файлу конфигурации рынковmarkets.json
ARTIFACTS_DIR_PATHПуть к директории отчетов стратегий/path/to/your/project/artifacts
HISTORY_BARS_PATHПуть к директории исторических данныхdownloaded-history-bars
LOGS_DIR_PATHПуть к директории логовartifacts
REDIS_URLURL подключения к Redis (опционально)redis://localhost:6379

⚠️ Важно: Настройка путей

Замените /path/to/your/project/ на реальные пути к вашему проекту:

  • DATABASE_URL - укажите полный путь к файлу базы данных
  • STRATEGY_FILES_PATH - укажите путь к папке с исходным кодом стратегий
  • ARTIFACTS_DIR_PATH - укажите путь к папке для отчетов и артефактов

Пример для Windows:

DATABASE_URL="file:C:/Users/YourName/jt-trader/storage.db"
STRATEGY_FILES_PATH=C:/Users/YourName/jt-trader/strategy-source/src
ARTIFACTS_DIR_PATH=C:/Users/YourName/jt-trader/artifacts

Пример для Linux/macOS:

DATABASE_URL="file:/home/username/jt-trader/storage.db"
STRATEGY_FILES_PATH=/home/username/jt-trader/strategy-source/src
ARTIFACTS_DIR_PATH=/home/username/jt-trader/artifacts

Сборка и запуск

Для сборки проекта выполните:

yarn build:prod

Для запуска приложения в продакшн режиме:

yarn start:prod

Быстрый старт

Управление стратегиями

Система отчетности

JT-Trader предоставляет мощную систему отчетности с различными типами визуализации:

  • Графики - отображение ценовых данных и индикаторов
  • Таблицы - детальная информация о сделках и ордерах
  • Метрики - ключевые показатели производительности
  • Результаты оптимизации - анализ параметров стратегии

Управление стратегиями и бандлами

Платформа включает мощный инструмент для управления торговыми стратегиями - Strategy Files. Этот модуль позволяет разработчикам:

  • Собирать стратегии в бандлы
  • Публиковать их в облако
  • Управлять версиями торговых алгоритмов
  • Распространять стратегии между серверами

Процесс сборки бандла

  1. В поле Select strategy выберите нужный бандл стратегий
  2. Нажмите кнопку Build Bundle для сборки пакета
  3. После завершения появится сообщение: ✅ «Сборка успешно завершена»

Скрипт, скомпилированный с помощью команды Build Bundle, может быть развернут на любом сервере пользователя без необходимости копирования исходного кода на сервер.

Управление рисками

Встроенная система управления рисками позволяет:

  • Устанавливать лимиты позиций
  • Контролировать максимальную просадку
  • Автоматически останавливать торговлю при достижении критических уровней
  • Поддерживать различные типы стоп-лоссов и тейк-профитов

Документация

Поддержка

Для получения помощи и поддержки:

  • Изучите документацию
  • Обратитесь к сообществу
  • Сообщите об ошибках

JT-Trader открывает широкие возможности для алгоритмической торговли, сочетая в себе профессиональные инструменты разработки с удобным интерфейсом управления. Независимо от вашего уровня опыта в трейдинге, платформа предоставит все необходимые инструменты для создания и запуска эффективных торговых стратегий.