跳转至内容

Hummingbot Dashboard 快速入门指南

在本教程中,我们将引导您安装 Hummingbot 2.0,它提供了一个易于使用的 Dashboard 应用,可帮助您连接交易所凭据、创建/回测策略配置,并部署一系列机器人!

观看此视频以了解 Hummingbot 2.0 中功能的概述和演示:

先决条件:Docker

Hummingbot 2.0 使用 Docker Compose 来安装和管理依赖项。我们建议安装 Docker Desktop,因为它包含 Docker ComposeDocker EngineDocker CLI,这些对于 Dashboard 的运行都是必需的。

安装

克隆 部署仓库,它包含 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 的 Dashboard。

云服务器

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

添加凭据

凭据是 Hummingbot 在交易所交易所需的 API 密钥。Dashboard 允许您在多个账户下创建和管理 API 密钥,如果您在单个交易所上使用多个子账户,这将非常有用。

比如说您有三个 Kucoin 账户,并希望在创建机器人时能够在这三个账户之间切换。凭据页面将允许您这样做,因为您可以在部署机器人时选择要使用的账户。

在左侧菜单上点击 凭据 进入凭据页面:

让我们来看看下面的不同部分:

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

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

如果您想 删除一个账户(这包括与之关联的所有 API 密钥),从下拉列表中选择账户,然后点击 删除账户

如果您想删除连接到现有账户的特定 API 密钥,从列表中选择账户,然后选择 API 凭据,然后点击 删除凭据

要将 API 密钥添加到我们的账户,请使用此部分。选择您希望 API 密钥关联的账户,选择 ConnectorExchange,输入相应的 API 密钥,然后点击 提交凭据

如果 API 密钥有效,您应该会在顶部 可用账户和凭据 部分的列表中看到它们。例如,如果您在主账户下添加了 Binance Perpetual 的 API 密钥,您应该会在 master_account 下看到 binance_perpetual 列出

查看您的投资组合

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

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

配置策略

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

  • PMM Simple
  • PMM Dynamic
  • D-Man Maker V2
  • Bollinger V1
  • MACD BB V1
  • SuperTrend V1
  • XEMM Controller

让我们暂时使用 PMM Simple 控制器并查看下面的不同部分:

配置 下,如果我们取消勾选 "使用默认配置" 框,这将显示我们之前配置的配置下拉列表。由于我们没有任何以前的配置,列表中将没有任何内容。

对于 常规设置,我们可以选择要交易的 Connector 或交易所、交易对杠杆。对于现货市场交易,我们建议将 杠杆 设置为 1

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

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

  • GeoCustom
  • Geometric
  • Fibonacci
  • Logarithmic
  • Arithmetic
  • Linear

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

在此部分,执行器分布 显示了买入和卖出订单在 执行器配置 部分下的订单数量与价差分布的图形可视化。

回测策略

在对上述配置进行修改后,您可以运行回测来测试您的策略配置。只需设置 开始结束 日期以及 回测分辨率(蜡烛图)和 交易成本(费用),然后点击 运行回测 按钮即可看到如下结果。

从这里,您仍然可以对上述配置进行修改并继续运行回测,直到得到您想要的结果。

一旦您完成了对策略的必要修改并对回测结果感到满意,您可以为配置命名(或仅使用默认值),然后点击 上传 以上传您的配置并在 部署 页面中使其可用。

如果您稍后进行更改,配置标签 将递增到更高版本,因此任何新更改都将始终保存到具有更新配置标签版本的配置中。但是,如果您将 配置标签 更改为之前的版本,您所做的任何新更改将覆盖该之前版本的配置。

部署实例

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

可用配置 列表中选择您要使用的配置,然后为实例命名,从下拉列表中选择可用的 Docker 镜像(请注意,您可以使用自己的 Docker 镜像),并选择包含您想要使用的 API 密钥的账户。

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

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

管理实例

实例 页面将显示所有正在运行的实例(活动或停止)。此页面显示的信息包括每个实例的 净 PNL交易量已放置的流动性 等。它还将显示当前活动的控制器以及当前配置。

从这里您还可以查看 错误日志 以及 常规日志,这样您就可以轻松监控机器人状态,而无需手动连接到实例。

要停止正在运行的实例,请勾选活动控制器的框,然后点击 停止 按钮。这是停止实例的推荐方法,因为如果有任何活动仓位,这将创建订单以关闭活动仓位。

如果点击右上角的 停止 图标,这将向机器人发送停止命令,然后取消所有活动订单。

Dashboard 会在您指定的实例名称后附加 hummingbot + 当前日期和时间。您可以在左上角 本地实例 下方查看机器人的完整名称。如果您需要在终端中手动连接到 Docker 容器,这将是完整的名称。

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

恭喜,您刚刚使用 Hummingbot Dashboard 创建了您的第一个实例!

身份验证

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

设置凭据(可选):

Dashboard 使用 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 # Must be string  name: some_cookie_name pre-authorized:  emails:  - admin @admin.com 

Docker

  • 确保 Dashboard 容器未运行。
  • 使用文本编辑器打开 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 重新启动 Dashboard

源码

  • 打开位于 Dashboard 根文件夹中的 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 以启用 Dashboard 身份验证。 - 保存 CONFIG.py 文件。 - 通过运行 make run 重新启动 Dashboard

已知问题

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