开发跨平台网格 EA:测试多币种 EA(基础篇)
多币种网格 EA 的跨平台测试起点
在 MT5 里跑网格策略,最忌讳只盯一个品种。Roman Klymenko 在 2020-08-11 发布的跨平台网格 EA 测试框架,核心思路是把同一套网格逻辑同时挂到多个币种上,用 MT5 的策略测试器做横向比对。 该帖原文显示阅读量 5785、评论 9 条,说明这类多币种回测需求在实战圈并不冷门。你可以在 MT5 终端开「策略测试器 → 智能交易系统测试」,把同一 EA 分别选 EURUSD、XAUUSD、GBPJPY 跑同周期,观察净值曲线离散度。 外汇与贵金属杠杆高、滑点跳空频繁,多币种网格在极端行情下可能触发连锁加仓,实际爆仓概率显著高于单币种。开 MT5 验证前先调小初始手数到 0.01,别拿实盘直觉直接套回测。
「拿标普急跌测多头网格的生存力」
这一篇不写新 EA,也不改旧代码,重点是拿已经做好的多币种系统去跑极端行情。前面几篇已经把跨平台网格从基础版、趋势区间版、马丁格尔版一路做到了多品种分散版,这一节直接看实盘级压力测试。 附件里会给出新版本 EA、测试用的 SET 文件和回测报告,读者下载后能在 MT5 里原样复现,不用自己拼参数。 核心问题是:当标准普尔 500 从 3400 美元摔到 2200 美元、跌幅超 30% 时,一个只做多头的摊平+马丁格尔网格能不能活下来?外汇和贵金属这类高杠杆品种遇到类似闪崩,账户归零概率会显著放大,验证前先控好仓位。
◍ 美股多头的网格摊平纪律
这套 EA 只做美国交易所股票、且只开多头。拉长到 2010—2020 年初的周线,多数个股是震荡上行的,空头方向不在考虑范围内,这是方向选择的底层依据。 入场读 RSI,但阈值因品种而异:有的跌破 30 才买,有的要冲过 70 才追。资产属性决定解释方式,不能全局写死一个数值。 摊平层数硬上限是 4 笔。若某品种网格预设最多 3 层、价格却走到第 4 层触发位,系统直接平掉已有持仓而不是加第 4 笔——相当于把止损嵌进网格算法里。 手数策略上,固定手数优先;若用马丁格尔,绝不倍加,只按初始手数逐层线性加。下面这张盈亏对照很说明问题:固定摊平 4 层止损亏 10 个单位,按初始手数加则亏 20 个;每层 7 点时就分别是 70 点与 140 点。所以线性加仓链不能超过 3 层。 网格间距和止盈都交给优化器,但约束是止损亏损约等于盈利的 1–3 点。测试周期不少于 1 年,4 年最佳;实盘回测取 2016.1—2020.1,再拿 2020.4 暴跌做压力附加测试。手数先固定逐品种跑,之后用余额翻倍则手数翻倍的方式递增,上限 25 倍初始值,参数里写明触发资金量即可。
单品种参数怎么跑优化
本文不逐个品种列优化明细,重点放在可复现的测试方法上。在 MT5 策略测试器里选「每笔即时价」模式做优化,比控制点模式更贴近真实成交。 排序逻辑藏在 EA 内部而非测试器标准选项:结果按恢复因子排,盈利测试返回恢复因子数值;亏损测试返回带负号的余额回撤百分比;若整段测试成交少于 30 笔,直接返回 0——样本太小不具统计意义。 调用这个排序要在测试器「设置」标签页选「自定义最大」,测试器才会读取 EA 里的评价函数。 单品种优化叠了前向验证:4 年窗口按 3:1 切分,前三年回测、最后一年前向推演,最优前向比例落在 1/4。外汇与贵金属杠杆高、滑点跳空频繁,这套结果仅代表历史样本,实盘仍可能失效。