CFD 属于复杂金融工具,因杠杆作用而存在快速亏损资金的高风险。请仅使用可承受损失的资金进行交易。
教学指南 + 模拟账户
+

在信任一个交易想法之前先测试它

你有一个交易想法。在投入资金之前,你想知道它能否经受住真实的检验:该经纪商的成本、一段它从未见过的行情,以及你已经为它花费的尝试次数。本页将分六个步骤,说明如何借助 Claude 在 cTrader 自有工具上完成这项测试。以下所有内容用模拟账户即可完成。

已经知道自己需要什么?直接跳到完整工具包(zip)↓——本页的每一个提示词、命令和清单,外加一份 README,全部收录在一个压缩包中。无需注册。

官方 MCP 服务器

供应商发布,2026 年 5 月 14 日——并非第三方桥接。

41 秒 首个 cBot 编译完成

在我们的测试台上测得:起草 35.9 秒 + 编译 5.2 秒,一次迭代。

模拟 需要账户

免费,且足以完成本页的每一个步骤。

由谁确认交易

一个由你开启的设置——绝不默认假定,也绝不隐藏。

一句话说明这是什么

Claude——这个 AI 智能体——永远不会下单。它根据你用文字描述的规则,用 C# 或 Python 编写一个 cBot。cTrader 自带的命令行回测工具会编译该程序,并以该经纪商的真实成本在两个时间窗口上运行它。随后 Claude 读取这两份 JSON 报告,并写出明确的接受/拒绝结论。这里没有任何环节需要 Claude 下单——测试由 CLI 运行;而 cBot,如果你真的要运行,也是由你自己启动。

Claude 永远不会下单 确认是你自行开启的设置 密钥保存在配置文件中,绝不放进提示词 没有暗号、没有电邮、没有付费社群

为什么 Claude 不会下单——以及这对你意味着什么

Anthropic 的消费者条款要求用户不要依赖该服务来买卖证券。Claude 负责起草、审阅和撰写报告;CLI 负责运行回测;任何会触及真实账户的操作都由你自己启动。完整说明见常见问题 ↓

连接 Claude + cTrader 的六个设置步骤

每个步骤只做一件事。按此顺序完整做一次;此后你大多只需用新规则重复第 5 步和第 6 步。每段提示词都可直接原样复制——填入尖括号中的部分即可。

1

cTrader 与模拟账户

安装 cTrader 的 Windows 或 Mac 应用程序,并使用 TopFX 模拟账户的 cTID 登录:免费,且足以完成本页面上的所有内容——如何开户,以及此处所提供的该平台——TopFX 的 cTrader

2

Claude Code

如果你已经在应用程序或浏览器中使用 Claude,那么你已经登录了——Claude Code 使用同一个 Anthropic 账户,只是从终端窗口而不是聊天窗口进入。第一次接触 Claude?你需要付费订阅或 Anthropic Console 访问权限:免费聊天方案并不包含 Claude Code(见下方费用部分)。无论哪种情况,都只需安装一次:

Windows (PowerShell)
irm https://claude.ai/install.ps1 | iex

建议先安装 Git for Windows——它能为 Claude Code 提供一个可供使用的 bash shell。

macOS · Linux · WSL
curl -fsSL https://claude.ai/install.sh | bash
3

cTrader CLI

这不是你已经在用来交易的 cTrader 应用 —— 它是 cTrader 提供的一个独立、免费的命令行程序,用来运行回测。你只需安装一次,然后让它在后台运行;由 Claude 与它通信,你不需要直接操作它。

对大多数人来说最简单的方式:供应商的原生安装程序——下载、运行,完成。如果你平时已经在用 Docker,拉取镜像同样可行:

# Docker Desktop on Windows runs on WSL 2 docker pull ghcr.io/spotware/ctrader-console:latest

无论采用哪种方式,安装完成后,以下命令会创建 Claude 写入你的 cBot 的项目文件夹:

ctrader-cli create ctrader-cli build
4

本地 MCP 服务器 + 首次会话

在 cTrader 中:Settings → MCP Server。勾选 “Enable MCP server”;不要勾选 “Allow trading via MCP”。将下面的条目加入你的智能体配置,安装供应商的技能包,重启智能体,然后运行首次会话提示词——它会列出你的账户、确认为 DEMO,并把工具分为只读类与会做出更改的一类。

