Работа нескольких стратегий
Один процесс signals может рассчитывать несколько стратегий, счетов,
таймфреймов, классов рынка и развёртываний из tradejs.config.ts.
Разделение настроек
Для каждой включённой стратегии TradeJS определяет:
- имя, версию и полную конфигурацию;
- таймфрейм и класс рынка;
- коннектор и торговый счёт;
- инструменты развёртывания и необязательный
selection.tickersстратегии; - настройки риска и дополнительные правила.
Каждая уникальная комбинация рассчитывается независимо. Параметры командной
строки могут сузить текущий запуск, а --tickers — временно заменить его набор
инструментов.
Если у удалённого из списка инструмента остаётся открытая позиция, он продолжает обрабатываться для решений о выходе и управления позицией.
Решения по одному инструменту
Все применимые стратегии обрабатывают одну и ту же последнюю закрытую свечу и записывают собственные решения. Разные стратегии могут дать противоположные сигналы. TradeJS не считает их готовым портфельным решением: правила уровня счёта и хуки проекта должны определять суммарную экспозицию, лимиты позиций, хеджирование и разрешение конфликтов.
Два включённых экземпляра одной стратегии не могут работать с одним счётом в одном процессе: их позиции и решения были бы неоднозначны. Используйте другой счёт или отключите один экземпляр.
Примеры
Один расчёт всех включённых настроек:
npx @tradejs/cli signals --user root
Постоянная работа одного развёртывания:
npx @tradejs/cli signals-daemon \
--user root \
--deployment production \
--notify \
--makeOrders
Узкая диагностическая проверка без размещения ордеров:
npx @tradejs/cli signals \
--user root \
--universe crypto \
--timeframe 15 \
--account bybit-main \
--tickers BTCUSDT,ETHUSDT \
--cacheOnly
См. Как рассчитываются сигналы и Проверка реальных решений через воспроизведение.