模式搜索的暴力方法(第二部分):深入·综合运用
◍ 样本长度决定模式寿命
把 EA 放到 MT5 策略测试器里跑全局模式,有几个硬结论先摆出来:未来有效持续时间直接挂钩数据样本大小,训练区测得好不好也直接决定它能跑多久。远期测试里,所有图表上全局模式的有效性至少能撑 2–3 个月,这是可复现的观测点。 当暴力计算把部分最终结果质量推到接近 100% 时,挖到一个还能再跑几年的模式的概率会明显上升;但不同货币对吃不同设置,没有通用参数。局部模式(比如一个月维度)完全是另一回事——它一直在变,马丁格尔只能小心脏用,样本越小反转越快,短期必反。 两种打法由此分开:全局模式靠大样本,最好每 2–3 个月重搜一次公式;局部模式在市场冻结时每周搜,质量不高但能刮点利润。把研究压成两个函数就清晰了:MF 是未来某根柱上订单的数学期望,PF 是利润因子,都受训练长度 T、结束日 I、未来柱号 F、算法 S、结果质量 R 牵动。 不同工具、不同日期跑暴力算法,把 MF/PF 随 F 画出来,会看到无数策略曲线,但都逃不开模式反转。最强模式也许 5 年不反,但统计上终会反;最稳的来自最大样本。人工从理论推导的公式可能无限期工作,暴力或机器学习只给得出基于统计的寿命估计——这套分析人算不动,得靠程序跑。
把暴力搜索搬上服务器前先补四类开关
全局模式跑下来有个硬约束:普通电脑撑不住十年以上大样本的深挖,想拿到干净结果就得堆样本量。真要在高性能服务器上闷头跑几个月,才可能筛出一两个能用的变体,所以下一步必须让暴力算法又快又准。 具体落地路径是先给程序加几类时间维度开关:固定服务器时间窗口、按周指定日期跑分析、随机生成时间窗口、随机生成每周可交易天数数组。这几样不碰核心数学,只是把采样空间切细,却能直接放大候选组合的覆盖度。 第二阶段优化选项卡也得动刀,重点是把多核计算真正用起来,顺手修掉优化器本身的错误。改完之后,程序速度和发现项的质量、多样性都会上一个台阶,顺便变成顺手的市场分析工具。外汇与贵金属波动受宏观事件驱动,这类工具只降低搜索成本,不消除品种本身的高风险。
「模式有效性的验证门槛」
找到一段在历史样本里跑出正结果的模式,不代表它往后还能用。作者在原篇里强调,要确认模式未来仍可能有效,需要足够大的样本量、整个样本期内良好的交易结果,以及和样本规模匹配的订单数量——这几条缺一个,都只是「曾经赚过」。 外汇和贵金属是高杠杆品种,即便模式在数学期望上倾向为正,遇到市场状态切换,亏损概率也会同步放大。用附件里的 Awaiter 程序(ZIP 约 709 KB)跑循环优化时,先把样本拆成多个不重叠时段,看同一组参数在每段里的胜率漂移,比单看总收益更实在。 程序目前受限于本地算力,作者提到若有 30 个核心会轻松得多;普通交易者手头几核的机器,建议把优化步长调粗、缩小扫描的品种范围,先验证思路再加细。手动搜出来的形态若已有获利结果,可视为可行模式,但别把它当长期铁律。