大逃杀优化器(BRO)(基础篇)
MT5 里的大逃杀优化器怎么跑
MetaTrader 5 的测试器原生支持一种叫「大逃杀」(Battle/Robots Battle,社区常称 BRO)的优化模式,由 Andrey Dik 在 2026-05-15 的公开测试中演示,帖子标记测试者环境为 MT5 终端,累计被查看 381 次、评论 1 条。 它和普通遗传优化不同:每轮迭代会淘汰表现最差的一批参数组合,留下头部个体继续变异交叉,类似生存竞争。这种机制在参数空间大、易陷入局部最优的 EA 上,可能比标准遗传更快收敛。 要复现,打开 MT5 策略测试器 → 选择 EA → 优化模式切到「大逃杀」→ 设好入参范围与遗传代数。注意外汇/贵金属杠杆品种回测过拟合风险高,实盘前需用样本外数据验证。
◍ 从吃鸡玩法到解空间淘汰赛
元启发式优化长期靠自然进化、鸟群蚁群和物理定律找最优解,但 BRO 把灵感换成了《绝地求生》这类大逃杀游戏。它归为「基于游戏的优化算法」,和进化、群体智能、物理类并列,补上了基于种群优化方法的一个空档。 和蚁群蜜蜂那种协作寻优不同,BRO 里每个候选解互相厮杀。它会拿每个解跟最近邻比,输的一方吃「伤害」,赢的一方伤害清零;伤害攒太多的解直接淘汰,补一个随机新解进场,类似玩家掉血归零被踢出对局。 这种竞争加伤害的机制,让搜索空间里死区能被新随机点重新激活。做 MT5 参数寻优时,相比纯协作型群体算法,BRO 在陷入局部极值后重新铺开采样的概率更高,但外汇与贵金属市场高杠杆、高波动,实盘前务必用历史数据回测验证。
「把大逃杀机制翻译成优化循环」
BRO 算法可以看成一场虚拟战场:初始种群是一批随机散布在搜索空间里的「玩家」,每个解都带位置和适应度。核心循环里,每个解只跟最近邻解一对一比拼,优者零伤害、劣者吃 1 点伤害,并朝当前种群最优解挪一步——这模拟了战败者往安全区苟的位置调整。 伤害计数器是这套方法的识别特征。某个解累计伤害超过设定阈值就被剔除,原位补一个随机新解,类似大逃杀每局淘汰后补人,保证种群不僵死、维持多样性。 算法还会周期性以全局最优解为中心收缩搜索边界,等价于安全区缩小,逼着种群向高潜力区集中。实测中这种收缩加淘汰的机制,能让全局探索和局部开发自然平衡:败者靠拢优者保趋势,新解注入保视野。 原文图例用二维等高线展示了构件:红五星是全局最优,绿点是 0 伤害胜者,黄/橙点分别对应 1、2 点伤害败者,蓝点是补位新解,虚线箭头标了败者位移,橙虚线框是收缩中的边界。关键阶段就四步——初始化、邻域对比、向优移动、空间收缩,原理清楚后即可落伪代码。
种群与收缩系数的冷启动
在 MT5 的 EA 初始化阶段,先把种群规模 popSize 定下来,比如常见取 30~100 之间,规模太小容易陷局部最优,太大则每代评估耗时线性上升。每个解自带一个伤害计数器,开局统一清零,用来记录该解在后续迭代中触发约束或越界的累计次数。 maxDamage 是解被杀前的容忍上限,通常设成 epoch 数的 10%~20%;迭代次数 epoch 直接决定搜索总预算,回测里 200~500 代对 H1 黄金策略往往够用。 初始收缩系数 δ 在开局就要算好,它控制搜索空间随代数周期性坍缩的节奏。δ 取 0.9 附近时,前 1/3 代空间几乎不缩,后期快速收紧,适合波动率突变的外汇品种。贵金属与外汇杠杆高,参数敏感,初始化乱设容易过拟合,建议开 MT5 用策略测试器跑一组 δ 扫描再定。