本机模拟账户

本机模拟账户(simulated account)是一个只存在于用户机器上、交易软件内部的评估账户:策略对着它下单,应用用手里的 K 线或逐笔数据决定成交,任何东西都不会发给经纪商。脚本策略在被考虑投入实盘之前,跑的就是这个环境。

Senzoukria · 术语表 · 更新于 2026 年 9 月


成交是怎么决定的

既没有交易所也没有经纪商,应用就只能自己给执行建模。基于 K 线的模型把市价单成交在下一个可用价格上,并对照之后的 K 线评估止损和止盈;如果止损和止盈落在同一根 K 线内部,OHLC 数据并不能说出哪个先被触及,因此引擎必须公开它的处理策略。基于逐笔的回放可以把事件排得更细,但仍然无法还原挂单限价的排队优先权。无论用哪种模型,它的假设都应该写进结果记录里。

  • 入场时机:在信号 K 线收盘时,还是在下一根开盘时。
  • 两可的 K 线:止损优先、止盈优先,还是直接排除。
  • 成本:手续费和滑点是输入参数,不是观测值;一个什么都不扣的模拟账户会把策略美化。

本机模拟账户适合用来做什么

  • 检查策略代码是否真的在做作者以为它在做的事:入场、出场、加减仓和风险止损是否按预期顺序触发。
  • 把同一条规则拿到实时数据上向前跑,而不承担任何资金敞口。
  • 产出一份成交清单,供后续分析消费,例如自营公司规则模拟或蒙特卡洛重排。
  • 在牵扯进经纪商之前,先把策略的 bug 和执行层面的问题分开。

在 Senzoukria 里

脚本界面上写着这样一句警告:「本策略只在这台机器上的模拟评估账户上交易。它永远到不了你的经纪商 —— 平台根本不会下任何订单。」像突破示例这样的策略模板被标注为「仅限模拟账户」。向导式教程描述了这条路径:用 TypeScript、Python 或 C++ 编写指标和策略,在你的 K 线上回测,然后放到模拟账户上运行。结果空间里的绩效说明写明:历史模型不会在一笔交易内部重放逐笔数据,而且不扣手续费,因为模拟账户不收取任何费用,所以成本必须在分析中自行加上。要抵达经纪商,必须使用另行提供的自动驾驶,它需要显式武装,而且武装状态绝不会在会话之间保留。

常见错误

  • 把在被触碰的限价上模拟出来的成交,读成在实盘队列中也能拿到。
  • 拿模拟结果去对自营公司的目标,却忘了模拟账户并没有扣任何费用。
  • 把一次全绿的模拟运行,当成可以武装实盘自动化的许可或准备就绪的凭据。
  • 在模拟账户上调了许多套参数,最后只报告赢的那一套。

其他语言版本

常见问题

本机模拟账户需要经纪商连接吗?
不需要。它完全在这台机器上运行,用的是应用已经持有的 K 线或逐笔数据。要把策略放到实时数据上向前跑,确实需要一条行情数据源,但不涉及任何交易权限和账户凭证,因为没有任何订单离开软件。
模拟结果怎样进入交易日志?
模拟和回测产生的成交会形成一份带入场、出场和手数的成交清单。绩效分析和自营公司规则模拟消费的正是这份清单。请把它与规则版本、参数和覆盖率报告一起保存,这样研究记录才能显示出每一个决策作出时都知道些什么。

继续阅读