Что такое TradeJS?
TradeJS — TypeScript-фреймворк для исследования систематических стратегий, бэктестинга, сканирования рынка и исполнения на собственной инфраструктуре.
В базовом виде TradeJS-проект содержит:
- рыночные данные в виде свечей;
- одну или несколько стратегий, которые обрабатывают эти свечи;
- сигналы о возможных входах и выходах;
- бэктест, который применяет правила стратегии к историческим данным;
- процесс обработки закрытых свечей текущего рынка, который при явном разрешении может размещать ордера;
- отчёты для сравнения конфигураций и поиска расхождений между историческим и фактическим поведением.
TradeJS — не закрытый торговый продукт. Вы задаёте или настраиваете стратегию, фиксируете допущения о данных и исполнении, анализируете результаты и решаете, достаточно ли оснований для следующего этапа проверки или ограниченного запуска.
Основной процесс
- Задайте правила стратегии, ограничения риска, набор инструментов и таймфрейм.
- Сравните конфигурации на исторических данных.
- Проверьте выбранные варианты на данных вне выборки с реалистичными комиссиями, проскальзыванием, задержками и ликвидностью.
- Воспроизведите точную рабочую конфигурацию на известном периоде и сравните решения с бэктестом или журналом реальной работы.
- Запустите расчёт сигналов на текущем рынке и только после отдельной оценки риска разрешите размещение ордеров.
Возможности
- Разрабатывать стратегии и индикаторы на TypeScript.
- Запускать бэктесты и сравнивать конфигурации.
- Рассчитывать сигналы той же логикой на текущем рынке.
- Запускать систему локально или на собственной инфраструктуре.
- Подключать свои стратегии, индикаторы и биржевые коннекторы.
- При необходимости использовать Pine-стратегии и AI/ML.
- Просматривать бэктесты и состояние запущенных стратегий в веб-приложении.
Основные пакеты
@tradejs/core— настройка, API стратегий, индикаторы и вспомогательные функции;@tradejs/node— бэктесты и исполнение в Node.js;@tradejs/cli— настройка, бэктесты, сигналы, результаты и диагностика;@tradejs/app— необязательный веб-интерфейс;@tradejs/base— стандартный набор компонентов;@tradejs/types— общие контракты.
Минимальная конфигурация проекта:
import { defineConfig } from '@tradejs/core/config';
import { basePreset } from '@tradejs/base';
export default defineConfig(basePreset);