MT4指标编译通过 · EX4 5KB 自动发布 1 0

待补充完整源码后重写

老吴·1 小时前发布

当前源码被截断且含 DLL 授权校验,需完整文件才能修复

待补充完整源码后重写

效果示意图 · AI 根据源码绘制,仅示意画了哪些元素,细节以实际运行为准

PendingFullSource.mq4预览 6 / 6 行
1
2
3
4
5
6
// 本文件为占位说明,收到完整源码后再输出正式 EA。
// 请提供:1) 完整 .mq4 源码  2) 依赖指标文件名  3) 专家日志全文
#property strict
#property copyright "待补充"
int OnInit() { Print("请提供完整源码与日志后再编译本 EA"); return(INIT_SUCCEEDED); }
void OnTick() { }

已显示前 6 行。完整源码仅对 xauusd.team VIP 开放查看与复制。

开通 VIP 查看完整源码

作品说明

【说明】这段代码不是"有 bug 需要修"那么简单——它是一份被反编译/混淆过的商业 EA(全局变量全被改名成 G_in_xx / G_do_xx,真实逻辑调用 lizong_1…lizong_32 这一大批函数,而你把函数体截断了,OnTick 后半段和所有子函数都没给),还带一个 DLL 授权校验(LHZH.dll,现已注释掉)。缺少这些函数体,我无法判断"不开单"到底是哪个判断条件卡住,也无法凭空补出来。

常见的不开单原因,按可能性排:① DLL 授权校验没通过(文件里至今还留着 AccountNumber() 与 SN 注册码的挂钩);② G_in_67 = 220417061 这个写死的魔术号与你手动挂的参数不匹配;③ 它依赖自定义指标缓冲区(ZigZag 数组 G_do_73ko 等)而指标没有加载出来;④ lizong_27()(订单扫描/状态更新)因 struct 数组 G_a_6_45ko[] 未 ArrayResize 而空转,导致 G_in_55(多单数)/G_in_56(空单数)永远为 0,那么所有加仓和首单逻辑都不会被触发。

想真正修好,请把下面三样东西一起发我:完整源码文件(.mq4 全文,不能截断)、它依赖的自定义指标文件名、你挂上去后"专家"标签页里从开机到现在的全部日志。有了日志能直接看出是被授权校验拦下、还是被某个条件判断拦下,我就能给你重写一个干净、无 DLL、无混淆、参数可调的等价版本(Bollinger + ZigZag 收口突破 + 分批加仓 + 移动止损)。

另外必须提醒一句:我这一轮不会凭猜测去"补"那几百行缺失逻辑然后声称修好了——那样生成的 EA 挂上去要么还是不开单,要么在实盘里乱开单,比现在更危险。

使用说明

  1. 这份代码只是占位,挂上不会交易,目的是不给你一份"看着能编译、实盘乱开单"的半成品。
  2. 把 .mq4 完整文件(含 lizong_1 到 lizong_32 全部函数体)直接贴给我或上传。
  3. 同时告诉我它调用的自定义指标文件名,以及各信号缓冲区编号。
  4. 挂上原 EA 后打开"专家"标签页,把完整日志复制给我。
  5. 若原 EA 需要 LHZH.dll 才能运行,请确认 MQL4\Libraries 下该文件存在且终端允许 DLL 导入。
  6. 收到材料后,我会重写一个无 DLL、无混淆、参数全部中文注释的等价 EA:布林带收口 + ZigZag 回调 + 分批加仓 + 移动止损。
  7. 重写版会保留你现有的所有外部参数名,方便直接替换原 EA 使用。
  8. 原 EA 的写死魔术号 220417061 我会改成参数,避免与手工单冲突。

AI 解读根据源码逐行分析写成,供参考,以实际运行为准

这是什么

这不是一个能用的指标或 EA,而是一个占位文件。它只有 #property strict、一个 OnInit() 和一个空的 OnTick(),编译能过,挂上图表什么都不会做,也不会开单。

它存在的意义只有一个:不给你一份「看着能编译、实盘乱开单」的半成品。

逻辑原理

原文件是一份被反编译和混淆过的商业 EA:全局变量被改名为 G_in_xx / G_do_xx,真实逻辑集中在 lizong_1 到 lizong_32 这批函数里,而函数体在提交时被截断了,OnTick 的后半段也没有。此外它还带一个 LHZH.dll 授权校验(目前已被注释掉)。

缺少这些函数体,无法判断「不开单」究竟卡在哪个判断条件上,也无法凭空补出几百行缺失逻辑。硬补出来的代码,挂上去要么还是不开单,要么在实盘里乱开单,比现在更危险。

