Telegram-уведомления
TradeJS может отправлять сигналы, графики и необязательные AI-комментарии, суточные операционные сводки и отчёты сравнения реальной работы с воспроизведением.
Настройка Telegram
- Войдите в TradeJS.
- Откройте настройки счёта через шестерёнку в левой панели.
- Во вкладке Integrations сохраните
TG_BOT_TOKENиTG_CHAT_ID. - Во вкладке Notifications выберите виды сообщений и сохраните настройки.
Переключатели независимы и по умолчанию включены:
| Настройка | Что отправляет |
|---|---|
Signals (NOTIFY_SIGNALS) | Торговые сигналы и сообщения о состоянии ордеров. |
AI signals analyze (NOTIFY_AI_ANALYSIS) | Отдельные сообщения с AI-анализом сигналов. |
Runtime debug (NOTIFY_RUNTIME_DEBUG) | Вложения TXT и JSON, включая файлы диагностики и сверки. |
Настройки принадлежат пользователю и управляют доставкой в Telegram. Они не меняют расчёт стратегии, допуск AI или размещение ордеров. Отключение вложений не отключает все текстовые сводки.
Значения относятся к текущему пользователю TradeJS. Токен бота скрыт в
веб-приложении, идентификатор чата виден. Если в сообщениях нужна ссылка на
доступную по HTTPS главную страницу, задайте APP_URL в окружении сервера.
Проверка бота отдельно от TradeJS:
curl -s -X POST "https://api.telegram.org/bot${TG_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d "{\"chat_id\":\"${TG_CHAT_ID}\",\"text\":\"TradeJS test message\"}"
Не оставляйте токен бота в истории команд, снимках экрана, журналах и системе контроля версий.
Уведомления о сигналах
npx @tradejs/cli signals \
--user root \
--notify \
--tickers BTCUSDT \
--cacheOnly
Используйте того же пользователя, у которого сохранены настройки Telegram. TradeJS записывает решение стратегии до отправки сообщения. Сигналы, заблокированные или отменённые до отправки ордера, остаются доступны для диагностики, но не отправляются как торговые уведомления.
Принятый сигнал может содержать график и AI-комментарий. Если построить график не удалось, TradeJS отправит текстовое сообщение. Ошибка отправки ордера также может попасть в уведомление: сообщение не является подтверждением исполнения.
Суточная операционная сводка
npx @tradejs/cli signals-summary \
--user root \
--connector bybit
По умолчанию отчёт охватывает 24 часа. --hours <count> меняет период, а
--printOnly печатает отчёт без отправки.
В сводку входят:
- число сигналов по стратегиям и статусам;
- число сделок и разделение на открытые и закрытые;
- текущий PnL открытых и итоговый PnL закрытых сделок;
- число расчётов и причины пропуска, если они доступны.
Сверка PnL зависит от возможностей коннектора и от того, были ли ордера отслежены TradeJS. Окончательным источником состояния счёта и позиций остаётся биржа или брокер.
Сравнение с воспроизведением
Ежедневный рабочий отчёт отправляется только из проверенного неизменяемого набора с результатом воспроизведения:
npx @tradejs/cli runtime-feedback-notify \
--bundle <verified-replay-bundle>
Параметр --dryRun проверяет набор и печатает сообщение без отправки. До
доставки команда проверяет манифест, файлы и контрольные суммы. Если результат
сравнения отсутствует, команда завершается с ошибкой, а не отправляет пустой
отчёт.
Отчёт содержит период, коннектор, развёртывание и композицию, число записей реальной работы, сопоставимые входы, совпадения, ошибки ордеров, входы только из реальной работы или бэктеста, покрытие происхождения данных, исключённые сделки и расхождения по стратегиям.
runtime-parity остаётся командой для ручной диагностики входов. Её параметр
--notify может отправить результат ручного запуска, но не используется для
ежедневного рабочего отчёта.
Перед диагностикой прочитайте Сравнение реальных и воспроизведённых входов.
Доставка
Длинный отчёт делится на пронумерованные сообщения. Уведомления о сигналах отправляются по одному, чтобы график и AI-комментарий оставались рядом. Ошибка доставки не меняет сохранённое решение стратегии или состояние ордера.
Частые проблемы
- Нет сообщений: проверьте настройки выбранного пользователя и добавьте бота в нужный чат или канал.
- Есть текст, но нет изображения: проверьте построение графика и доступность
APP_URLс сервера TradeJS. - Нет AI-комментария: убедитесь, что AI-оценка включена и завершилась для этого сигнала.
- Нет PnL: проверьте поддержку сверки коннектором и сравните результат с позициями и исполнениями на площадке.
- Отчёт пришёл частями: это ожидаемо при превышении лимита Telegram.