常见问题¶
基础知识 ¶
什么是 cTrader CLI?
cTrader CLI 是一款命令行工具, 无需打开 cTrader 桌面应用程序, 即可直接通过终端管理账户、执行交易和算法交易操作。你可以输入命令进行登录、读取市场数据、下单和管理交易, 以及运行、回测和优化 cBot。
运行 cTrader CLI 前需要准备什么?
你需要一个关联了至少一个交易账户的 cTrader ID、位于 PATH 中的 cTrader CLI 可执行文件, 以及 cTrader ID 凭据文件。
如何安装 cTrader CLI?
在 Windows、macOS 和 Linux 上使用软件包管理器安装。它会下载适用于你所用操作系统的正确版本。此外还提供 Docker 镜像; 在 Windows 上, cTrader 桌面应用程序也附带可执行文件。
cTrader CLI 是免费的吗?
是的。 cTrader CLI 是 cTrader 提供的工具之一。你需要自行准备 cTrader ID 和凭据文件; 如果要让 cBot 无人值守地运行, 还需要提供托管环境。
AI 智能体 ¶
我可以将 AI 助手与 cTrader CLI 配合使用吗?
可以。 cTrader CLI 支持两种工作流程: 你可以自行输入命令或编写脚本; 也可以用自然语言描述目标, 让 AI 助手生成 cTrader CLI 命令, 供你审核后运行。
使用 AI 助手必须安装技能吗?
不需要。即使不安装技能, AI 助手也可以生成 cTrader CLI 命令。安装技能后, AI 智能体可参考命令语法、输出格式和安全规则, 从而生成更可靠的命令。
让 AI 执行命令前, 我需要检查什么?
不要让 AI 助手自行启动需要长期运行的 run 命令。对于 AI 生成的每条命令, 都应在实盘账户上运行前仔细审核。
身份验证与凭据 ¶
身份验证有哪些规则?
cTrader CLI 提供两种身份验证方式。批处理方式需要 --ctid 和 --pwd-file; 交互方式需要 --ctid、--password 或 --pwd-file, 以及 -q。批处理命令不接受 --password, 而交互命令可以接受这两种密码输入方式。
如何安全地保存密码?
将 cTID 密码保存在纯文本文件中。不要将文件放在共享文件夹或受版本控制的文件夹中。限制读取权限, 并在不再需要时删除文件。
当不同经纪商的账户号码相同时, 如何指定经纪商?
在任意命令中添加 --broker=<broker-name>。如果你的 cTrader ID 关联了不同经纪商下号码相同的账户, 该选项可用于指定目标经纪商。
工作流程 ¶
cTrader CLI 支持哪些操作?
cTrader CLI 的操作涵盖账户、交易、市场数据、历史记录、指标、提醒、cBot 和项目。
cTrader CLI 使用哪个时区?
所有输入和输出中的日期与时间均使用 UTC。例如, --from=2026-10-08 表示从 10 月 8 日 00:00 UTC 开始, 输出的时间格式如 2026-10-08T14:05:00.000Z。唯一的例外是运行中 cBot 内部使用的时间, 它遵循 cBot 的 TimeZone 设置。
一笔交易可以设置多个止盈水平吗?
不可以。 cTrader CLI 目前每笔交易只支持一个止盈水平。
可以设置移动止损或保本保护吗?
不可以。 cTrader CLI 目前不支持这两项功能。
可以为挂单设置到期日期吗?
不可以。 cTrader CLI 目前不支持订单到期设置 (good till date)。
可以设置市价范围吗?
不可以。 cTrader CLI 目前无法设置市价范围 (market range)。 --limit-range 选项适用于止损限价单。
可以选择止损订单的触发方式吗?
不可以。 cTrader CLI 目前不支持选择止损订单的触发方式。
如何查看 CLI 接受的全部周期参数值?
运行 ctrader-cli periods。该命令会列出 --period 和 --timeframe 接受的所有参数值。解析时不区分大小写。
如何在 VPS 或云服务器上运行 cBot?
使用 cTrader CLI 的Docker 镜像运行 cBot, 将宿主机文件夹挂载到容器, 并通过环境变量传入配置值。
cBot 生命周期 ¶
cBot 需要哪个 .NET 版本?
.algo 文件必须针对 .NET 8 构建。请使用最新版 cTrader 桌面应用程序重新编译旧版 cBot。
如何从终端启动 cBot?
运行 ctrader-cli run <path-to-algo-file> --account=<account-id> --symbol=<symbol> --period=<period>。这条命令会长期运行。如果希望 cBot 停止时 cTrader CLI 进程也随之退出, 请使用 --exit-on-stop。
如何一次停止所有正在运行的 cBot?
运行 ctrader-cli 打开交互式 Shell, 登录后执行 stop all yes。最后一个实例停止后, cTrader CLI 进程也会退出。
如何传递 cBot 参数?
可以通过三种方式传递cBot 参数: 使用 cBot 的默认值; 通过命令行中的 --ParameterName=value 覆盖一两个参数; 或将已保存的 .cbotset 文件作为第二个位置参数传入。 .cbotset 文件由 cTrader 桌面应用程序生成, 可用于在多次运行之间复用参数值。
如何优化 cBot 参数?
运行 ctrader-cli optimize <path-to-algo-file> --params=<path-to-params-file> 来优化 cBot。JSON 参数文件用于指定需要搜索的参数以及保持不变的参数。标准排序使用 --criteria, 如需调用 cBot 自身的 GetFitness 方法则使用 --fitness。
需要 cTrader 支持?
如需解决问题, 请通过以下官方渠道联系我们:
- 加入 cTrader Discord 社区, 向交易者、开发者和其他用户提问并交流。
- 如需技术协助, 请通过 support@ctrader.com 联系 cTrader 支持团队。
- 浏览 cTrader 社区论坛中存档的讨论。论坛已停止接受新帖, 但仍保留了许多解答常见问题的实用内容。