跳至内容

在 dYdX V4 上使用 Hummingbot 仪表板运行交易机器人

cover

欢迎来到全新的 dYdX v4 Hummingbot 连接器指南,这是您使用 Hummingbot 集成并交易 dYdX 永续合约的全面资源。dYdX v4 基于 Cosmos SDK 和 Tendermint 权益证明共识协议的最新版本,通过更顺畅的开户流程、增强的安全性以及更快的速度和性能,全面提升交易体验!

在本指南中,我们将引导您将 dYdX 账户集成至 Hummingbot,并运行方向性算法交易机器人。让我们开始吧!

将您的 MetaMask 钱包连接到 dYdX

注意:dYdX 支持多种钱包,但在本指南中,我们将使用MetaMask这是最受欢迎的以太坊钱包之一。MetaMask 允许用户通过其浏览器扩展或移动应用程序与 dYdX 进行交互。

安装 MetaMask

确保已安装并设置好 MetaMask

如果尚未安装,请下载并安装 MetaMask 浏览器扩展程序或移动应用。创建一个新钱包或导入现有钱包。

将钱包连接到 dYdX

打开您的网页浏览器并访问 https://dydx.exchange/。在 dYdX 的首页上,点击位于页面右上角的 “连接钱包” 按钮。

image

从可用选项列表中选择 "MetaMask"

image

MetaMask 将弹出窗口要求您确认连接。

image
image

钱包连接后,dYdX 将提示您签署一条消息以生成 dYdX 链钱包。

image
image

存入资金

钱包连接成功后,您需要向您的 dYdX 账户存入 USDC。USDC 是 dYdX 上必需的交易货币。

image

获取 dYdX 链地址

连接后,在钱包连接设置中找到您的 dYdX 链地址。复制此地址并安全保存以供将来参考。

image

获取 dYdX 密语

要导出您的密语,进入钱包连接设置下拉菜单,点击 “导出密语”

image

窗口将弹出。勾选确认框以表明您了解相关风险。导出按钮可能需要短暂延迟才会变为可用状态。

image

一旦可用,请复制该密语并将其安全地存储在安全位置。稍后您需要此密语来连接 Hummingbot。

在 Hummingbot 客户端中使用 dYdX

特殊的 dYdX 构建版本

目前,dYdX v4 连接器与其他 Hummingbot 交易所连接器之间存在依赖冲突。因此,我们维护了一个专用于 dYdX v4 的 Hummingbot 独立构建版本。以下提供了简化的说明,帮助您快速完成设置,无论您使用的是 Docker 还是源码方式。

下面我们将展示如何将您的 dYdX 凭据添加到命令行版 Hummingbot 客户端。如果您希望使用新的 Hummingbot 仪表板来连接 dYdX v4,请前往 使用仪表板连接 dYdX

Docker 设置

克隆 Hummingbot 仓库

git clone https://github.com/hummingbot/hummingbot

编辑docker-compose.yml

导航至hummingbot项目目录,并使用 VSCode 等 IDE 或文本编辑器打开docker-compose.yml文件。

更新镜像行

hummingbot服务下找到以image:开头的行。根据你是想使用最新稳定版还是开发版进行修改:

对于最新稳定版本:

image: hummingbot/hummingbot:latest_dydx

对于开发版本:

image: hummingbot/hummingbot:development_dydx

启动 Docker 容器

更新镜像行后,克隆仓库并启动 Hummingbot Docker 容器:

cd hummingbot
docker compose up -d

附加到 Hummingbot 容器

现在 Hummingbot 应在后台运行。使用以下命令附加到正在运行的实例:

docker attach hummingbot

继续添加 API 密钥

Hummingbot 启动后,请按照下方“向 Hummingbot 添加密钥”部分的步骤操作,以连接您的 dYdX 账户。

源码设置

克隆仓库

git clone https://github.com/hummingbot/hummingbot.git

安装并启用 dYdX 支持

克隆仓库后,通过运行带有 --dydx 标志的 install 命令来安装支持 dYdX 的 Hummingbot:

cd hummingbot
./install --dydx

激活 Conda 环境并编译

激活 conda 环境并编译 Hummingbot:

conda activate hummingbot
./compile

启动 Hummingbot

运行以下命令以启动 Hummingbot:

./start

将密钥添加到 Hummingbot

