模拟账户有助于检查安装、信号和经纪商兼容性,但无法完美模拟实盘执行。关键并非每个结果是否一致,而是能否解释和测量差异,并将其控制在策略风险限额内。
模拟与实盘交易为何出现差异
| 因素 | 模拟环境 | 可能的实盘影响 |
|---|---|---|
| 点差 | 通常较平稳或为模拟值。 | 可能在换日、新闻发布或流动性较低时扩大。 |
| 滑点 | 成交过程可能被简化。 | 请求价格与执行价格可能不同。 |
| 流动性 | 不会真正影响市场。 | 可用交易量与经纪商政策可能影响价格或请求是否获接受。请确认此具体账户是否存在部分执行行为。 |
| 佣金与隔夜利息 | 可能采用不同账户条件。 | 影响净结果与隔夜成本。 |
| 延迟 | 服务器路径可能不同。 | 信号较晚到达交易服务器。 |
| 交易规则 | 模拟账户设置可能较宽松。 | Stops Level、交易量或订单上限可能不同。 |
先比较行为,再比较盈利
从时间戳、品种、方向、手数和订单备注入手。若两个账户收到相同信号,但以不同价格成交,应调查执行。若其中一个账户根本未产生信号,应检查报价历史、点差过滤器、终端时间、EA 设置或授权。
按正确顺序诊断差异
核验配置
比较策略行为前,确认 AutoTrading、图表品种与周期、EA 状态、必要的 DLL 权限及获授权账户号码。
比较收到的市场条件
在预期入场附近记录 Bid、Ask、点差和经纪商服务器时间。设有最大点差过滤器的 EA,可能正确跳过另一账户已执行的交易。
读取订单结果
检查 Experts 和 Journal 标签页,查看无效交易量、无效止损、无报价、重新报价、保证金不足或交易禁用信息。这些消息有助于识别哪一层拒绝了操作。
比较足够多的交易
一次成交不是具有代表性的样本。应比较策略正常时段内的一系列交易,计入佣金、隔夜利息,以及已平仓和未平仓持仓。
以受控风险从模拟转向实盘
比较期间保持配置不变。初始仓位应使意外成交或短期回撤带来的财务损失可承受。不要仅因短期模拟盈利就提高风险。监控 VPS 的连接在线时间、可用保证金和日志错误;若执行反复偏离计划条件,应暂停 EA。
真实资金涉及执行、流动性和情绪后果,模拟余额无法复现这些影响。
设定合理预期
入场价格和净利润的小幅差异属正常现象。持续漏单、方向相反、反复服务器错误或仓位显著不同则不正常。更改策略前,应确认差异源于配置、数据、经纪商规则还是执行。
分别匹配信号、请求与成交
按统一时间、确切品种、方向、EA 版本和 Inputs 匹配记录。先确认两个实例是否检测到相同信号,再比较请求价格与当时 Bid/Ask,最后比较实际成交与拒绝代码。从未提交请求的交易不能算作滑点观测。
假设的 EURUSD BUY 交易:请求 Ask 为 1.10020,模拟成交价为 1.10020 ,实盘成交价为 1.10030。对于五位报价,若一个 pip 为 0.00010,则实盘成交相对请求出现 1 pip 的不利滑点。此单独示例无法确定成因,也不能预测平均执行情况。
保留漏单与不完整证据记录
分别统计信号、已提交请求、获接受交易、被拒请求和不确定结果。先与账户历史核对超时,再分类。若 EA 不记录请求价格或当时报价,应明确无法精确归因执行差异;最终利润差异本身无法区分点差、滑点和信号变化。
比较覆盖策略正常时段和持仓时长的代表性样本。模拟测试验证该模拟环境中的运行行为。谨慎的实盘观察提供包含真实成本与损失的不同证据,不能将模拟结果变成收益预测。
官方参考
MQL4 官方 OrderSend 参考文档 说明了请求价格、滑点、止损价位和可能影响实盘订单执行的服务器错误。