Экземпляр бота MagicTradeBot — это кроссплатформенное исполняемое приложение, поддерживающее Windows, Linux и macOS. Он разработан для автономной работы или совместной работы с несколькими экземплярами, при этом конфигурация осуществляется через центральный файл .yaml
.
Каждый экземпляр бота подключается к API панели управления MagicTradeBot для аутентификации, выполнения сделок и сканирования рынка в реальном времени. Этот документ описывает параметры конфигурации и лучшие практики безопасной связи.
📄 Структура конфигурации YAML
Основная конфигурация каждого экземпляра бота хранится в файле config.yaml
. Ниже приведён пример структуры:
server:
# Имя
botName: "Bybit_Mainnet_Trading_Bot" # Уникальное имя экземпляра бота
# ЛИЦЕНЗИОННЫЙ КЛЮЧ
licenseKey: "hRnWOLo91ESUiZ8SkN986w" # Необходим для активации и проверки экземпляра бота
# НАСТРОЙКА ДЕМО-РЕЖИМА
isDemo: true # true = симуляция; false = реальная торговля
# КОНФИГУРАЦИЯ API
api: "https://localhost:7225/" # URL API панели управления MagicTradeBot
# КОНТРОЛЬ ИСПОЛНЕНИЯ
refreshRate: 5 # Интервал сканирования рынка (в секундах)
totalConcurrentTrades: 0 # Макс. одновременно активных сделок (0 = без ограничений)
# УПРАВЛЕНИЕ РИСКАМИ (0 = отключено)
maxLoss: 0 # Бот остановится, если убыток достигнет этого порога
maxProfit: 0 # Бот остановится, если прибыль достигнет этого порога
# НАСТРОЙКИ УЧЁТНОЙ ЗАПИСИ
exchangeId: 0 # ID аккаунта для торговли (получается из панели управления)
# НАСТРОЙКИ ШАБЛОНА
templateId: 0 # ID шаблона стратегии (0 = по умолчанию)
# ТОРГОВАЯ СТРАТЕГИЯ
strategy: 0 # ID стратегии (см. список ниже)
strategyMaxCount: 55 # Макс. шагов стратегии (0 = без ограничений)
# СПИСОК СТРАТЕГИЙ:
# 0: Без стратегии
# 1: Мартингейл 2: Обратный мартингейл
# 3: Фибоначчи 4: Обратная Фибоначчи
# 5: 3-2-6-3 6: 3-2-6-3 обратная
# 7: Д'Аламбер 8: Обратный Д'Аламбер
timeZone: "UTC" # Часовой пояс для планирования и торговли
# НАСТРОЙКИ СИСТЕМЫ
debug: true # Включить подробное логирование
🔐 Рекомендации по безопасной связи
Поскольку экземпляры ботов взаимодействуют с API панели управления для получения символов, сканирования рынка и выполнения сделок, крайне важно обеспечить безопасность связи. Вот ключевые практики:
1. Используйте HTTPS для API
- Убедитесь, что поле
api
использует HTTPS URL - Используйте действующие TLS-сертификаты (например, Let’s Encrypt) для шифрования трафика
- Отклоняйте все небезопасные HTTP-соединения с панелью управления
2. Используйте аутентификацию JWT
- При запуске экземпляр бота запрашивает JWT токен, предоставляя учётные данные
- После проверки панель возвращает подписанный токен, который добавляется ко всем последующим запросам в заголовке
Authorization
- Токены должны иметь короткий срок действия и храниться безопасно в памяти
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
3. Ограничьте доступ с помощью белого списка IP
- Ограничьте доступ к API управления только известными IP-адресами экземпляров бота
- Настройте правила фаервола для блокировки несанкционированного доступа
4. Защищайте ключи API и лицензионные ключи
- Никогда не вставляйте секреты в исходный код и не записывайте их в логи
- Загружайте секреты через переменные окружения или менеджеры секретов
- Периодически обновляйте ключи API и лицензионные ключи
5. Изолируйте каждый экземпляр бота
- Назначьте уникальное
botName
для каждого бота и размещайте их в изолированных средах (например, Docker) - Ограничьте разрешения каждого бота с помощью ACL системы
6. Мониторинг и аудит
- Включите аудит логов на панели управления
- Логируйте все попытки аутентификации JWT и подозрительные действия
- Настройте уведомления через Sentry, Pushover или LogDNA для обнаружения аномалий
✅ Рекомендации
- 📌 Используйте надёжные пароли и шифрование между всеми сервисами
- 📌 Изолируйте инфраструктуру бота от публичного доступа
- 📌 Регулярно обновляйте как панель управления, так и экземпляры бота
- 📌 Автоматизируйте резервное копирование конфигураций и истории торговли