模式搜索的暴力算法(第三部分):新视野·综合运用
(3/3)·单核每小时仅 700-2000 方案,30 核也要等数天,这篇教你如何切样本提速并深挖跨日跨时模式
MT4 与 MT5 回测差异如何废掉旧 EA
MT4 的历史报价只存价格不含点差,测试器允许把点差设成“1”近乎零,这让绝大多数 EA 在点差内找出的模式其实毫无实盘价值。MT5 的报价自带真实点差,能直接评估系统真实盈利能力,但也意味着旧 MT4 策略若没针对第五版重做,显示利润的概率非常小——我经验里这类直接搬过来的系统大多因为点差吞掉信号而失效。 为 MT5 手动挑点差做可接受回测极耗时间,我手动选点差跑完一轮新 EA 开发周期(图里黑色是当前进度、灰色是待改)。进一步自动化可拆六类:最简数学处理柱数据、全局模式加手数变动提盈利因子、超短周期加马丁/逆马丁、好 EA 合并提频率、报价带点差全自动避手选、修优化器 bug。其中第 1、5、6 点最值得盯:暴力公式多变性能从一次优化出更多差异方案,平均质量更高;点差自动过滤比手选实在;柱时间不匹配的错已修掉。 我的算法现在只用一阶泰勒,阶数再加计算复杂度飙涨反而降质;评论区有人提傅立叶级数描周期,留待以后——其实只需求系数类泰勒,可变性还更高。软件终局是把两平台开发测试优化全自动化,我现在手配点差纯属拖慢周期,多数 EA 寿命有限,慢了就过时。 MT5 更先进,真实 tick 和点差让真实盈利可评估,重心切过去更合理。测试里还揪出一个拖低 EA 质量的因素:点差怎么污染训练样本,ML 系统和老 MT4 EA 都中招,细节下篇拆。
◍ 把逻辑条件压成一条可交易函数
MQL5 程序能在贴近真实环境的测试器里跑,脱离 MetaTrader 5 的回测,很难拿到可信结论。本文用线性多项式和高次多项式做验证,即便算力有限也能出结果,说明简单数学函数具备继续深挖的价值。 一组任意逻辑条件,最终都能收拢成一个定量函数。这个公式本身构成指标,输出对称的正负数值,正值偏多可作买入参考,负值偏多可作卖出参考——外汇与贵金属波动剧烈,信号仅代表概率倾向,不等于方向锁定。 指标公式每次都不同,这反而保证了方法不会僵死。很多交易者想要一个能直接报买卖点的工具,这种函数化思路在市况允许范围内把机会往前推了一步。下一篇会整合本系列结论,并补上手动建系统与机器学习的具体细节。
「画得少,看得清」
这套暴力模式搜索写到第三篇,配套 Bots.zip(880.06 KB)里装的是可跑的多品种实验机器人,直接丢进 MT5 的 MQL5/Experts 目录就能加载验证,不用自己从头搭框架。 作者在原讨论里回过一句实在话:自由变量越多,越容易把历史曲线'钉死'成一段漂亮故事,但样本外大概率是另一回事。所以真要调参,先把搜索维度砍到 2~3 个,看信号在 EURUSD 和 XAUUSD 上是否还能稳定触发。 外汇和贵金属杠杆高、滑点凶,任何从历史回测扒出来的形态都只是概率倾向,实盘前先用策略测试器跑一年 tick 数据再说话。