现货连接器 QA 检查清单
在批准新的连接器之前,Hummingbot 基金会质量保证(QA)团队将进行测试拉取请求以确保其按预期工作。以下是我们 spot
连接器的测试模板。
标题 | 步骤 | 预期结果 |
---|---|---|
连接 API 密钥 | 运行 connect name-of-connector 示例: connect binance |
1. 添加有效 API 密钥时连接。 2. 如果 API 密钥无效、过期或有其他问题,则抛出错误或警告。 3. 除非特别说明只能一次在一个实例中使用,否则同一 API 密钥可以在多个机器人上使用。 |
拉取余额 | 运行 balance 命令 |
1. 显示当前可用余额,应与交易所显示的余额匹配。 2. 每当有未平仓订单时,分配应更新。 |
策略创建期间的市场可用性 | 在设置策略时,您将被询问: 输入您希望在 name-of-connector 上交易的代币交易对(例如 ZRX-ETH)>>> |
1. 在策略创建期间设置市场时应提供自动完成列表。 2. 所有市场在启动创建的策略时都应工作。 |
与可用策略的兼容性 | 在不同的 hummingbot 策略上创建简单配置 | 1. 连接器应在客户端中可用的任何策略上工作,除非连接器是为特定策略设计的。 2. 连接器应同时作为做市商和吃单方交易所工作(仅现货连接器) |
价格和余额更新 | 运行 status 或 status --live 命令 状态命令的快捷键为 ctrl+s |
1. 在状态窗口中,每当订单簿发生变更时,价格都会不断更新。 2. 每当创建或取消订单时,可用余额都会更新。 3. 创建的订单数量保持一致,除非有多个机器人使用资产、有挂单或由于特定参数而取消订单。 |
订单提交和取消 | 设置简单的做市策略并启动机器人 | 1. 创建的订单必须包含带有经纪商前缀的订单 ID(如果有)。 2. 订单在客户端中提交时没有错误。 3. 提交的订单应与交易所中未平仓订单的信息匹配。 4. 订单被取消时没有错误。 5. 订单不会卡住或遗漏,除非是手动订单。 6. 客户端不应取消未在此实例中创建的订单,例如手动订单、其他实例创建的订单或第三方机器人。 7. 优雅地拒绝/取消不符合交易所规则的订单。 |
快速刷新率 | 1. 创建纯做市策略并设置快速订单刷新时间,禁用订单刷新容差 - 要禁用, config order_refresh_tolerance -1 2. 运行 status 或 status --live 命令 3. 核对客户端和交易所的未平仓订单。 - 如果有成交订单,请检查交易所的交易历史和客户端的 history 或 history --verbose 命令 注意:请确保在具有稳定互联网连接的机器上运行客户端。理想情况下,您希望在 Linux 云服务器上进行测试 |
1. 优雅地取消订单:没有卡住或丢失的订单 2. 余额相应更新 3. 快速取消期间日志中不应有错误。 4. 如果发生成交事件,则跟踪并保存已成交订单。 5. 每当请求接近最大化允许限制时,会发出速率限制警告。 6. 达到速率限制时停止下单,但保持与交易所的连接。 |
长刷新率 | 1. 创建一个纯做市策略并设置快速订单刷新时间,且禁用订单刷新容差 - 要禁用,请执行 config order_refresh_tolerance -1 2. 运行 status 或 status --live 命令 注意:请确保在具有稳定网络连接的机器上运行客户端。理想情况下,您应该在 Linux 云服务器上进行测试 |
1. 当存在未成交订单时保持连接。 2. 在订单未成交时优雅地取消订单。 3. 订单开放期间不应出现错误(网络问题除外) 4. 如果发生网络问题,一旦连接建立,应跟踪未成交订单。 5. 跟踪并保存断开连接期间可能发生的成交事件。 |
多订单 | 创建支持多订单级别的做市策略 - 设置 config order_level |
1. 同时提交多个订单且不出现任何错误。 2. 同时取消所有订单且不出现任何错误。 3. 可用余额和分配相应调整。 4. 订单数量和级别根据可用余额相应调整。 |
挂单 | 创建支持挂单的做市策略并设置取消百分比 - 设置 config haning_orders_enabled - 设置 config hanging_orders_cancel_pct |
1. 持续跟踪在实例内创建的挂单。 2. 跟踪并保存成交的挂单 3. 当策略停止或达到取消百分比时,挂单应被取消。 4. 刷新非挂单时,挂单保持未取消状态。 5. 不出现挂单重复 |
多机器人 | 1. 使用同一家交易所设置多个测试机器人(相同账户和 API 密钥) 2. 启动所有测试机器人。最好使用 docker 构建设置 3. 设置足够窄的价差以触发其中一个测试机器人的成交事件 4. 查看日志窗格 5. 通过运行 history 或 history --verbose 命令、CSV 或 sqlite 文件以及交易所的交易历史来比较所有测试机器人的数据 |
1. 每个机器人中的未成交订单不应受到另一个机器人取消事件的影响。 2. 不应存在冲突的订单 ID |
数据完整性 | 1. 运行 status --live 2. 运行 order_book --live - 您可以添加参数 order_book --live --line 10 ,它应显示订单簿每侧的 10 个订单 3. 运行 ticker --live |
1. 客户端中的订单簿与交易所的订单簿同步。 2. 当交易所发生变化时持续更新。 3. 当交易所发生变更时,价格持续更新(状态和行情)。 |
成交事件 | 设置做市机器人,价差足够窄以触发成交事件。 1. 在没有成交订单时运行 history 命令 2. 成交后运行 history 或 history --verbose 命令 - 您可以通过设置 history --verbose --precision 5 来增加小数值,其中 5 是增加的小数位数 3. 查看 history --verbose 命令、CSV 或 sqlite 文件以及交易所的交易历史 |
1. 完全成交和部分成交都被正确跟踪和记录。 2. 成交订单信息应与交易所的交易历史匹配。 |
历史 | 运行 history 命令(有或没有交易) |
1. 正确显示成交订单信息 - 没有重复订单 - 保存部分成交 - 仅显示由实例创建的订单 2. 正确显示资产信息 |
交易费用 | 在客户端获得交易后: 1. 运行 history --verbose 命令2. 记录总费用 3. 登录交易所网站并检查交易历史 4. 手动计算机器人完成的所有已成交交易的费用 |
1. 如果可用则使用交易费用,否则使用估算费用。 2. 客户端中记录的交易费用(CSV 或 SQLite)应与交易所中交易历史显示的费用相匹配。 |
数据聚合 [仅适用于 QA 基础测试] | 1. 设置较窄的价差以轻松获得成交,并在 15 分钟间隔后检查 datadog - hummingbot usdt 交易量指标 - 您可以在 conf/config_client.yml 中将 anonymized_metrics_interval_min 设置为更低的时间范围2. 设置非常窄的价差以立即获得成交,然后在不等待心跳间隔完成的情况下停止机器人。 |
1. 启用后,所有已成交的交易在 Datadog 中进行聚合。 |