跳至内容

Hummingbot 仪表板快速入门指南

在本教程中,我们将指导您安装 Hummingbot 2.0,它提供了一个易于使用的仪表板应用程序,帮助您连接交易所凭证、创建/回测策略配置,并部署一整套机器人!

观看以下视频,了解 Hummingbot 2.0 的功能概览和操作演示:

前提条件:Docker

Hummingbot 2.0 使用 Docker Compose 来安装和管理依赖项。我们建议安装 Docker Desktop,因为它包含了 Docker ComposeDocker EngineDocker CLI,这些都是仪表板正常运行所必需的组件。

安装

克隆 Deploy 仓库,其中包含 Docker Compose 配置文件以及一个 Bash 脚本,该脚本能自动拉取最新镜像并启动所需服务。

打开终端窗口并运行以下命令:

git clone https://github.com/hummingbot/deploy cd deploy bash setup.sh 

设置脚本将拉取仓库中 docker-compose.yml 文件定义的 Docker 镜像,并将其作为新容器启动。首次拉取镜像可能需要一些时间。

[+] 正在运行 7/7   网络 deploy_emqx-bridge 已创建    "deploy_emqx-data" 已创建    "deploy_emqx-log" 已创建    "deploy_emqx-etc" 已创建   容器 dashboard 已启动    容器 backend-api 已启动    容器 hummingbot-broker 已启动  

所有容器启动后,在浏览器中访问 http://localhost:8501 进入仪表板。

云服务器

如果您使用的是云服务器或 VPS,请将 localhost 替换为您的服务器 IP 地址。您可能需要编辑防火墙规则以允许对必要端口的入站连接。

添加凭证

凭证是 Hummingbot 在交易所进行交易所需的 API 密钥。仪表板允许您在多个账户下创建和管理 API 密钥,这在您于单个交易所使用多个子账户时非常有用。

假设您有三个 Kucoin 账户,并希望在创建机器人时能够在这三个账户之间切换。凭证页面可以实现这一点,因为在部署机器人时您可以选择要使用的账户。

在左侧菜单中点击 凭证 进入凭证页面:

下面我们来逐一介绍各个部分:

在此部分,我们可以看到 账户 列表以及已注册到该账户的任何 API 密钥。在上面的截图中,我们仅创建了一个名为 master_account 的账户,并为 Kucoin 连接了一个交易所 API。

创建新的 账户,只需输入账户名称,然后点击 创建账户

如果要删除账户(包括其关联的所有 API 密钥),请从下拉列表中选择该账户,然后点击 删除账户

如果只想删除某个特定账户下的某个 API 密钥,请先从列表中选择该账户,再选择对应的 API 凭证,然后点击 删除凭证

要为我们的账户添加 API 密钥,请使用此部分。选择您希望 API 密钥关联的账户,选择 连接器交易所,输入相应的 API 密钥,然后点击 提交凭证

如果 API 密钥有效,您应该会在顶部的 可用账户和凭证 部分看到它们出现在列表中。例如,如果您在主账户下为币安永续合约添加了 API 密钥,则应在 master_account 下看到 binance_perpetual

查看您的投资组合

添加 API 密钥后,您可以在“投资组合”页面查看可用代币及其分配情况。您可以按账户、交易所或代币进行筛选以获取更多详细信息。

上表显示了 Kucoin 交易所的可用代币列表。下方的图表将展示您的 投资组合随时间的变化 以及 代币价值随时间的变化

配置策略

在部署机器人之前,我们需要配置一个控制器(Controller),它定义了一种算法交易策略。在“配置生成器”部分,我们有以下可用的控制器:

  • PMM 简单模式
  • PMM 动态模式
  • D-Man Maker V2
  • Bollinger V1
  • MACD BB V1
  • SuperTrend V1
  • XEMM 控制器

现在我们先使用 PMM Simple 控制器,并浏览下面的各个部分:

配置 下,如果我们取消勾选 “使用默认配置” 复选框,将会显示一个下拉列表,列出我们之前配置过的所有配置。由于目前没有历史配置,因此列表为空。

对于 通用设置,我们可以选择要交易的 连接器 或交易所、交易对杠杆倍数。对于现货市场交易,我们建议将 杠杆倍数 设置为 1

我们还可以设置 报价货币总额(即我们希望用于交易的资金量,单位为 USDT)、持仓模式(单向 / 对冲)、止损冷却时间(触发止损后的冷却时间,单位为分钟)以及 执行器刷新时间(订单刷新时间)。

执行器配置 下,我们可以手动设置买卖订单的价差和数量,也可以从以下分布方式中选择一种:

  • GeoCustom
  • 几何分布
  • 斐波那契
  • 对数分布
  • 等差数列
  • 线性

风险管理 中,您可以设置 止损止盈时间限制追踪止损激活价格追踪止损差值,以及 止盈订单类型(限价单 / 市价单)。

在此部分,执行器分布 会以图形化方式展示在 执行器配置 部分中设置的买卖订单的数量与价差分布关系。

策略回测

