部署托管者
托管者管理页面列出当前账号下的托管者,可以切换列表或详细信息展示,查看托管者的IP地址、版本、编译时间等信息。点击部署托管者进入托管者部署页面,有两种方式:一键租用托管者、手动部署托管者。

一键租用托管者
在托管者部署页面点击一键租用托管者标签,根据配置、服务器机房地区等需求选择需要部署的服务器。
点击「立即购买」并输入当前发明者量化交易平台的账号密码进行验证,验证通过后将自动进行托管者程序部署。整个部署过程需要几分钟时间,系统会自动安装常用的Python库。
点击「立即购买」后租用的服务器由于是通过平台代为租用,仅具有有限的系统权限,不支持远程登录。如果需要使用未预装的第三方Python库,建议使用私有服务器进行手动部署。
通过一键租用托管者功能租用的服务器采用独立计费方式,与实盘计费相互独立。
点击「重新部署」按钮不会删除托管者目录下logs目录中的实盘日志和数据文件。
手动部署托管者
可以把托管者部署在个人电脑、服务器、树莓派(64位系统)等设备上。托管者只发布64位版本:
- Linux命令行版:x86_64(amd64)、ARM64(aarch64)
- macOS命令行版:Intel、Apple Silicon
- Windows:x64、ARM64,各有命令行版和界面版
在托管者部署页面点击手动部署托管者,按系统下载对应的托管者程序并解压,可执行文件robot即托管者程序。同一页面还显示部署需要的两项信息:

- 通信地址:包含账号UID,形如
node.fmz.com/123456。 - 密码:UID对应的发明者量化交易平台账号的密码。
Windows界面版
运行robot.exe,在界面上填写通信地址和密码,点击启动。
命令行版
bash
chmod +x robot # Linux/macOS 首次运行前加上执行权限
./robot -s node.fmz.com/123456 # 启动后提示输入密码,输入时不回显
123456只是示例,实际的通信地址在托管者部署页面查看。不要用-p在命令行里写明文密码,它会留在shell历史和进程列表里;需要无人值守启动时,把地址和密码写进只有自己可读的配置文件robot.conf:
bash
cat > robot.conf <<'EOF'
s=node.fmz.com/123456
p=你的密码
EOF
chmod 600 robot.conf
./robot -c robot.conf # 启动目录下有robot.conf时,直接 ./robot 也会自动加载
全部参数和配置文件格式见命令行参数。
在后台运行
托管者忽略终端挂断信号:在SSH里前台启动后直接断开连接,托管者会继续运行,运行日志同时写在logs/docker.log。需要开机自启或崩溃后自动拉起时,可以用systemd等服务管理器运行,例如/etc/systemd/system/robot.service:
ini
[Unit]
Description=FMZ robot
After=network-online.target
Wants=network-online.target
[Service]
WorkingDirectory=/opt/robot
ExecStart=/opt/robot/robot -c /opt/robot/robot.conf
Restart=on-failure
TimeoutStopSec=90
[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl enable --now robot
systemctl stop robot发送的SIGTERM会让托管者优雅退出:先停止其上的所有实盘、上报状态,再从平台下线。TimeoutStopSec留出足够的时间,避免收尾未完成就被强制结束。
**升级托管者**
策略运行时和交易所连接器由平台按需下发,不需要手动更新。升级托管者程序本身:先停止托管者(见托管者操作注意事项),用新版本替换robot可执行文件,再在同一工作目录启动。工作目录下的logs目录保留了托管者身份和实盘数据,启动后沿用原来的托管者ID。
**用Docker容器隔离策略进程**
Linux和macOS的命令行版可以用-i参数让每个策略进程运行在独立的Docker容器里(需要本机已安装并运行Docker)。这是策略进程的隔离方式,不是托管者本身的Docker镜像,参数见命令行参数。
托管者操作注意事项
先停实盘,再停托管者
删除托管者或停止托管者进程前,先确认它上面没有运行中的实盘。
正常停止托管者
- 命令行版:在终端按一次
Ctrl+C,或向进程发送SIGTERM(kill <PID>、systemctl stop)。 - Windows界面版:点击界面上的停止按钮。
托管者收到停止指令后会优雅退出:先停止其上的所有实盘、上报最终状态,再从平台下线。收尾期间再按一次Ctrl+C会跳过状态上报和下线,直接退出,一般不要这样做。
避免强制结束
不要用kill -9结束托管者进程,也不要直接断电或强制关机。这样托管者来不及下线,平台上的实盘可能仍显示为运行中并继续计费;出现这种情况,需要先删除已离线的托管者,才能停止这些实盘。重启服务器前先停止托管者;用systemd等服务管理器运行时,系统关机会自动发送SIGTERM。