Hummingbot Dashboard 快速入门指南¶
在本教程中,我们将引导您安装 Hummingbot 2.0,它提供了一个易于使用的 Dashboard 应用,可帮助您连接交易所凭据、创建/回测策略配置,并部署一系列机器人!
观看此视频以了解 Hummingbot 2.0 中功能的概述和演示:
先决条件:Docker¶
Hummingbot 2.0 使用 Docker Compose 来安装和管理依赖项。我们建议安装 Docker Desktop,因为它包含 Docker Compose
、Docker Engine
和 Docker CLI
,这些对于 Dashboard 的运行都是必需的。
安装¶
克隆 部署仓库,它包含 Docker Compose 配置文件和一个自动拉取最新镜像并启动必要服务的 bash 脚本。
打开终端窗口并运行以下命令:
设置脚本将拉取仓库 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 密钥关联的账户,选择 Connector
或 Exchange
,输入相应的 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 使用 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 # 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 已知问题¶
- 刷新浏览器窗口可能会使您退出并再次显示登录屏幕。这是一个已知问题,可能会在未来的更新中解决。