跳至内容

Ping Pong

更新于 v0.28.0

此功能启用 Ping Pong 策略,Hummingbot 将交替下达买入和卖出订单。

ping_pong_enabled

是否在买入与卖出订单之间交替执行。

**提示:**

Would you like to use the ping pong feature and alternate between buy and sell orders after fills?
>>>

工作原理

Ping Pong 策略通过仅在已成交订单的相反方向创建订单,来保持买卖平衡。只要将 ping_pong 设置为启用,系统将持续在已成交订单的相反方向生成订单。例如:

由于第 1 阶段的买入订单已成交,机器人将停止下达买入订单,仅下达卖出订单(第 2 至 4 阶段)。只有当卖出订单最终成交(第 4 阶段)时,才会重新开始同时创建买入和卖出订单(第 5 阶段)。

默认情况下,该参数设置为 False。启用后,在任一侧(买入/卖出)订单成交后,机器人将在下一次刷新时仅在相反方向创建订单。

例如,若你的买入订单成交而卖出订单被取消,机器人将持续仅创建卖出订单,直到该订单成交。

使用 stop 命令停止策略将中断当前的 Ping Pong 逻辑。重新启动后,机器人将首先同时创建买入和卖出订单(前提是账户余额足以在两侧下单)。

单订单层级的 Ping Pong

下述场景展示了当一侧订单成交时,Ping Pong 如何平衡交易。

  1. 创建买入订单 b1 和卖出订单 s1
  2. b1 成交,s1 因未成交而被取消
  3. 创建卖出订单 s2
  4. s2 成交
  5. 创建买入订单 b3 和卖出订单 s3

注意:为抵消上一笔交易,系统未创建买入订单 b2。

多订单层级的 Ping Pong

假设初始时每侧各有 2 笔订单:买入订单 b1、b2,卖出订单 s1、s2。

  1. b1 成交,b2、s1、s2 因未成交而被取消
  2. 创建买入订单 b3 和卖出订单 s3、s4
  3. s3 成交,b3、s4 因未成交而被取消
  4. 创建买入订单 b4 和卖出订单 s5
  5. s5 成交,b4 因未成交而被取消
  6. 创建买入订单 b5
  7. b5 成交
  8. 创建买入订单 b6、b7 和卖出订单 s6、s7