要将 Hummingbot 连接到 dYdX 的 v4 永续市场,你需要使用上方获取的 dYdX v4 密语和链上地址。

在 Hummingbot 客户端内,运行以下命令以开始连接流程:

connect dydx_v4_perpetual

系统会提示你输入凭据:

Enter your dYdX v4 secret passphrase (24 words) >>>
Enter your dYdX v4 chain address (starts with dydx) >>>

如果凭据正确,你将看到以下确认消息:

You are now connected to dydx_v4_perpetual

为验证连接是否成功,运行 balance 命令,检查显示的余额是否与你的 dYdX 账户余额一致:

balance

image

运行策略

本示例中,我们将使用 bollinger_v1 方向性交易控制器。

创建控制器配置

在 Hummingbot 客户端中运行 create 命令来配置控制器:

create --controller-config directional_trading.bollinger_v1

创建配置:

系统会提示你提供各种配置参数。可根据个人偏好自由调整设置:

  • 选择 dydx_v4_perpetual 作为你要交易的交易所名称。
Enter the total amount in quote asset to use for trading >>>
Enter the name of the exchange to trade on >>> dydx_v4_perpetual
Enter the trading pair to trade on >>>
Enter the maximum number of executors per side >>>
Set the leverage to use for trading >>>
Enter the stop loss >>>
Enter the take profit >>>
Enter the time limit in seconds >>>
Enter the order type for taking profit >>>
Enter the trailing stop as activation_price, trailing delta >>> 
  • 当系统提示选择用于蜡烛图数据的连接器时,请确保选择除 dYdX 以外的其他连接器,因为当前 dYdX 尚不支持蜡烛图数据流。

Enter the connector for the candles data, leave empty to use the same exchange as the connector:
Enter the trading pair for the candles data, leave empty to use the same trading pair as the connector:
image

  • 配置完成后,为该控制器配置命名或使用默认名称:

image

创建脚本配置

  • 接下来,我们需要为 v2_with_controllers 通用脚本创建脚本配置,以便运行我们的控制器配置。

  • 使用以下命令创建脚本配置:

create --script-config v2_with_controllers

image

  • 请确保输入我们之前创建的控制器配置文件的文件名

image

  • 最后,为脚本配置命名

image

启动策略

  • 使用以下命令启动策略。注意:如果你的配置文件名称不同,请替换下方的配置名称
start --script v2_with_controllers.py --conf conf_v2_with_controllers_1.yml

image

监控策略

你可以通过查看日志以排查错误,并运行 status 命令来查看当前订单状态,从而监控你的机器人:

status

image

停止机器人

要停止机器人,请使用stop命令。请注意,机器人需要一些时间来创建订单以平掉持仓。

stop

image

有关 V2 策略或其他可用控制器的更多详细信息,请参阅 V2 策略 文档中的“控制器”部分。请注意,由于 dYdX 仅支持 单向模式,因此使用对冲模式的一些 V2 策略可能无法与控制器正常配合使用。

在 Hummingbot Dashboard 中使用 dYdX

Hummingbot Dashboard 是 Hummingbot 2.0 最近推出的基于网页的界面,允许你进行回测、可视化投资组合以及部署/管理多个机器人。由于每个机器人都是标准 Hummingbot 客户端的 Docker 实例,因此你可以使用与上述 CLI 方法相同的凭据和 API 密钥。

安装

克隆 Hummingbot 部署仓库

首先,将 Hummingbot 部署仓库克隆到本地机器:

git clone https://github.com/hummingbot/deploy

进入部署目录

将工作目录切换至新克隆的 deploy 文件夹:

cd deploy

运行设置脚本

运行 setup_dydx bash 脚本来为 dYdX 配置你的环境:

bash setup_dydx.sh

该脚本将拉取 docker-compose-dydx.yml 文件中指定的必要 Docker 镜像,并将其作为容器启动。首次下载镜像可能需要一些时间。

设置完成后,你应该会看到类似如下的输出:

[+] Running 7/7
 Network deploy_emqx-bridge   Created
 Volume "deploy_emqx-data"    Created
 Volume "deploy_emqx-log"     Created
 Volume "deploy_emqx-etc"     Created
 Container dashboard          Started 
 Container backend-api        Started 
 Container hummingbot-broker  Started 

