---
id: document_item.general-information-about-the-mooncmd-protocol
page_type: documentation_article
title: "“MoonCMD”协议概述"
description: "Moonbot 如何通过 UDP 接收远程控制命令、使用 HMAC-SHA256 进行校验、以 gzip JSON 发送响应，并定期传送终端状态。"
section: documentation
category: "补充材料 / MoonCMD 远程控制协议"
url: https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol/general-information-about-the-mooncmd-protocol?format=md
locale: zh
alternate_ru: https://moonbot.eu/documentation/mooncmd-remote-control-protocol/general-information-about-the-mooncmd-protocol?format=md
alternate_en: https://moonbot.eu/en/documentation/mooncmd-remote-control-protocol/general-information-about-the-mooncmd-protocol?format=md
parent: https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol?format=md
previous: null
next: https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol/mooncmd-protocol-description?format=md
status: published
updated_at: 2026-11-11T00:17:13+03:00
---

# “MoonCMD”协议概述

Moonbot 终端可以在 UDP 端口上接收远程控制命令，发送响应并发送定期更新。

**命令按以下格式接收：**

*hash 命令*\
其中 hash = HMAC-SHA256（命令, 密码）；端口和密码在以下位置设置：**Settings → Advanced → Remote：**

字段：**UDP Commands Port\\pass**\
填写 Moonbot 用来监听命令的端口，以及用于给命令签名的密码。

**响应的通用格式：**

**响应以 json 形式发送，并经 gzip 压缩：**

{"cmd":"","bot":"string Bot Name","N": int,"data":string 或 object}

#### 主要命令

- **buy ...** – 适用买入信号的标准规则；
- **short ...** – 适用做空信号的标准规则（合约）；
- **sell token** – 在该币种上启用 PanicSell。示例：sell NEO；
- **SellALL** – 对所有活动订单启用 PanicSell 并停止终端；
- **list（短格式为 "lst"）** – 活动卖出订单列表；
- **silent** – 关闭终端向聊天发送的已平仓交易通知；
- **talk** – 开启终端向聊天发送的已平仓交易通知；
- **STOP** – 在终端中按下 **Stop**（不再买入新信号）；
- **CancelBuy** – 撤销所有未成交的 BUY 订单；
- **START** – 在终端中按下 **Start**，启动策略；
- **BL** – 显示币种黑名单；
- **BL + coin** – 把币种 coin 加入黑名单；
- **BL - coin** – 把币种 coin 从黑名单中移除；
- **TempBL +N coin1 coin2** – 临时黑名单，时长 N 小时；
- **SetParam Strategy Param Value** – 修改策略中的参数（空字符串用 "empty"）；
- **SetBL+ Strategy coin** – 把币种加入策略或文件夹的黑名单；
- **SetBL- Strategy coin** – 把币种从策略或文件夹的黑名单中移除；
- **SetWL+, SetWL- Strategy coin** – 同理，用于白名单；
- **sgStart Strategy, sgStop Strategy \<时间，分钟>** – 在指定时间内启动或停止策略；
- **ResetSession coin | ALL** – 重置某个币种或所有市场的会话；
- **ResetLoss** – 重置盈利计数器；
- **Leverage X \[coin,coin\]** – 把这些币种的杠杆改为 X；
- **Margin \[coin,coin \\ ALL\] ISO\\Cross** – 更改这些市场的保证金模式；
- **ConvertBNB** – 把粉尘兑换为 BNB；
- **report \[N days \\ weeks\] \[coin\] \[hide\]** – 发送报告。默认为今天的报告；
- **SellPiece \[coin\\ALL\]** – 从每个订单中卖出一小份，前提是策略中的 SellPiece 参数不为 0；
- **DoUpdate** – 更新版本。
- **SetDeltasByTrades ON\\OFF** – 勾选或取消勾选 Settings - Main 选项卡中的“Deltas include raw trades”参数。
- **GenerateBugReport** – 生成错误报告（bug report）

#### 附加命令

- **GetStrategiesFull** - 发送所有策略；
- **GetStrategiesActive** - 只发送活动的策略。

**返回格式：**\
{"cmd":"strats","bot":"BotName","N":number,"data":"string"}，其中：\
N：数据包编号（所有策略可能放不进一个数据包，这时会拆分为 N 个数据包）\
Data：策略列表（格式与把策略复制到剪贴板时相同）：\
\##Begin_Strategy\
…\
\##End_Strategy\
一个数据包中可以连续包含多个策略。

#### 终端向发来命令的端口 发送的定期更新

- **订单**\
  {"cmd":"order","bot":"BotName","oid":number,"sql":"string"} Oid：订单在 Moonbot 终端数据库中的 ID。在价格变化、订单部分或全部成交后收到新的 sql 时，需要用它来正确更新数据库中的记录；
- **余额：**（每 5 秒发送一次）\
  {"cmd":"acc","bot":"BotName", "data":{ "A":"double","T":"double", "S":bool,"V":int}}\
  \- A：Available，可用余额；\
  \- T：Total，总余额；\
  \- S：终端是否已启动；\
  \- V：版本号（不带点，例如 7.56 版本以“756”的格式发送）；
- **API 错误：**（有错误时发送；每 5 秒打包一次。错误文本位于数组 data.E 中）\
  {"cmd":"errors","bot":"BB-Futures","data":{"E":\[\
  "04.12 00:12:56.268: TON \[400\] CheckMarginRatio fail! InsufficientAB\\n Timing: 203 ms",\
  "04.12 00:12:57.104: TON \[400\] CheckMarginRatio fail! InsufficientAB\\n Timing: 203 ms",\
  "04.12 00:12:57.966: TON \[400\] CheckMarginRatio fail! InsufficientAB\\n Timing: 203 ms"\]}}；
- **带图表的 Bin 文件：**\
  SubscribeCharts：订阅文件推送。\
  UnsubscribeCharts：取消订阅文件推送。

  **头部格式**\
  TMoonCmdHeader = packed record\
  Flag: byte; // 始终为 0，用于与普通 gzip 区分\
  Kind: byte; // 有效载荷类型。1 = 图表\
  id: integer; // 4 字节，对图表而言是订单 id（dbID）\
  blockNum: byte; // 数据报分块编号，从 0 开始\
  blocksCount: byte; // 分块总数。不拆分时为 1\
  end;\
  文件可能被拆分为 **blocksCount** 个部分。

  **读取格式**\
  由 **TMarket.SaveToStreamShort** 写入的二进制文件格式

## 导航

路径: [首页](https://moonbot.eu/zh?format=md) / [文档](https://moonbot.eu/zh/documentation?format=md) / [补充材料](https://moonbot.eu/zh/documentation/additional-materials?format=md) / [MoonCMD 远程控制协议](https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol?format=md) / “MoonCMD”协议概述

上级栏目: [MoonCMD 远程控制协议](https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol?format=md)

下一页: [MoonCMD 协议说明](https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol/mooncmd-protocol-description?format=md)

## 相关内容

- [MoonCMD 协议说明](https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol/mooncmd-protocol-description?format=md)
- [订单数据库](https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol/order-database?format=md)
- [仓库结构](https://moonbot.eu/zh/documentation/mooncmd-remote-control-protocol/structure-of-repositories?format=md)
