跳至内容

启动和停止策略

启动一个策略

创建或导入配置文件后,使用 start 命令来运行该策略。

停止正在运行的策略

运行 stop 命令以停止正在运行的策略。执行此操作还将取消所有活跃订单。

策略自动启动

Hummingbot 可以在启动时自动开始执行先前配置的交易策略,而无需用户交互。此功能适用于常规模式和无头模式。

Docker 自动启动

前提条件

  • 您已通过 Docker Compose 运行 Hummingbot
  • 您已至少运行过该实例一次,并设置了密码和 API 密钥
  • 您已预先配置了至少一个策略配置文件

如何配置 Docker 自动启动

  1. 停止所有正在运行的容器

    docker compose down
    

  2. 修改 docker-compose.yml

编辑 environment 部分,添加以下内容:

environment:
  - CONFIG_PASSWORD=password
  - CONFIG_FILE_NAME=simple_pmm_example.py
  - SCRIPT_CONFIG=conf_simple_pmm_example_config_1.yml  # Optional for scripts
  - HEADLESS_MODE=true  # Optional: Enable headless mode
  1. 部署 Hummingbot 容器
    docker compose up -d
    

这将使 Hummingbot 以分离模式(在后台运行)启动。

  1. 查看活跃容器
    docker ps
    

你应该能看到你的 Hummingbot 容器正在运行已配置的策略。

  1. 附加到正在运行的容器
    docker attach hummingbot
    

附加时,策略应该已经在运行。要脱离容器而不停止它,请依次使用 Ctrl+PCtrl+Q

源码安装自动启动

前提条件

  • 您已通过源码方式安装了 Hummingbot
  • 您已通过添加 API 密钥连接了交易所
  • 您已预先配置了至少一个策略配置文件

如何配置源码自动启动

使用以下命令:

bin/hummingbot_quickstart.py -p CONFIG_PASSWORD -f SCRIPT_FILE_NAME [-c CONFIG_FILE_NAME] [--headless]

示例:

# Regular mode with autostart
bin/hummingbot_quickstart.py -p mypassword -f simple_pmm_example.py -c conf_simple_pmm_example_config_1.yml

# Headless mode with autostart
bin/hummingbot_quickstart.py -p mypassword -f simple_pmm_example.py -c conf_simple_pmm_example_config_1.yml --headless

无头模式

警告

在无人值守的情况下运行任何交易机器人可能会带来额外风险。在部署可无人值守交易的机器人之前,您必须充分理解并测试策略及其参数。

Hummingbot 可以在无头模式下运行,这使得机器人可以在没有交互式 CLI 界面的情况下运行。这对于将机器人部署到云服务或以编程方式运行多个实例特别有用。

无头模式的先决条件

  • 必须启用并运行 MQTT:由于无头模式下没有 CLI 界面,因此需要通过 MQTT 来控制和监控机器人
  • 必须设置 Hummingbot 密码:密码用于解密 API 密钥和钱包
  • 必须存在策略配置:您需要一个预先配置好的策略或脚本文件

如何在无头模式下运行

使用命令行参数

bin/hummingbot_quickstart.py --headless -p PASSWORD -f CONFIG_FILE_NAME [-c SCRIPT_CONFIG]

其中:

  • --headless:启用无头模式

  • -p PASSWORD:您的 Hummingbot 密码

  • -f CONFIG_FILE_NAME:策略配置文件 (.yml) 或脚本文件 (.py)

  • -c SCRIPT_CONFIG:(可选)脚本的配置文件

使用环境变量

您也可以使用环境变量,这对 Docker 部署尤其有用:

export HEADLESS_MODE=true
export CONFIG_PASSWORD=your_password
export CONFIG_FILE_NAME=your_strategy.yml
export SCRIPT_CONFIG=your_script_config.yml  # Optional for scripts

无头模式的重要注意事项

必须使用 MQTT:由于没有 CLI 界面,MQTT 是唯一的方式,可用于:

  • 监控机器人的状态和性能

  • 查看日志和错误信息

  • 停止机器人或修改参数

  • 接收警报和通知

建议与 Hummingbot API 一起使用:我们强烈建议将无头模式与 Hummingbot API 结合使用,以实现:

  • 管理多个机器人实例

  • 实时监控和控制

  • 自动化部署和扩展

  • 与其他系统的集成

日志记录:在无头模式下,日志仍会写入文件,但除非通过 MQTT 监控或直接查看日志文件,否则无法实时看到。

自动启动的文件类型

你可以自动启动以下任一类型:

  • 脚本:包含完整策略逻辑的 Python 文件(.py)。Hummingbot 会在scripts目录中查找这些文件

  • 策略:带有 YAML 配置文件(.yml)的可配置策略模板。Hummingbot 会在conf/strategies目录中查找这些文件

无人值守交易的最佳实践

  1. 充分测试:在无人值守运行之前,务必在纸面交易模式下彻底测试你的策略

  2. 设置适当限制:配置终止开关、余额限制和其他安全参数

  3. 定期监控:即使在无头/自动启动模式下,也应定期检查日志和性能表现

  4. 使用 MQTT/API:通过 MQTT 或 Hummingbot API 设置适当的监控,以获得实时警报

  5. 确保系统安全:确保部署环境的安全性,尤其是在启用自动启动时