npx skills add https://github.com/spotware/ctrader-skills --all --global
{ "mcpServers": { "ctrader": { "type": "http", "url": "http://127.0.0.1:9876/mcp/" } } }
第 1 个提示词,共 5 个 05-prompt-first-mcp-session.txt
List every account visible through the cTrader MCP server. For each one, state clearly whether it is DEMO or LIVE. Then list the available tools and sort them into two groups: read-only (data, history, reports) and changing (anything that could place, modify or cancel an order). Do not call any changing tool. Confirm the active account is DEMO before we continue.
5

草拟 cBot

用一条消息把你的规则告诉 Claude:交易品种、时间周期、入场、出场、止损,以及你想调整的那一个参数。在我们的测试中,使用示例规则(EUR/USD、H1、SMA 交叉、ATR 止损)编译耗时 41 秒 —— 完整源码在工具包中,文件为 cbot-template/SmaProbe.cs,它是一个可供替换的框架,而不是可用于交易的规则。

第 2 个提示词,共 5 个 01-prompt-draft-cbot.txt
You are drafting a cBot for cTrader Automate (C#) that will be backtested with cTrader CLI. Read the command reference at https://github.com/spotware/CLI-references before proposing any command. Do not invent options. Use placeholders for the account id and file paths. Never ask for a password.

Rule: <instrument, timeframe, entry, exit, stop-loss, exit rule>
Parameter to expose as a cBot parameter: <name, default, sensible range>

Deliver: (1) the cBot source; (2) a .cbotset file with the defaults; (3) the exact build and backtest commands for the in-sample window <dates> and the out-of-sample window <dates>, with --commission, --spread and --report-json; (4) your assumptions and anything that is missing.

Do not start `run`. Do not place orders. Do not estimate returns.
6

计入成本的回测,然后是验收报告

用你经纪商的佣金和点差以及 --report-json 运行样本内命令;然后在未被触碰的样本外时间窗上运行同一个 cBot。附上两个 JSON 文件,并注明这是这一类想法的第 N 次尝试——每一次参数更改都算作一次尝试。

第 3 个提示词,共 5 个 02-prompt-acceptance-report.txt
Attached are two JSON backtest reports from cTrader CLI: in-sample and out-of-sample. This is attempt number N=<n> on this family of ideas (every parameter set and every rule change counts as one attempt).

Write an acceptance report with exactly these fields, each quoting the report it comes from: trades (IS / OOS); net result sign (IS / OOS); max balance drawdown (IS / OOS); ProfitFactor (IS / OOS); buy-and-hold of the same instrument over the same period; cost sensitivity (a third report with the spread doubled, if attached); N and the noise threshold for N attempts; bootstrap of trade order (drawdown distribution, if computed).

Verdict: "not rejected" or "rejected", with the reason. Do not forecast. Do not recommend a position. Do not use the word "works".

「未被否决」并不意味着这个想法能赚钱——而是它通过了你在测试前就声明好的筛选条件。完整方法见日志部分 ↓

循环跑通后,再加两个提示词

不属于这六个步骤 —— 当你对已通过第 6 步的想法进行迭代时再使用这些。

第 4 个提示词,共 5 个 03-prompt-position-size.txt
Compute the volume in lots for a fixed risk of <amount or % of balance> per trade on <instrument>, with a stop-loss of <pips/points>. Read the pip value from the terminal for this account and symbol; do not assume a standard-lot value. Show the formula and round down to the nearest valid lot step.
第 5 个提示词,共 5 个 04-prompt-morning-pipeline.txt
Write a scheduled script (shape only, for a cron-like container) that: pulls fresh data with cTrader CLI for <instruments>; applies these filters: <declared filters>; queues backtests for anything that passes; and sends me one summary report to <channel>. It must never place, modify or cancel an order — only run backtests and report.

如果有些地方无法正常运作

第 1–6 步中最常见的问题,以及它们通常意味着什么。

如果智能体未检测到 MCP 服务器

十有八九是配置文件的问题:多了一个逗号,或者 URL 末尾少了斜杠——按供应商的写法是 http://127.0.0.1:9876/mcp/。cTrader 必须处于运行状态且已勾选该设置;安装技能包后请重启智能体。

原本可以运行,更新后就坏了

在 cTrader 或 Claude Code 更新之后,请重新检查这三个勾选项,并重新运行首次会话提示词。供应商的服务器和技能包都有版本;当它们发生变更时,该变更会带有日期。

回测报告显示没有交易,或没有数据

检查 --start--end 是否采用供应商的参考格式、品种名称是否与你的经纪商的拼写完全一致,以及数据模式:H1 及以上使用 m1,M15 以下的任何周期使用 ticks。首次运行会从经纪商的服务器下载历史数据;--data-dir 会将其保留供后续运行使用。

Windows 上的 Docker

Docker Desktop 需要启用 WSL 2;请在 PowerShell 中执行 pull,并挂载 ctrader-cli create 写入项目的那个文件夹,这样编译出的 .algo 在两边都能看到。

「模型无法读取我的图表」

不应该这样。模型无法可靠地从像素中读取价格;这套设置通过 MCP 工具和 JSON 报告向它提供数据,而不是通过截图。

这适用于我的配置吗?

从 MetaTrader、TradingView 或 NinjaTrader 转过来

哪些内容会延续、哪些会改变,以及在任何东西离开模拟账户之前该检查什么。

一个 MQL4/MQL5 EA

Claude 会把它转写成 C#;转写后的版本要像一个新想法一样,经过同样的双窗口测试——移植是一次新的尝试,而不是已被验证的结果。

一个 Pine Script 策略

转换方式相同;但数字会不一样——Pine 与 CLI 使用不同的成交模型。验收报告依据在 CLI 上按经纪商成本运行的结果编写。

一个 NinjaScript/Sierra Chart 指标

路径相同:指标逻辑沿用,订单处理部分则针对 cTrader Automate 重写。

历史

数据通过 CLI 来自该经纪商的服务器:H1 及以上用 m1,M15 以下用 ticks--data-dir 会在多次运行之间保留数据。无需向数据供应商购买。

实盘执行

由你启动的 cTrader 中的 cBot,或供应商的云端。绝不是模型。

自营交易公司账户

FTMO 将 cTrader 与 MT4/MT5/TradingView 一并列出;cBot 能否在考核账户上运行由各公司自行决定,且规定会变动——请先阅读现行规则。本页所有内容均在模拟账户上进行。

交易品种与时间周期。这些命令默认使用 H1 周期的 EURUSD。黄金:使用相同命令,并加上 --symbol=XAUUSD --period=m15 --data-mode=ticks。低于 M15 时请使用 tick 数据——分钟 K 线会掩盖决定短周期规则的成交。以上任一品种的仓位大小:TopFX 手数页面,以及上方第 4 个(共 5 个)提示词。

免费吗?

这要花多少钱

一句话:只有 Claude Code 本身需要付费。模拟账户、cTrader、CLI、Docker 镜像、两个 MCP 服务器以及技能包都是免费的。

免费 除 Claude Code 之外的一切

模拟账户、cTrader、CLI、Docker 镜像、MCP 服务器、技能包、本页面以及工具包。

由你选择 如何支付 Claude Code 的费用

需要 Claude 订阅,或按用量计费的 Anthropic Console 访问权限。免费聊天方案不包含 Claude Code。

2 次调用 Claude 用量,每个想法

草案(第 5 步)和验收报告(第 6 步)。回测本身不产生费用——执行回测的是 CLI,而不是 Claude。

这里没有任何东西会在后台轮询市场,所以在你不留意时用量不会被悄悄消耗:只有当你修改某个想法时才会调用 Claude,而 5 个提示词中第 5 个里的定时报告是通过 CLI 运行的,不经过 Claude。

有任何证据证明这有效吗?

尝试记录:不含收益数字的证明

每一次尝试都在我们的测试台上进行,两个时间窗口、真实成本、一个二选一的结论——从不给出任何收益数字。

2026 年 9 月 4 日

供应商 Docker 镜像上的工具链 · EUR/USD H1 · SMA 交叉,ATR 止损

脚手架
2.4 秒
草拟
35.9 秒
编译
5.2 秒,一次迭代
状态
已编译,尚未回测
下一篇

首次回测,计入经纪商成本,含样本内与样本外

状态
待定 —— 模拟账户正在接入测试台;结果将连同日期显示在此处

每条记录显示

# 每条日志记录中的字段
日期品种与时间周期 —— 何时运行、在何标的上运行
规则Claude 据以起草的那一行规则
窗口样本内(用于调参)· 样本外(直到最后都未触碰)
成本传给 CLI 的佣金与点差
交易次数每个窗口 —— 样本外次数过少则视为无结论
结论未被否定 · 被否定 · 无结论,并附理由
N这一类想法迄今已耗费的尝试次数
报告结论所依据的两个 JSON 文件

结论是如何得出的

01

每个窗口内的交易笔数。样本外交易太少时,结论是“无定论”,而不是“未被否决”。

02

净结果的正负号和最大余额回撤,样本内与样本外并排对照。

03

同一品种在同一期间的买入并持有——若某个想法跑输单纯持有,就予以否决。

04

成本敏感性:把点差加倍后重跑同一次测试——一个因成本而失效的想法就会被否决。

05

申报的 N:这一类想法已经消耗了多少次尝试。在 N 次尝试下,纯噪音的最佳结果并不为零——在五年内进行一万次尝试,噪音的预期最佳夏普比率约为 1.7(Bailey 等人,2014)。门槛会随 N 上升。

06

自助法(Bootstrap):把交易顺序随机打乱几百次,观察回撤的分布,而不是只看历史恰好走出的那一条路径。

这套配置的作用

  • 根据你用文字写下的规则,草拟一个 cBot 以及准确的 CLI 命令。
  • 每一次回测都通过供应商自己的 CLI 运行,使用真实的佣金和点差。
  • 根据两份 JSON 报告逐项比对,给出采纳/否决的结论。
  • 将所有提示词、命令和检查清单都保留在本页以及一个公开的存档中。

这里不会提供的内容

  • 任何形式的收益数字,无论是我们的还是其他任何人的。
  • 价格走向预测、行情观点,或由模型读取截图上的图表。
  • 对任何交易品种的买入或卖出建议,或复制他人的交易。
  • 声称交易确认会自动完成——那其实是一个由你开启的设置。
  • 声称自己是首个或唯一集成 AI 的平台——已有多家经纪商和平台推出 MCP 服务器或 agent API;cTrader 是最早提供官方版本的外汇/CFD 平台之一。

基本规则

模型无法预测价格,也不保证任何结果。

过程中始终有人参与:一条命令、一次审核、一次确认。

先用模拟账户。本页上的所有内容,用模拟账户就够了。

有规则的代码胜过主观看法:过滤条件和仓位大小是算出来的,不是凭感觉的。

上下文比问题本身更重要:给 Claude 的是报告、成本和约束条件——而不是“这是不是一笔好交易”。

Claude 是审阅者,而不是交易的生成者。

文件在哪里?

全部内容打包在一个压缩包中

上述六个步骤中的同样五个提示词和命令,再加上检查清单与 MCP 配置 —— 一个 zip 文件,无需注册,并附有说明内含什么以及按何种顺序使用的 README。

15 个纯文本文件和一个 C# 源文件。没有暗号,没有电子邮件,没有社群。

下载工具包(zip)
压缩包内容
  • README.txt —— 内含哪些内容,以及按什么顺序使用
  • 05-prompt-first-mcp-session.txt —— 第 4 步的提示词
  • 01-prompt-draft-cbot.txt —— 第 5 步的提示词
  • 02-prompt-acceptance-report.txt —— 第 6 步的提示词
  • 03-prompt-position-size.txt · 04-prompt-morning-pipeline.txt —— 上文的两个可选提示词
  • commands-backtest.sh —— 使用你的经纪商成本的样本内/样本外命令,以及 --report-json
  • cbot-template/SmaProbe.cs —— 在我们测试台上编译通过的 cBot,2026 年 9 月 4 日
  • mcp-config-local.json —— 本地 MCP 服务器条目,依供应商文档所述
  • pipeline-cron.txt · position-size-formula.txt —— 杠杆表的结构;仓位计算公式
  • checklist-*.md (四个文件)——验收报告字段;在计算仓位之前;在首次计划运行之前;模型所看到并且可能更改的内容
工具包中未包含
  • 没有所谓“有效的策略”——模板只是一个框架;每一条规则,包括这一条,都要经过日志部分所述的双窗口测试。
  • 没有交易建议,没有面向真实账户的文件,也没有订单。
  • 没有需要你盲目信任的代码:CLI 搭建框架,Claude 起草,你来构建和阅读。

在我们测试台上编译通过的 cBot

这是 cBot 结构形式的模板,而不是交易规则——规则是你要替换的部分。Claude 依据下面的规则在 35.9 秒内起草了它;ctrader-cli build 在 5.2 秒内完成编译,一次迭代。

# cbot-template/SmaProbe.cs
品种EUR/USD,H1
入场快速 SMA 上穿慢速 SMA 时做多,下穿时做空
持仓一次一笔,固定交易量
止损1.5 × ATR(14)
止盈止损的 2 倍
可调参数FastPeriod —— 唯一开放的参数
汇编2026 年 9 月 4 日 · 73 行

使用方法:用 ctrader-cli create 搭建一个项目,用本文件替换生成的类(保留脚手架生成的命名空间),编译,然后从 commands-backtest.sh 运行双窗口回测。或者用 5 条提示词中的第 2 条,把你自己的规则交给 Claude,让它从零开始起草。

常见问题

模型说它不会下单。是出了什么问题吗?

不会。这是其明文规定的界线:Anthropic 的消费者条款要求用户不要依赖该服务来买卖证券。本页面同样建立在这条界线上——Claude 负责起草和审阅,CLI 运行回测,而 cBot(如果你要在模拟账户上运行的话)由你在 cTrader 中启动。这里没有任何环节要求模型下单;而教你如何绕过拒绝的指南,恰恰是在要求模型去做其条款所排除的那件事。

本页是否有内容需要注册才能查看?

不。提示词、命令、检查清单、模板 cBot 和 MCP 配置都在页面上和工具包压缩档中。唯一涉及的账户是经纪商的模拟账户,它用于运行回测,而不是用于阅读页面或下载工具包。

我需要懂编程吗?

你需要做的是审阅,而不是编写。Claude 起草 C# 代码和命令;CLI 负责编译和运行;每条命令在运行前都由你审核——这正是供应商针对 AI 起草命令所采用的模式。

它能在 Windows 上运行吗?

是的。cTrader 有 Windows 应用程序,CLI 及其 Docker 镜像可在 Windows 上运行(基于 WSL 2 的 Docker Desktop),Claude Code 可从 PowerShell 原生安装。本地 MCP 服务器是 cTrader 内的一项设置——无需绕开应用商店安装包,也无需维持第三方桥接程序运行。

“未被否决”是否意味着这个想法能赚钱?

不是。它只意味着这个想法通过了你在测试前声明的筛选条件。尝试次数足够多时,噪音同样会“通过”——这正是为什么尝试次数(N)会写入报告并提高门槛。

我可以把这套方法用在自营交易公司(prop firm)的账户上吗?

FTMO 将 cTrader 列入其平台之中;在考核账户或资金账户上运行 cBot 的规则由该公司自行制定,且会变动,因此请先阅读。对于考核挑战,验收报告还应包含最大单日亏损(已平仓与持仓合计)以及相对该公司限额的最大回撤。本页所有内容均在模拟账户上进行,无需任何公司的许可。

必须使用 Claude 吗?

不需要。任何能够读取 CLI 参考文档并使用 MCP 的智能体都可以——供应商列出了多个开发者客户端。我们的测试台运行的是通过 Console 访问的 Claude Code,而不是聊天订阅。

它可以全天候运行吗?

cBot 可以按你设定的规则,在服务器或供应商的云端上运行。5 个提示词中的第 5 个所含的定时脚本只会生成报告——它不会在任何时段下单。

我可以用手机完成这些操作吗?

整个流程在电脑上运行——CLI、Docker 和 Claude Code 都是桌面工具,本地 MCP 服务器运行在 cTrader 桌面应用内。cTrader 手机应用可显示账户和图表,足以在路上查看报告。

从模拟账户开始

本页所有内容都需要一个 cTID 和一个模拟账户。先开一个,安装 CLI 或拉取 Docker 镜像,然后运行第一段提示词。

  • AI 披露本页部分代码示例和提示词由 AI 模型起草,并在发布前经过人工审核。
  • 非投资建议本页面是关于工具的教育内容。它不是投资建议,不是交易任何品种的推荐,也不是开设真实账户的邀请。
  • 保障通用型 AI 模型并不是受监管的金融服务。其输出不受任何投资者赔偿计划或金融申诉专员的保障。
  • 经纪商披露该经纪商自身的披露声明称,85.19% 的零售投资者账户在与此提供商进行 CFD 交易时亏损。

资料来源与日期

披露:cTrader 的供应商 Spotware 将 TopFX 列入其重点客户之列。本页由 TopFX 的独立介绍经纪(IB)合作伙伴撰写,而非由上述任一公司撰写。本网站服务于 TopFX 在马来西亚的客户;其他地区的读者可在任意 cTrader 模拟账户上,使用相同的 CLI、镜像和 MCP 服务器完成每一个步骤。