MagicTradeBot 机器人实例是一个跨平台可执行程序,支持 Windows、Linux 和 macOS。它可以独立运行或与多个实例一起运行,配置通过中心 .yaml
文件进行管理。
每个机器人实例都会连接到 MagicTradeBot 管理应用 API 以进行身份验证、执行交易并实时扫描市场。本文档解释了配置参数和安全通信的最佳实践。
📄 YAML 配置结构
每个机器人实例的核心配置存储在 config.yaml
文件中。以下是参考布局:
server:
# 名称
botName: "Bybit_Mainnet_Trading_Bot" # 机器人的唯一名称
# 授权密钥
licenseKey: "hRnWOLo91ESUiZ8SkN986w" # 用于激活和验证机器人实例
# 模拟模式设置
isDemo: true # true = 模拟交易;false = 实盘交易
# API 配置
api: "https://localhost:7225/" # MagicTradeBot 管理 API 的地址
# 执行控制
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. 对 API 端点使用 HTTPS
- 确保
api
字段使用 HTTPS URL - 使用有效的 TLS 证书(如 Let’s Encrypt)对通信进行加密
- 拒绝所有不安全的 HTTP 连接
2. 强制启用 JWT 身份验证
- 机器人实例在启动时通过凭证请求 JWT 令牌
- 验证成功后,管理应用返回一个签名令牌,机器人将在所有请求中通过
Authorization
头部携带该令牌 - 令牌应设置较短过期时间,并安全地保存在内存中
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
3. 使用 IP 白名单限制访问
- 限制只有运行机器人实例的已知 IP 可以访问管理 API
- 通过防火墙规则阻止所有未授权访问
4. 保护 API 密钥和授权密钥
- 切勿将密钥硬编码进源代码或写入日志
- 通过环境变量或加密的密钥管理工具加载敏感信息
- 定期轮换授权密钥和交易所 API 凭证
5. 隔离每个机器人实例
- 为每个机器人指定唯一的
botName
,并部署在隔离容器或环境中 - 若操作系统支持 ACL,请限制每个实例的权限
6. 监控并审计 API 使用
- 在管理应用中启用 审计日志
- 记录所有 JWT 身份验证请求及异常访问模式
- 通过 Sentry、Pushover 或 LogDNA 设置告警进行异常检测
✅ 推荐措施
- 📌 在所有服务之间使用强密码和加密通信
- 📌 将机器人基础设施从公网隔离
- 📌 定期更新管理应用和机器人实例软件
- 📌 自动备份机器人配置和交易历史