Мультистратегии в рантайме
npx @tradejs/cli signals умеет запускать несколько стратегий за один проход.
Источник:
@tradejs/cli
Как подгружаются стратегии
Для выбранного пользователя runtime сканирует ключи:
users:<user>:strategies:*:config
Для каждого ключа:
- извлекает имя стратегии из ключа Redis
- берет creator через
getStrategyCreator(strategyName) - читает config payload из Redis
Неизвестные стратегии пропускаются с warning.
Порядок выполнения по символу
- Загружает свечи символа и BTC-контекст.
- Итерирует стратегии в отсортированном порядке config-key.
- Выполняет каждую стратегию.
- На первом непустом сигнале:
- сохраняет сигнал в Redis
- прекращает проверку остальных стратегий для этого символа
Текущее поведение: первый сигнал выигрывает для символа в рамках одного запуска.
Контекст данных
Каждой стратегии передается:
- свечи символа (
data) - свечи BTC (
btcData) - свечи BTC Binance/Coinbase (для spread/correlation)
Runtime принудительно прокидывает:
ENV: 'CRON'- выбранный
INTERVAL MAKE_ORDERSиз CLI-флага
Практический сценарий
- Положите несколько конфигов в
users:<user>:strategies:<Strategy>:config. - Запустите:
npx @tradejs/cli signals --user root --timeframe 15
- Опционально нотификации/ордера:
npx @tradejs/cli signals --user root --timeframe 15 --notify --makeOrders