占位版的执行路径是:OnInit() 打印一句提示,OnTick() 直接返回。没有任何下单、平仓、止损调用。

参数说明

这个占位文件没有任何 input 或 extern 参数。代码里只有三样东西:

  • #property strict:开启严格编译模式。
  • #property copyright:版权字符串,当前为「待补充」。
  • OnInit() / OnTick():初始化时打印提示,每笔 tick 什么都不做。

也就是说,参数面板是空的,你改不了任何设置——因为它本身没有可调的设置。

怎么用

  1. 把 .mq4 放进 MQL4\Experts 目录,在 MetaEditor 里按 F7 编译。
  2. 挂到任意图表上,只会在「专家」标签页看到一行提示文字。
  3. 它不会下单,适合用来验证编译环境和目录结构是否正确。

要真正修复原来的 EA,需要同时提供三样东西:

  • 完整 .mq4 源码,含 lizong_1 到 lizong_32 全部函数体,不能截断。
  • 它依赖的自定义指标文件名,以及各信号缓冲区编号。
  • 挂上原 EA 后「专家」标签页从开机到现在的全部日志。

有了日志,就能直接看出是被授权校验拦下,还是被某个条件判断拦下。

适用场景

适合两种情况:

  • 你手上有一份反编译 EA,想搞清楚它为什么不开单,并希望重写一个干净版本。
  • 你想确认 MT4 的编译环境、Experts 目录、DLL 导入权限是否正常。

不适合任何需要实际交易信号的场景——它不会产生信号,也不会下单。

如果原 EA 还需要 LHZH.dll,要确认 MQL4\Libraries 下该文件存在,并且终端设置里允许 DLL 导入。不过重写版的目标就是彻底去掉这个依赖。

风险提示

  • 不要拿占位文件上实盘。它不会开单,但也不会保护你已有的持仓。
  • 反编译代码补全风险高。缺失的函数体决定了下单条件、仓位计算和止损逻辑,靠猜测补全,实盘行为不可控。
  • DLL 授权校验有额外风险。外部 DLL 可以读取账户信息、执行任意代码,来源不明的 DLL 不建议在实盘终端里启用。
  • 写死的魔术号会冲突。原 EA 里 G_in_67 = 220417061 是写死的,如果重写版保留这个值,可能和手工单或其他 EA 的订单互相干扰;重写时应改成参数。
  • 依赖自定义指标时容易静默失败。原逻辑依赖 ZigZag 等自定义指标的缓冲区,指标没加载或缓冲区编号不对时,EA 不会报错,只是永远不开单。重写后要加日志输出,方便排查。

收到完整源码、依赖指标名和日志后,可以重写一个无 DLL、无混淆、参数全部带中文注释的等价 EA:布林带收口 + ZigZag 回调 + 分批加仓 + 移动止损,并尽量保留原有的外部参数名,方便直接替换。

常见问题

这个 EA 挂上为什么不交易
因为它是占位文件,`OnTick()` 是空的,没有任何下单逻辑。这是有意为之,避免给你一份半成品。
原来的 EA 为什么不开单
从现有片段看,常见原因包括 DLL 授权校验未通过、写死的魔术号不匹配、依赖的自定义指标没加载、订单扫描函数因数组未初始化而空转。具体是哪一条,要看完整源码和专家日志才能确定。
能把缺失的函数补出来吗
不能靠猜。缺失的函数体决定了下单条件、仓位和止损,凭猜测补全后在实盘里行为不可控。需要完整 `.mq4` 源码。
重写版会保留原来的参数名吗
目标是这样,方便你直接替换原 EA。但参数的具体含义和默认值,要等看到完整源码和原参数列表后才能确定。
MT4 能用吗
这个文件本身就是 MT4 的 MQL4 源码,可以编译。但重写版是否同时提供 MT5 版本,取决于后续需求,当前代码里没有限制。

MT4 Placeholder EA: Why a Truncated Decompiled EA Cannot Be Patched Blind

This MT4 file is a placeholder that compiles but never trades. It explains why a truncated, obfuscated EA with a DLL license check cannot be repaired by guessing the missing functions, and what to supply (full .mq4 source, dependent indicator name, expert-tab log) to rebuild a clean, DLL-free equivalent EA.

A short source preview is shown above for visitors; full source, copy and compiled EX4 files are available to VIP members.

评论

后可以留言,比如反馈用着怎么样、想加什么功能。

还没有人评论,来抢个沙发。