跳转至内容

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

cover

欢迎来到全新的 dYdX v4 Hummingbot 连接器指南,这是您使用 Hummingbot 集成和交易 dYdX 永续合约的全面资源。dYdX v4 使用基于 Cosmos SDK 和 Tendermint 权益证明共识协议的最新版 dYdX 链,通过更加无缝的入门体验、增强的安全性以及改进的速度和性能来提升交易体验!

在本指南中,我们将引导您完成将 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

充值资金

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

image

获取 dYdX 链地址

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

image

获取 dYdX 密语

要导出您的密语,请转到钱包连接设置下拉菜单并点击 "导出密语"

image

一个窗口将出现。勾选复选框以确认您了解风险。导出按钮可用前可能会有短暂延迟。

image

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

将 dYdX 与 Hummingbot 客户端一起使用

特殊 dYdX 版本

目前,dYdX v4 连接器与其他 Hummingbot 交易所连接器之间存在依赖冲突。出于这个原因,我们维护了一个专门的 Hummingbot 版本,该版本针对 dYdX v4 使用进行了优化。以下是简化的说明,无论您使用的是 Docker 还是源代码,都可以快速设置。

下面,我们将向您展示如何将您的 dYdX 凭据添加到命令行 Hummingbot 客户端。如果您更喜欢将 dYdX v4 与新的 Hummingbot 仪表板一起使用,请转到 使用仪表板的 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 hummingbotdocker 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

您将被提示输入您的凭据:

输入您的 dYdX v4 密语(24 个词)>>>输入您的 dYdX v4 链地址(以 dydx 开头)>>>

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

 现在 已连接到 dydx_v4_perpetual

要验证连接,运行 balance 命令检查显示的余额是否与您的 dYdX 账户匹配:

balance

image

运行策略

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

创建控制器配置

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

create --controller-config directional_trading.bollinger_v1

创建配置:

系统将提示您提供各种配置参数。请根据您的偏好自由调整设置:

  • 选择 dydx_v4_perpetual 作为您要交易的交易所名称。
输入用于交易的报价资产总额 >>>输入要交易的交易所名称 >>> dydx_v4_perpetual输入要交易的交易对 >>>输入每边的最大执行器数量 >>>设置用于交易的杠杆 >>>输入止损 >>>输入止盈 >>>输入时间限制(秒) >>>输入止盈的订单类型 >>>输入追踪止损作为 activation_price, trailing delta >>>
  • 当提示选择带有蜡烛图数据的连接器时,请确保选择一个不同于 dYdX 的连接器,因为它目前不支持蜡烛图数据源。

输入蜡烛图数据的连接器,留空则使用与连接器相同的交易所:输入蜡烛图数据的交易对,留空则使用与连接器相同的交易对:
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 命令查看当前订单状态来监控您的机器人:

状态

image

停止机器人

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

stop

image

有关 V2 策略或其他可用控制器的更多详情,请查看 V2 Strategies 文档中的控制器部分。请注意,由于 dYdX 仅支持 单向模式,一些使用对冲模式的 V2 策略可能无法与控制器正确配合使用。

使用 dYdX 与 Hummingbot Dashboard

Hummingbot Dashboard 是 Hummingbot 2.0 中最近推出的 Hummingbot 的基于 Web 的界面,允许您执行回测、可视化您的投资组合以及部署/管理多个机器人。由于每个机器人都是标准 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 镜像并作为容器启动它们。初始镜像下载可能需要一些时间。

设置完成后,您应该会看到如下输出:

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

访问 Dashboard

容器启动后,您可以通过访问以下任一地址来访问 Dashboard:

在您的网页浏览器中。

云服务器

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

添加凭证

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

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

  • Add Credentials 部分:

  • 选择您想要添加 API 密钥的账户(例如 master_account)。
  • 从"Select Connector"下拉菜单中选择 dydx_v4_perpetual

image

  • 输入您的 dYdX 密钥词组和链地址,然后点击 Submit Credentials

  • 如果凭证有效,它们将出现在 Available Accounts and Credentials 部分,dydx_v4_perpetual 将列在相应账户下。

image

投资组合页面

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

例如,在此截图中,账户中有 $77.47 USD 的余额:

image

生成配置

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

  • 您可以使用默认配置设置,也可以自定义以满足您的需求。
  • 由于 dYdX 仅支持 ONEWAY 模式(不支持 HEDGE 模式),请确保将 Position Mode 设置为 ONEWAY

image

设置完您的配置后:

  1. 向下滚动并点击 Upload 以将配置保存到 BackendAPI。
  2. 注意:由于 dYdX 不提供蜡烛图数据源,此策略不支持回测。如果您使用需要蜡烛数据的策略,您需要为您的蜡烛数据源配置一个不同的交易所。

上传后,导航到 Deploy V2 页面以启动您的机器人。

image

启动实例

Deploy V2 页面上,您应该会看到您刚刚保存的配置。

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

image

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

管理实例

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

  • 净 PNL
  • 交易量
  • 已放置流动性

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

image

停止实例

要停止机器人:

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

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

已知问题

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

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

  • 无回测功能
    dYdX 连接器目前不支持回测。对于策略回测,建议使用如 Binance 期货等永续交易所作为历史数据(K 线)的来源。

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