我们读了量子女王 X 的源码:三张写死的日期表,把回测修成了一条好看的曲线
Quantum Queen X v4.3 的源码里藏着 51 个写死的具体历史日期:24 天禁止开仓、8 天把止盈拉到 15 倍、19 天拉到 5 倍。它们全部是过去的日期,最后一条紧贴编译日期——只能改写回测,对未来一天都不起作用。本文贴出原始代码段,逐条说明这为什么是作弊,以及剩下的过拟合结构。

我们在店里卖 Quantum Queen X,它也确实是我们卖得最好的黄金 EA 之一。正因如此,当我们拿到 v4.3 的源码、把它整理干净准备单独上架时,读到的东西必须原样说出来。
结论先放:这套 EA 的代码里,写死了 51 个具体的历史日期。它们分成三张表——24 个日期一单都不许开、8 个日期把止盈距离乘 15、19 个日期乘 5。全部是已经过去的日子,而且最后一条日期紧挨着 v4.3 的编译日期。
这不是参数优化,也不是"新闻过滤"。这是拿着已知的行情结果,回头去修改历史上的交易行为——学术上叫前视偏差(look-ahead bias),说白了就是作弊。下面逐条贴代码。
第一处:24 个"这天不许开仓"的日期
在时间过滤函数 ScheduleAllowsTrading() 的末尾,做完星期几、非农周五、周五夜盘这些正常规则之后,跟着这么一段:
static int pause_dates[24]=
{
20200203, 20200807, 20220125, 20220308, 20220309, 20221227,
20230310, 20230313, 20230614, 20230731, 20240703, 20240705,
20240730, 20241015, 20250226, 20250730, 20251024, 20260128,
20260129, 20260202, 20260223, 20260323, 20260402, 20260428
};
int ymd = now.year * 10000 + mmdd;
for(int i = 0; i < ArraySize(pause_dates); i++)
if(ymd == pause_dates[i])
return false; // 这一天,12 套策略一单都不开
return true;
请注意这段代码不做任何判断:它不读经济日历、不看波动率、不测点差,只是把服务器日期拼成 20230310 这样的整数,去和一张写死的清单比对。
一个真正的新闻过滤器是一条规则——"高影响事件前后 30 分钟不进场"这种,规则对过去和未来一视同仁。而一张清单只能覆盖清单上有的日子。写清单的人必须先知道那天发生了什么,才能把它写进去。
于是效果非常干净:回测跑到这 24 天,EA 一动不动;这 24 天在历史上给它带来的亏损,从曲线上消失了。而 2026 年 4 月 28 日之后的任何一天,这张表永远不会再命中——你实盘时它等于不存在。
第二处:8 个日期止盈 ×15,19 个日期 ×5
这一处更直接。篮子(basket)的目标价本来是"持仓加权均价 ± 固定点数",代码在算这个固定点数时插了一个乘数:
static int dates_x15[8]=
{
20210204, 20210603, 20210701, 20220119,
20250123, 20250127, 20250402, 20250724
};
static int dates_x5[19]=
{
20210112, 20210121, 20210312, 20210512, 20210907,
20211116, 20220301, 20220309, 20220602, 20250205,
20250210, 20250226, 20250227, 20250624, 20260122,
20260220, 20260319, 20260420, 20260610
};
int multiplier = 1;
for(int i = 0; i < ArraySize(dates_x15); i++)
if(ymd == dates_x15[i]) { multiplier = 15; break; }
if(multiplier == 1)
for(int i = 0; i < ArraySize(dates_x5); i++)
if(ymd == dates_x5[i]) { multiplier = 5; break; }
double average = weighted_price / total_volume;
g_basket_target_price[slot] = NormalizeRecoveredPrice(
direction > 0 ? average + target_points[slot] * multiplier * _Point
: average - target_points[slot] * multiplier * _Point);
换算一下这个乘数有多大。XAUUSD 两位小数报价下 1 point = 0.01 美元,策略 1 的 target_points 是 50,也就是止盈距离 0.50 美元;命中 ×15 的日期后,变成 7.50 美元。策略 9 的 200 点(2.00 美元)会变成 30.00 美元。
平时它见好就收赚五毛,而在这 8 个特定的日子里,它突然有耐心了,一路持到 15 倍距离才平。
公平地说:止盈拉宽不必然赚钱——方向反了就是不触发、继续扛。但问题从来不在"拉宽止盈"这个动作,而在于凭什么是这 8 天。程序运行时无法知道今天会不会走出大单边;唯一能知道的人,是在事后翻着历史 K 线挑日期的作者。
为什么说这是作弊,而不是"优化"
参数优化是可以接受的:你调 DeMarker 的周期、调网格间距,得到的是一组对所有日期一视同仁的数字,拿去跑样本外数据会掉多少,大家心里有数。
而写死日期不一样,它有三个致命特征:
- 它只作用于过去。这三张表一共 51 个日期,最晚的是 2026 年 6 月 10 日,而 v4.3 的版本号里写着编译日期 22/07/2026。也就是说,表是一直更新到发布前夕的——而发布之后,它们再也不会命中任何一天。
- 它无法样本外验证。正因为只作用于过去,你没法用"往后跑一年看看"来检验它——它在未来的贡献恒等于零。回测曲线里那部分收益,是不会再出现的。
- 买家看不见。只有拿到源码才知道有这三张表。挂在商店里的是一条修饰过的曲线,而修饰的手法藏在编译后的二进制里。
换句话说:你在回测里看到的那条曲线,和你实盘会拿到的那条曲线,不是同一套规则跑出来的。这才是问题的核心。
把日期表拿掉之后,剩下的结构也不乐观
就算把三张表全删掉,这套策略本身的结构仍然带着浓重的过拟合痕迹。
12 套策略,一半只在某一个整点交易
bool StrategyHourAllowed(const int slot, const int hour)
{
switch(slot)
{
case 0: return hour == 22 || hour == 23;
case 1: return hour == 3; // 只在 03:00 这一小时
case 2: return hour == 22;
case 3: return hour == 19;
case 4: return hour == 0;
case 5: return hour == 23;
case 6: return hour >= 8 && hour <= 10;
case 7: return hour >= 6 && hour <= 11;
case 8: return hour >= 10 && hour <= 13;
case 9: return hour == 22;
case 10: return hour >= 4 && hour <= 8;
case 11: return hour == 8 || hour == 9;
}
return false;
}
"这套策略只在凌晨 3 点那一个小时开仓"——这样的规则没有任何市场机制上的理由,它是从历史数据里搜出来的。再叠上每套策略各自的指标配置:
g_demarker_a[0] = iDeMarker(_Symbol, PERIOD_M6, 18);
g_demarker_b[0] = iDeMarker(_Symbol, PERIOD_M15, 16);
g_demarker_a[1] = iDeMarker(_Symbol, PERIOD_M15, 14);
g_demarker_b[1] = iDeMarker(_Symbol, PERIOD_M20, 20);
// ... 共 24 个句柄
static double upper_a[12]={0.7,0.7,0.7,0.7,0.7,0.7,0.9,0.5,0.9,0.7,0.7,0.7};
static double lower_a[12]={0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.1};
注意 M6、M10、M12、M20 这些非标准周期——MT5 默认图表上根本没有 6 分钟和 20 分钟。选它们没有交易逻辑上的理由,只有一个理由:搜参数时它们碰巧更好看。阈值也一样,大部分是 0.7/0.3,但第 7 套是 0.9、第 8 套是 0.5、第 12 套的下轨是 0.1——这些孤零零的例外值,是典型的"这一格调一调,曲线就顺了"。
粗算一下自由度:每套策略有入场周期、两组(指标周期 + 参数 + 上轨 + 下轨)、时段起止、网格间距、止盈距离,大约 13 个可调数字,12 套就是 150 个左右——全部只用来拟合 XAUUSD 一个品种。
8 套只做多,而且一单止损都不挂
int StrategyDirection(const int slot)
{
...
if(slot == 4 || slot == 5 || slot == 10 || slot == 11)
return -1;
return 1; // 其余 8 套只做多
}
// 下单:第 4、5 个参数是 SL 和 TP,都传 0
g_trade.Buy(volume, _Symbol, 0.0, 0.0, 0.0, SafeComment(slot));
12 套策略里 8 套是纯多头,配上不挂止损的网格加仓(单策略最多 100 笔),再放到 2020–2026 这段黄金从 1500 涨到 3000+ 的历史上——这个组合在回测里几乎不可能不赚钱。它测的不是策略,是这段行情本身。关于这类结构的风险,我们单独写过一篇:网格/马丁 EA 到底有多危险。
顺带一提,唯一的刹车 InpDDMode(回撤保护)默认是关闭的。
换个券商就换一组策略组合
if(InpSets == QQ_PRESET_ICVT_HIGH)
return slot==0 || slot==1 || slot==2 || slot==4 || slot==5 ||
slot==7 || slot==8 || slot==9 || slot==11;
if(InpSets == QQ_PRESET_ICVT_MEDIUM)
return slot==0 || slot==2 || slot==7 || slot==8 || slot==11;
if(InpSets == QQ_PRESET_ROBO_ECN)
return slot==0 || slot==2 || slot==3 || slot==4 || slot==5 ||
slot==7 || slot==8 || slot==9 || slot==11;
官方宣传里的"券商专用 set 文件",拆开看就是换一家券商、换一组启用的策略编号。券商之间真实的差别是点差、佣金和执行质量,这些应该体现在成本参数上,而不是"在 A 券商启用第 6 套、在 B 券商关掉它"。这更像是在每家券商的历史数据上各搜了一遍最优组合。
关于我们发布的这份源码
需要说明的是:我们上架的是作者提供的 v4.3 原版 MQL5 源代码,只做了格式与可读性层面的整理——注释统一成英文、移除授权码与试用期校验、把散落在 6 组并行数组里的 12 套策略合并成一张配置表、把每 tick 三十多次的持仓重复扫描合并成一次快照。
策略参数表、时段规则、信号阈值、网格与篮子出场规则,一个数字都没动——包括本文批评的那三张日期表。我们一行没删,原样留在源码包里,并在包内 README 中点名标出。批评一样东西,总得让人能自己打开看。
你可以自己验证(三步)
- 打开源码,搜
2021。三张日期表就在文件的配置区,肉眼可见,不需要任何工具。 - 删掉它们,再跑一次同样的回测。把三张表清空(
multiplier恒为 1、pause_dates清空),用完全相同的品种、周期、时间段、真实 Tick 模式再跑一遍,两条曲线并排看。差多少,就是这三张表"贡献"了多少。回测口径怎么设才不骗自己,见MT5 回测正确姿势。 - 看作者的实盘信号,而不是回测。实盘账户里这三张表一天都命中不了,所以实盘曲线才是这套策略的真实水平。怎么读信号页的坑,见用 Myfxbook 验证 EA。
那我们为什么还卖它
我们不打算装清高。Quantum Queen X 是一套能跑的网格 EA,在趋势顺的时候确实赚钱,它的实盘信号是公开的、可查的。我们卖它,但我们同时做三件事:
- 价格摆正。它在我们这儿卖 $110,而不是官方那个把回测当业绩宣传的价位。
- 风险说清楚。商品页明写了它含网格加仓、极端单边行情下浮动回撤会放大。我们也一直公开自己的回撤数据。
- 把源码放出来给人查。这三张日期表我们一行没删——原样保留在源码商品里。要批评它,总得让人看得见它。
最后一句留给所有正在看回测曲线的人:一条 2020 年起步、五年不回撤的漂亮曲线,最该问的不是"它有多赚",而是"这五年里,它是不是知道答案"。这个问题,只有源码能回答。
风险提示:本文是基于源代码的技术分析,不构成投资建议,也不针对作者个人做法律定性。EA 与量化策略均有亏损风险,外汇及贵金属交易风险极高,请只用亏得起的资金参与。
本文评测的 EA
在找「Quantum Queen X 源码 v4.3 破解版 / 免费下载 / 注册机」?
破解版 EA 常被植入后门病毒、逻辑被悄悄篡改、且无法更新——为省一次授权费,赌上的是整个交易账户和电脑里所有密码。为什么千万别用盗版 EA →本站 Quantum Queen X 源码 v4.3 为正版软件,Myfxbook 实盘可查、版本持续更新。
延伸阅读
UBS 在一张图上并行跑数十套突破子策略。实盘 11 周:+16.18%、543 笔、盈利因子 1.27、最大回撤 11%。但比数据更重要的是:不用 autoloader 加载,你的回测结果一定是错的——这是它最容易被误判的地方。
我们把 Quantum King 3.1 的 MQL5 源码逐行读完并编译验证。没有授权码、没有试用期、没有硬编码日期表——这在 EA 圈里不常见。但它默认不挂止损、账户级保护默认全关,风险来自结构本身。这篇把机制和边界都摆出来。
The Gold Reaper 是少见的「无网格无马丁、每单带止损」的黄金 EA,作者实盘已跑 92 周:+261.56%、胜率 71.95%、最大回撤 16.05%。这篇拆它的策略结构、实盘数据怎么读,以及它适合谁、不适合谁。