完成上述配置更改后,您可以运行一次回测来测试您的策略配置。只需设置 开始结束 日期、回测分辨率(K 线周期)和 交易成本(手续费),然后点击 运行回测 按钮即可查看结果,如下图所示。

在此之后,您仍可继续修改上方配置并反复运行回测,直到获得满意的结果。

当您完成策略的必要调整并对回测结果满意后,可以为配置命名(或使用默认名称),然后点击 上传 按钮,将配置上传至 部署 页面供后续使用。

如果您日后进行修改,配置标签 将递增为更高版本,因此所有新更改都会保存到具有更新版本号的配置中。但是,如果您将 配置标签 改为之前的版本号,则所做的新更改将覆盖该旧版本的配置。

部署实例

上传配置后,它将在 部署 V2 页面中可用,您可以基于这些配置部署机器人。

可用配置 列表中选择您想要使用的配置,为其指定一个实例名称,从下拉列表中选择可用的 Docker 镜像(注意:您也可以使用自己的 Docker 镜像),并选择包含所需 API 密钥的账户。

准备就绪后,点击 启动机器人 按钮,系统将使用所选配置创建您的实例。您可以在 实例 页面查看正在运行的实例。

如果您想删除现有配置,可以选择该配置后点击 删除 按钮将其从列表中移除。

管理实例

实例 页面将显示所有正在运行的实例(无论是活动还是已停止)。此页面会显示每个实例的 净收益交易量挂单流动性 等信息,还会显示当前激活的控制器及当前配置。

在此页面,您还可以查看 错误日志通用日志,从而轻松监控机器人状态,而无需手动连接到实例。

要停止正在运行的实例,请勾选活动控制器的复选框,然后点击 停止 按钮。这是推荐的停止方式,因为如果有未平仓头寸,系统会创建订单来关闭这些头寸。

如果您点击右上角的 停止 图标,系统会向机器人发送停止命令,从而取消所有活跃订单。

仪表板会自动在您指定的实例名称前添加 hummingbot当前日期和时间。您可以在左上角 本地实例 下方查看机器人的完整名称。如果您需要通过终端手动连接到 Docker 容器,这就是完整的容器名称。

在上面的截图中,完整实例名称为 hummingbot-new-bot-2024.06.20_03.55,因此如果我们需要使用 Docker 连接到此容器,应打开终端并执行 docker attach hummingbot-new-bot-2024.06.20_03.55

恭喜!您刚刚使用 Hummingbot 仪表板创建了第一个实例!

身份验证

默认情况下,身份验证功能处于关闭状态。要启用仪表板身份验证,请按照以下步骤操作:

设置凭证(可选):

仪表板默认使用 admin 作为用户名,abc 作为密码。强烈建议更改这些默认凭据以增强安全性:

  • 对于 Docker 用户,请进入 deploy 文件夹(若使用源码安装则进入 dashboard 文件夹),打开 credentials.yml 文件。
  • 添加或修改当前用户名/密码,保存更改。
credentials:  usernames:  admin:  email: admin@gmail.com  name: John Doe  logged_in: False  password: abc cookie:  expiry_days: 0  key: some_signature_key # 必须为字符串  name: some_cookie_name pre-authorized:  emails:  - admin@admin.com 

Docker

  • 确保仪表板容器未运行。
  • 使用文本编辑器打开 deploy 文件夹中的 docker-compose.yml 文件。
  • 找到 dashboard 服务配置下的环境变量 AUTH_SYSTEM_ENABLED

services: dashboard:  container_name: dashboard  image: hummingbot/dashboard:latest  ports:  - "8501:8501"  environment:  - AUTH_SYSTEM_ENABLED=True  - BACKEND_API_HOST=backend-api  - BACKEND_API_PORT=8000 
- 将 AUTH_SYSTEM_ENABLED 的值从 False 更改为 True。 - 保存对 docker-compose.yml 文件的更改。 - 运行 bash setup.sh 重新启动仪表板。

源码安装

  • 打开位于仪表板根目录的 CONFIG.py 文件。
  • 找到这一行:AUTH_SYSTEM_ENABLED = os.getenv("AUTH_SYSTEM_ENABLED", "False").lower() in ("true", "1", "t")

CERTIFIED_EXCHANGES = ["ascendex", "binance", "bybit", "gate.io", "hitbtc", "huobi", "kucoin", "okx", "gateway"] CERTIFIED_STRATEGIES = ["xemm", "cross exchange market making", "pmm", "pure market making"]  AUTH_SYSTEM_ENABLED = os.getenv("AUTH_SYSTEM_ENABLED", "False").lower() in ("true", "1", "t")  BACKEND_API_HOST = os.getenv("BACKEND_API_HOST", "127.0.0.1") 
- 将值从 False 更改为 True 以启用仪表板身份验证。 - 保存 CONFIG.py 文件。 - 运行 make run 重新启动仪表板。

已知问题

  • 刷新浏览器窗口可能会导致您退出登录并再次显示登录界面。这是一个已知问题,未来更新中可能会修复。