跳至内容

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交易所的可用代币列表。下方的图表将显示您的投资组合随时间的变化以及代币价值随时间的变化

配置策略

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

  • PMM 简单
  • PMM 动态
  • D-Man Maker V2
  • 布林带 V1
  • MACD BB V1
  • 超级趋势 V1
  • XEMM 控制器

现在我们先使用PMM 简单控制器,并浏览以下各个部分:

配置下,如果我们取消勾选“使用默认配置”,将显示一个下拉列表,列出我们之前配置过的配置。由于我们还没有任何先前的配置,因此列表中将为空。

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

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

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

  • 几何自定义
  • 几何
  • 斐波那契
  • 对数
  • 算术
  • 线性

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

在此部分,执行器分布以图形方式可视化了在执行器配置部分配置的买卖订单的数量与价差分布。

策略回测

在对上述配置进行更改后,您可以运行回测以测试您的策略配置。只需设置开始结束日期、回测分辨率(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 仪表板创建了您的第一个实例!

身份验证

默认情况下,身份验证是禁用的。要启用仪表板身份验证,请按照以下步骤操作:

设置凭证(可选):

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

  • 对于 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文件。
  • 在仪表板服务配置下找到环境变量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重新启动仪表板

已知问题

  • 刷新浏览器窗口可能会导致您退出登录并再次显示登录屏幕。这是一个已知问题,可能会在未来的更新中解决。