Skip to main content

Введение и архитектура JT-LIB

Что такое JT-LIB?

JT-LIB — это TypeScript библиотека, специально разработанная для создания торговых роботов для платформы JT-Trader. Она предоставляет упрощенный интерфейс для взаимодействия с биржами и реализации торговых стратегий.

Основные возможности

  • Торговые операции: Покупка, продажа, размещение ордеров
  • Работа с рынками: Получение данных о ценах, объемах, стакане
  • Управление событиями: Реакция на изменения рынка в реальном времени
  • Хранение данных: Сохранение состояния и истории операций
  • Триггеры: Автоматическое выполнение действий по условиям
  • Отчетность: Детальная аналитика торговых операций
  • Технические индикаторы: Встроенные индикаторы для анализа
  • Управление свечами: Буферизация и обработка свечных данных

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

Изучив исходный код, JT-LIB имеет следующую архитектуру:

1. Ядро системы (Core)

  • BaseObject (src/lib/core/base-object.ts) - Основной класс для всех объектов библиотеки

    • Уникальная идентификация объектов
    • Управление жизненным циклом (создание, уничтожение)
    • Система дочерних объектов
    • Обработка ошибок и логирование
  • BaseScript (src/lib/script/base-script.ts) - Базовый класс для торговых скриптов

    • Управление символами и подключениями
    • Обработка тиков и таймеров
    • Управление ордерами и позициями
    • Интеграция с глобальными сервисами
  • Globals (src/lib/core/globals.ts) - Глобальное состояние приложения

    • Централизованное управление объектами
    • Доступ к основным сервисам
    • Управление торговыми разрешениями
    • Пользовательские данные и параметры

2. Система событий (Events)

  • EventEmitter (src/lib/events/event-emitter.ts) - Система событий
  • TriggerService (src/lib/events/triggers/) - Сервис триггеров
  • Types (src/lib/events/types.ts) - Типы событий

3. Торговые компоненты

  • OrdersBasket (src/lib/exchange/orders-basket.ts) - Основной класс для работы с биржей
    • Создание и управление ордерами (market, limit)
    • Автоматическое создание Stop Loss и Take Profit
    • Управление позициями (long/short)
    • Расчет P&L и комиссий
    • Поддержка hedge режима
    • Интеграция с системой триггеров
  • Exchange Types (src/lib/exchange/types.ts) - Типы для работы с биржей
  • Exchange Helpers (src/lib/exchange/heplers.ts) - Вспомогательные функции
  • Candles (src/lib/candles/) - Управление свечными данными
  • Indicators (src/lib/indicators/) - Технические индикаторы

4. Вспомогательные сервисы

  • Storage (src/lib/core/storage.ts) - Хранение и управление данными
  • Report (src/lib/report/) - Формирование отчетов
  • Utils (src/lib/utils/) - Утилиты (дата/время, числа)

5. Интерфейсы (Interfaces)

  • Candle (src/lib/interfaces/candle.interface.ts) - Интерфейс свечи
  • Order (src/lib/interfaces/order.interface.ts) - Интерфейс ордера
  • Position (src/lib/interfaces/position.interface.ts) - Интерфейс позиции
  • Tick (src/lib/interfaces/tick.interface.ts) - Интерфейс тика
  • Symbol (src/lib/interfaces/symbol.interface.ts) - Интерфейс символа

Установка и настройка

JT-LIB является частью платформы JT-Trader и устанавливается вместе с ней. Для работы с библиотекой необходимо установить JT-Trader.

📖 Инструкция по установке: Установка JT-Trader

Cтруктура библиотеки

jt-lib-source/
├── src/
│ └── lib/
│ ├── core/ # Ядро системы
│ │ ├── base-object.ts # Базовый объект
│ │ ├── base-script.ts # Базовый скрипт
│ │ ├── globals.ts # Глобальное состояние
│ │ ├── storage.ts # Хранение данных
│ │ ├── log.ts # Система логирования
│ │ └── errors.ts # Обработка ошибок
│ ├── events/ # Система событий
│ │ ├── event-emitter.ts # Эмиттер событий
│ │ └── triggers/ # Триггеры
│ ├── exchange/ # Работа с биржами
│ ├── candles/ # Управление свечами
│ ├── indicators/ # Технические индикаторы
│ ├── report/ # Отчетность
│ ├── script/ # Торговые скрипты
│ ├── utils/ # Утилиты
│ └── interfaces/ # TypeScript интерфейсы

//TODO После того как добавим остальные главы добавить сюда как быстро начать