Перейти к основному содержимому

Работа нескольких стратегий

Один процесс 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

См. Как рассчитываются сигналы и Проверка реальных решений через воспроизведение.