跳至内容

示例脚本

如何运行脚本

在 Hummingbot 客户端中,使用以下命令运行脚本:

start --script [SCRIPT NAME]

脚本可以带或不带 配置文件 创建。要为脚本创建配置文件,请执行:

create --script-config [SCRIPT_FILE]

此命令将自动补全本地 /scripts 目录中可配置的脚本。系统将提示您指定策略参数,这些参数随后将保存在 conf/scripts 目录下的 YAML 文件中。运行脚本时,请使用:

start --script [SCRIPT_FILE] --conf [SCRIPT_CONFIG_FILE]

启动脚本

下面的所有示例脚本都可以在根目录的 /scripts 文件夹中找到,默认情况下可直接从 Hummingbot 客户端运行。

简单 PMM

  • 代码: simple_pmm
  • 作者: cardosofede
  • 版本添加: 可配置 1.25.0 | 1.9.0
  • 描述: 机器人将在交易所的 trading_pair 上围绕 price_source(中间价或最新成交价),根据 ask_spreadbid_spread 定义的距离放置两个订单。每隔 order_refresh_time 秒,机器人将取消并重新下单。

简单 VWAP

  • 代码: simple_vwap
  • 作者: cardosofede
  • 版本新增: 1.7.0
  • 描述: 此示例允许您使用订单簿中从中间价起一定价差范围内的累计交易量的百分比,在市场上创建一个 VWAP。本示例演示了:
    • 如何获取账户余额
    • 如何获取市场的买盘和卖盘
    • 如何编写一个“工具类”策略

简单 XEMM

  • 代码: simple_xemm
  • 作者: fengtality
  • 版本新增: 1.10.0
  • 描述: 这是跨交易所市商策略的简化版本,该机器人在挂单方交易对上做市,并在吃单方交易对中对冲任何已成交的交易。如果价差(挂单报价与吃单对冲价格之间的差额)低于min_spread,机器人将刷新订单。

AMM 数据源

  • 代码: amm_data_feed_example
  • 作者: fengtality
  • 版本新增: 2.4.0
  • 描述: 演示如何在 Hummingbot 中使用AmmGatewayDataFeed从去中心化交易所(DEX)(如 Uniswap(以太坊)和 Jupiter(Solana))获取实时价格数据。该脚本为指定的交易对初始化两个 AMM 数据源,并在其就绪时显示其最新价格数据。

AMM 交易

  • 代码: amm_trade_example
  • 作者: fengtality
  • 版本新增: 2.5.0
  • 描述: 使用 Gateway 连接器监控 DEX 实时价格,并在达到指定价格阈值时自动执行兑换交易。该脚本允许用户配置条件(价格高于或低于目标值),并可在 Solana 上的 Jupiter 或以太坊上的 Uniswap 等去中心化交易所无缝处理交易执行。

流动性头寸管理

  • 代码: lp_manage_position
  • 作者: fengtality
  • 版本新增: 2.8.0
  • 描述: 通过 Gateway 管理 AMM 或 CLMM 资金池中的流动性头寸。该脚本监控资金池价格,当达到目标价格时开仓,并在价格持续超出设定范围一段时间后自动平仓。支持 Raydium、Uniswap 和 Meteora 等协议的传统 AMM 资金池和集中流动性资金池。

下载订单簿和成交记录

  • 代码: download_order_book_and_trades
  • 作者: cardosofede
  • 版本新增: 2.3.0
  • 描述: 持续捕获并存储从选定交易所指定交易对的实时成交数据和订单簿快照。该策略将数据以 JSON 格式写入每日的.txt文件中,非常适合用于市场数据分析、回测,或使用 Hummingbot 从 Binance 等交易所创建自定义数据集。

钱包对冲示例

  • 代码: wallet_hedge_example
  • 作者: fengtality
  • 版本新增: 2.4.0
  • 描述:使用 WalletTrackerDataFeed 监控链上钱包余额,并通过在中心化交易所下市价单自动对冲余额变化。该策略适用于保持钱包(例如以太坊 Goerli 网络)与 KuCoin 等交易所之间的中性头寸,当余额变动超过设定阈值时,将触发买入/卖出订单。

V2 脚本

这些脚本更为复杂,使用了 StrategyV2 组件,例如执行器(Executors)和市场数据提供者(Market Data Provider)。

V2 控制器加载器

  • 代码: v2_with_controllers
  • 作者: cardosofede
  • 添加版本: 1.26.0
  • 描述:此脚本提供了一个用于启动实现特定子策略的控制器的模板。该策略具有灵活性,可通过实现自定义控制器适配多种交易场景。

V2 定向 RSI

  • 代码: v2_directional_rsi
  • 作者: cardosofede
  • 添加版本: 1.26.0
  • 描述:此脚本利用 RSI 指标,根据预设的 RSI 阈值生成买入或卖出信号。它使用PositionExecutors 来管理仓位,并通过三重屏障逻辑设置止损和止盈水平。

V2 资金费率套利

  • 代码: v2_funding_rate_arb.py
  • 作者: cardosofede
  • 添加版本: 1.27.0
  • 描述:此脚本为交易对、杠杆和连接器设置配置,并根据交易所之间的资金费率差异建立市场头寸。该策略持续监控资金费率,在扣除费用后计算潜在盈利,并据此创建和管理头寸。同时,它还会根据资金费率差异和交易盈利能力评估条件,决定止盈或止损。脚本会记录并报告其操作以及活跃套利头寸的状态。

V2 时间加权平均价格 (TWAP)

其他脚本

其他示例脚本可在 scripts 文件夹 的子文件夹中找到:

  • 基础类:执行基本操作的脚本(适合初学者开发者)
  • 社区类:由 Botcamp 参与者创建的策略
  • 网关类:使用 Gateway 的脚本
  • 工具类:用于获取数据、筛选市场及其他功能的脚本

要使脚本能在 Hummingbot 内运行,请将其复制或移动到根目录下的 /scripts 文件夹中。例如:

cp scripts/basic/format_status_example.py scripts