访问 Dashboard

容器启动后,你可以通过浏览器访问以下任一地址来打开 Dashboard:

在你的浏览器中打开。

云服务器

若使用云服务器或 VPS,请将 localhost 替换为您的服务器 IP。您可能需要修改防火墙规则以允许访问所需端口的入站连接。

添加凭据

要在 dYdX 上进行交易,你需要通过 Dashboard 添加你的 API 凭据。你可以轻松管理多个账户和 API 密钥,在创建机器人时方便地切换子账户。

  • 点击左侧菜单中的 Credentials 以打开凭据页面。

  • Add Credentials 区域:

  • 选择你希望添加 API 密钥的账户(例如:master_account)。
  • 从“Select Connector”下拉菜单中选择 dydx_v4_perpetual

image

  • 输入你的 dYdX 密语和链上地址,然后点击 Submit Credentials

  • 如果凭据有效,它们将显示在可用账户和凭据部分中,并且相应的账户下会列出dydx_v4_perpetual

image

投资组合页面

添加 API 密钥后,您可以在投资组合页面查看账户中的代币和余额。您可以按账户、交易所或代币进行筛选,以查看更多详细信息。

例如,在此截图中,账户中的余额为 77.47 美元:

image

生成配置

在运行机器人之前,您需要生成一个配置。前往配置生成器部分,选择PMM Simple(纯市商策略)。

  • 您可以使用默认配置设置,也可以根据需要自定义这些设置。
  • 由于 dYdX 仅支持单向模式(不支持对冲模式),请确保将持仓模式设置为单向模式

image

设置完您的配置后:

  1. 向下滚动并点击上传,将配置保存到 BackendAPI。
  2. 注意:由于 dYdX 不提供 K 线数据流,因此该策略不支持回测。如果您使用的策略需要 K 线数据,则需要为 K 线数据流配置其他交易所。

上传后,请转到部署 V2页面以启动您的机器人。

image

启动实例

部署 V2页面上,您应该能看到刚刚保存的配置。

  1. 为实例命名。
  2. 选择 Hummingbot 镜像(请确保选择hummingbot/hummingbot:latest_dydxhummingbot/hummingbot:development_dydx)。
  3. 对于凭据,请选择master_account或包含您 dYdX API 密钥的具体账户。

image

点击启动机器人以启动实例。机器人随后将出现在实例页面下。

管理实例

实例页面上,您可以监控所有正在运行的机器人(包括活动和已停止的)。此页面显示的关键指标包括:

  • 净盈亏(Net PNL)
  • 交易量(Volume Traded)
  • 提供的流动性(Liquidity Placed)

它还显示了每个机器人的活跃控制器和当前配置。您可以轻松访问错误日志和常规日志来监控机器人的状态。

image

停止实例

要停止一个机器人:

  • 勾选活跃控制器旁边的复选框,然后点击停止。这将关闭所有未平仓头寸并安全地停止机器人。
  • 或者,您可以点击右上角的停止图标,这将立即取消所有活跃订单。

注意:实例名称将包含hummingbot以及当前日期和时间。该名称显示在本地实例左上角。如果需要手动连接到 Docker 容器,请使用此完整名称来识别机器人实例。

已知问题

  • 连接器仅支持单向模式
    目前,dYdX 连接器仅限于单向模式,这意味着它不支持同时进行对冲或多方向交易。

  • 账户序列号不匹配
    当快速连续下单时,尤其是刷新间隔较短(例如 5 秒)的情况下,可能会出现此问题。由于去中心化交易所(DEX)交易本身存在固有的延迟,即使序列号看似正确递增,dYdX API 仍可能报出“账户序列号不匹配”的错误。这是一个已知的限制,因为平台在高订单量下难以准确跟踪序列号。如果未来 dYdX 引入批量下单功能,该问题可能会得到缓解。目前,系统会尝试自动修正序列号,并最多重试三次下单,但这可能导致订单无法立即在网页界面上显示。

  • 不支持回测
    当前 dYdX 连接器不支持回测功能。如需进行策略回测,建议使用永续合约交易所(如 Binance Futures)作为历史数据(K 线)来源。

  • 钱包地理限制警告
    请注意,dYdX 会对位于某些地区的钱包实施地理限制。在该平台交易前,请确保遵守当地法规要求。