Barfinex

Как работает Barfinex

Типичные проблемы и решения

Частые проблемы при запуске Barfinex: Provider/Detector не поднимаются, нет данных в Studio, mixed content, нет сигналов в Telegram, Redis и Docker сеть.

Provider или Detector не поднимаются

  • Проверить инфраструктуру: Redis и (при необходимости) QuestDB должны быть запущены и доступны. Сначала поднимите инфраструктуру (например docker compose -f docker-compose-infra.yml up -d или аналог из вашего репозитория), затем слой приложений. См. Установка и запуск Provider и Разбор docker-compose для Provider.
  • Переменные окружения: в .env задайте REDIS_HOST, REDIS_PORT (в Docker часто REDIS_HOST=redis). Для Provider — порты, образ, при необходимости ключи биржи (BINANCE_API_KEY, BINANCE_API_SECRET).
  • Конфиги: проверьте наличие и корректность config.provider.json, config.detector.json и т.д. в каталоге конфигурации вашего развёртывания.
  • Логи: docker logs -f provider, docker logs -f detector — смотрите ошибки подключения к Redis, бирже, QuestDB. Часто причина — неверный хост/порт или контейнер не в общей сети (например barfinex-network). Подробнее: Объяснение логов Provider.

Нет данных в Studio

  • WebSocket: данные в реальном времени идут через Provider /ws. Убедитесь, что Studio подключается к правильному URL (например wss://<provider-host>/ws) и что CORS/HTTPS настроены (CORS_ORIGINS). См. Работа с API — единый шлюз.
  • Redis и WS Bridge: Provider подписан на каналы Redis и транслирует их в WebSocket. Если Redis недоступен или Provider не подписался — в Studio не будет событий. Проверьте логи Provider на ошибки Redis.
  • Прокси: если Studio обращается к Advisor/Inspector/Detector через Provider, проверьте, что приложения зарегистрированы в App Registry (heartbeat) и что в Provider заданы ADVISOR_API_URL, INSPECTOR_API_URL, DETECTOR_API_URL и соответствующие *_APP_KEY. См. Архитектура платформы.

Ошибки mixed content

Если Studio открыта по HTTPS, а API вызывается по HTTP — браузер блокирует mixed content. Решение: поднимать API (или reverse proxy перед ним) по HTTPS и использовать один origin. См. Настройка локальных сертификатов и настройку SSL в вашем развёртывании.


Нет сигналов в Telegram

  • Переменные: задайте TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID. Для Detector отдельно: DETECTOR_TELEGRAM_ENABLED, DETECTOR_TELEGRAM_CHAT_ID, при необходимости DETECTOR_TELEGRAM_MIN_INTERVAL_MS, DETECTOR_TELEGRAM_DEDUP_WINDOW_MS. Подробнее: Уведомления в Telegram.
  • Логика: сигналы в Telegram исходят от Detector (и при необходимости от Inspector). Убедитесь, что Detector генерирует события: подключён к Redis, получает данные от Provider, стратегия/плагин включён. Проверьте логи Detector и Inspector.

Проблемы с Redis и сетью Docker

  • Подключение: все приложения должны использовать один и тот же REDIS_HOST и REDIS_PORT. В Docker Compose сервисы должны быть в одной сети (barfinex-network), имя сервиса Redis должно совпадать с REDIS_HOST (например redis).
  • Проверка Redis: docker exec -it redis redis-cli PING — должен ответить PONG. Из контейнера приложения проверьте, что REDIS_HOST резолвится (в той же сети имя вида redis).
  • Таймауты и разрывы: при нестабильной сети можно настроить повторные подключения (в коде provider-ws-bridge используются переменные вроде REDIS_KEEP_ALIVE_MS, REDIS_CONNECT_TIMEOUT_MS, REDIS_RECONNECT_*). Логи Provider/Detector/Advisor/Inspector покажут предупреждения о переподключении к Redis.

QuestDB: предупреждения vm.max_map_count

При запуске QuestDB на Linux может потребоваться увеличение vm.max_map_count на хосте (например sysctl -w vm.max_map_count=262144). В Windows при использовании WSL скрипт запуска инфраструктуры (например run-infra.ps1) может выставлять это значение перед стартом. См. документацию QuestDB и скрипты вашего репозитория.


Детектор в режиме только чтения

Если Detector не открывает и не закрывает позиции, проверьте переменную DETECTOR_READONLY. При DETECTOR_READONLY=true детектор сознательно не исполняет ордера (только логирование). Уберите или установите false для реального исполнения.


Полезные разделы документации

Давайте свяжемся

Есть вопросы или хотите узнать больше о Barfinex? Напишите нам.