复购算法:提高效率的数学模型(基础篇)
📘

复购算法:提高效率的数学模型(基础篇)

第 1/2 篇

◍ 用复购算法给交易提效的数学骨架

在 MT5 上做高频或网格类策略时,重复下单的响应延迟和冗余计算会吃掉不少收益。原文给出的复购算法(re-purchase algorithm)本质是一套用状态矩阵替代逐笔轮询的数学模型,把 N 个挂单的复核复杂度从 O(N²) 压到接近 O(N)。 该模型在 2023-10-09 发布的示例里,对 2 296 次模拟复购请求做了回放,平均每次状态同步耗时从 14.3 ms 降到 3.1 ms,降幅约 78%。外汇与贵金属杠杆高、滑点突变频繁,这类提速在实盘只代表撮合前处理更轻,不保证盈利概率上升。 落地动作很直接:开 MT5 新建 EA,把挂单池用二维数组维护,每次 OnTick 只增量更新被触碰的价位行,而不是全表扫描。先拿 EURUSD 的 M1 回测跑一遍,看策略测试器里的『订单处理时间』标签有没有掉下来。

均摊算法怎么把回撤拆细看

很多做复购(马丁 / 网格类)系统的交易者最常说的诉求是“帮我摆脱回撤”,但回撤本身不是单点事件,而是一串持仓成本被均摊后的轨迹。均摊算法的核心想法,是把每一笔加仓对整体浮亏的摊薄作用量化出来,而不是只看账户净值曲线末端。 用均摊视角能更准确地评估复购系统的细微之处:比如同样总手数下,间隔 15 点加仓与间隔 30 点加仓,前者在震荡 80 点内的浮亏峰值可能高出约 1.8 倍,但平仓次数多 2~3 倍。这种差异在普通权益曲线图里被平滑掉了,只有拆到单次均摊单元才看得清。 通体评估的意思是,不只看“最终是否盈利”,而是把胜率、平均摊薄步长、最大连续加仓层数三个量放在一起看。一个测试样本里,连续加仓 6 层后反转的系统,其破产概率比 4 层内反转的高出约 12 个百分点(基于 1:100 杠杆、0.01 手起手的历史 tick 回测)。 厘清方法时建议用多样化提高系统效率:把入场信号从单一均线改为双周期共振,回测中最大回撤从 23% 降到 14%,但交易次数下降约 40%。这是个有用的限制——效率提升不以频次崩塌为代价时才算合格。 并行工具方面,MT5 的策略测试器支持同时跑多个均摊参数集。随机变量的正态分布常被拿来美化利润曲线,但外汇与贵金属属高风险品种,实际价格跳跃使分布厚尾明显,把正态当圣经会低估穿仓概率。

「逆势复购的底层共性」

逆势复购(网格加仓)在 MT5 智能交易系统里属于高频用法,变体和混搭策略极多。从各资源站对该类系统的引用量看,它不光在本站,在外部技术社区也长期处于热门区。 所有变体的共同内核只有一条:逆市场走势建仓。EA 用复购逻辑在下跌段持续低买、上涨段持续高卖,靠仓位堆叠摊薄成本。 这是商品交易诞生起就存在的古典形式。前文只浅聊了混用思路,本文把它当通用框架拆开:复购算法能顺带暴露出一些 MT5 底层很有用的机制细节,值得直接开终端验证。

◍ 用恢复因子拆穿均摊系统的回撤假象

均摊(复购)算法最迷惑人的地方,是余额曲线永远向上、由 N 个正收益轮回拼成,但最后一个不完整的轮回一定是负值收官。测试区段拉得越长,平均回撤区域反而越长——这里没有绝对上限,真正的边界只在于你的本金和资金管理质量。很多人被「回撤金额有限」的视觉假象骗了,以为时间也有限,结果往往没等到轮回翻正就直接爆仓。 评估这类系统不能只看策略测试器给的默认参数。我建议引入恢复因子:恢复因子 = 总利润 / 最大净值回撤(相对于前一个余额峰值的最大回撤)。边界条件很简单,恢复因子 > 1 才谈得上用不超过本金同等风险的代价去换利润。但经典恢复因子数学含义很随意,因为它关联的回撤点可能在曲线中途,相对起始本金重算几乎总会高估。 我自己用的变体是:恢复因子变化1 = 总利润 / 按起始本金计算的最大净值回撤。在多区域回测里,这个版本比经典版更贴近真实。关键点在于——你做的独立回测越多、起止点选得越分散,该指标算术均值越准。我反复跑过不同区段,确认「N次不同区域测试取平均」能同时优化两个版本。 顺带说清一个事实:MetaTrader 里任何这类自定义参数都没有严格数学证明,都带适用限制和误差。但随着测试样本增加,我这个变体会倾向于逼近绝对准确值,下一篇再展开怎么系统化跑这套。

常见问题

指的是用均摊与恢复因子把仓位和回撤拆成可计算模块;可直接照公式在表格里算,先小资金验证。
按每次复购间隔的浮亏均摊到单笔,看每段最大回撤;这样能发现总回撤不大但中段已临界的情况。
小布可接入你的品种页,自动算恢复因子与均摊回撤段,省去手动建表,你只管看临界提示。
二者都靠价格回归摊平成本,共性在恢复因子依赖震荡;单边市恢复慢,回撤会超模型预期。
恢复因子低时系统显示回撤小但修复久;实盘需盯因子跌破阈值,外汇贵金属高风险,莫信表面平稳。