Введение и архитектура 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 После того как добавим остальные главы добавить сюда как быстро начать