在模拟账户上运行策略
“自动策略”面板把你保存的某个策略脚本运行在这台电脑上的模拟考核账户上。它每根收盘 K 线决策一次,永远无法触及经纪商。
Senzoukria · 文档 · 更新于 2026 年 9 月
位置
- 位置
- 回放 → 交易面板区 → “自动策略”面板
- 默认
- “手动 — 无策略” —— 在你选定脚本之前什么都不运行
- 节奏
- 每根收盘 K 线调用一次;不含形成中的 K 线
- 窗口
- 最多把 600 根收盘 K 线交给脚本,最新的在前
- 账户
- 仅模拟考核账户 —— 平台不向任何经纪商路由订单
它做什么
面板列出所有以“策略”类型保存的脚本。选中一个,它就会挂载到图表的 K 线上。每当一根新的 K 线收盘,脚本的 decide() 函数就被调用一次,传入已收盘的 K 线、当前模拟持仓、tick 大小,以及一个由它在各根 K 线之间自行携带的状态对象。
脚本返回的是决策,而不是订单。挂载层把这个决策翻译成对模拟账户 store 的调用:按市价开仓,或全平。它不引入任何连接模块和经纪商 API,因此策略没有通往实盘账户的路径 —— 这里的机器人是纸上交易机器人,也只能是这个。
选择器下方的状态行显示运行状态、迄今为止的决策次数和最后一次决策。被阻止的决策和脚本错误各占一行。
策略返回的决策
| 字段 | 默认值 | 作用 |
|---|---|---|
| action | 必填 | “buy”、“sell”或“close”。其他任何值都会被报告为无法识别的决策。 |
| qty | 1 | 开仓合约数。向下取整,且绝不低于 1。 |
| stopTicks | 无 | 相对成交价向下(多头)或向上(空头)的 tick 距离。省略即表示开仓时不附带止损。 |
| targetTicks | 无 | 盈利方向离场单的 tick 距离。省略即表示没有止盈。 |
| 返回 null | — | 一个有效的答复:这根 K 线什么都不做。 |
如何使用
- 先在脚本页面编写并保存策略 —— 一个都没有时面板会显示“尚无策略”。
- 打开回放,显示交易面板区,然后在“自动策略”选择器中选中该脚本。
- 看决策计数器,而不是权益曲线:它告诉你脚本究竟有没有被调用。
- 切换脚本会清空携带的状态和防重放保护,因此新脚本从一张白纸开始。
局限与陷阱
- 开仓要通过与手动按钮相同的防护:回撤已被击穿、每日亏损上限已触及或合约数超限时开仓会被拒绝,并显示原因。
- 该品种没有实时价格时,开仓会被挂起并显示“正在等待实时价格” —— 不会凭空编造成交。
- 决策只在收盘 K 线上做出,因此策略无法在形成中的 K 线内部作出反应;正是这一点让实盘运行与回测可比。
- 模拟账户只属于这台电脑。那里的结果不是对在别处交易的任何东西的预测。
相关页面
其他语言版本
常见问题
- 自动策略能向我的经纪商发订单吗?
- 不能。挂载层只调用模拟账户 store,脚本本身运行在一个没有平台 API 的 worker 里。平台完全不向经纪商路由订单。
- 为什么我的策略在最后一根 K 线上什么都不做?
- 形成中的 K 线被刻意排除。只有在一根 K 线收盘之后脚本才被调用,因此最新的决策总是针对正在构建的那根之前的 K 线。
- 脚本能看到多少根 K 线?
- 最多 600 根收盘 K 线,最新的在前,转换成所有脚本共用的固定 K 线结构(时间、OHLC、成交量、delta、成交笔数和足迹图价位明细)。