跳转至内容

订单层级

这些参数允许您在每一侧设置多个订单层级,并对每组订单的价差和大小进行更细粒度的控制。

order_levels

在订单簿每一侧放置的订单层级数量。

** 提示:**

How many orders do you want to place on both sides?
>>>

order_level_amount

在第一层之后,后续订单层级的规模可以增加(如果设置为大于零的值)或减少(如果设置为小于零的值)。

** 提示:**

How much do you want to increase or decrease the order size for each additional order?
>>>

order_level_spread

增量价差在第一层之后的后续订单层级中增加。

** 提示:**

Enter the price increments (as percentage) for subsequent orders?
>>>

警告

order_level_spread设置为非常低的数字可能会导致多个订单放置在同一价格水平上。例如,对于像 SNM/BTC 这样的资产,如果由于资产价值较低而将订单间隔百分比设置为 0.4(~0.4%),下一个订单的价格将四舍五入到交易所支持的最接近价格,在这种情况下可能导致多个订单被放置在同一价格水平上。

工作原理

输入order_levels的值以指定您要在每一侧(买入和卖出)放置多少个订单。

注意

示例:输入3将在订单簿的每一侧放置三个买入和三个卖出订单,总共 6 个订单。

用户还可以根据 order_level_amount 中指定的增量或减量,从第一个订单开始增加或减少后续订单的规模。如果您不希望多个订单规模增加,可以将其设置为 0 大于 0(即 0.4)以允许订单规模在第一层后增加 0.4 小于 0(即-2)以启用订单规模在第一层后减少 2。

注意

示例:如果订单起始规模为7000,订单步长为1000,则第二订单规模为8000,第三订单为9000

order_level_spread的逻辑与订单步长相同,但它会从第一个订单开始增加后续订单的价差。

注意

示例:第一个买入和卖出订单的价差为1(1%),您的订单间隔金额为2(2%)。第二个订单的价差为3(3%),第三个订单为5(5%)。

让我们现在关注订单的一侧:订单簿的"卖出"侧。考虑到上述示例场景,您的活跃订单将显示为:

orderlevels

示例配置

- market: BTC-USDT
- bid_spread: 1
- ask_spread: 1
- order_amount: 0.002
- order_levels: 3
- order_level_amount: 0.002
- order_level_spread: 0.5

使用上述参数运行机器人,status命令显示 BTC-USDT 交易对中的 3 个订单层级:Market making with 3 order levels for BTC-USDT

您可能会注意到,我们输出的实际价差与您为百分比配置的参数并不完全相同。这是因为两件事:

  • 量化:Hummingbot 调整订单价格以匹配交易所的最小价格变动规则以及
  • 下订单后的市场价格变化。