做外汇 EA 的人几乎都会遇到同一个问题:程序写得不错,卖出去没几天就被人拷走、转卖,甚至拿去做“破解版”低价甩卖。这篇把 MT4/MT5 的 EA 加密与在线授权讲清楚——怎么加密、能限制什么、客户怎么用、哪些情况会踩坑。
把编译好的 EA 直接发给客户,看似已经看不到源码,但实际风险有三层:
所以真正管用的做法不是“把文件藏起来”,而是让程序离开你的授权服务器就跑不起来。
思路很朴素:把原始 EA 包一层受控的启动壳,程序每次加载时先联网找授权服务器核对“这枚授权码还能不能用、允许几台机器用、参数是多少”,核对通过才把真正的交易逻辑放出来运行。
| 环节 | 发生什么 | 谁来管 |
|---|---|---|
| 加密打包 | 把 EA 文件(EX4/EX5,可带配套 DLL)做成受控程序 | 站方 / 管理员后台 |
| 签发授权码 | 每个客户一枚授权码,可设到期时间、可绑定账号数量 | 管理员后台 |
| 客户使用 | 把授权码填进 EA 参数,程序联网自检 → 通过才开始交易 | 客户端 |
| 远程参数 | 手数、加仓间距等参数由后台下发,你改了客户不用重新编译 | 管理员后台 |
授权码可以设成 7 天、30 天、一年或永久。到期后程序在自检环节就被拒,客户即使把文件留着也没用;想继续用就得找你续期。这是收租式卖法的基础。
可以限定“这枚码只允许 1 个交易账号使用”,也可以放开到 2~3 个账号同时用。超出上限时,新机器会在自检面板上显示明显的提示,你在后台能一眼看到这条申请,再决定放行还是拒绝。
加密后的 EA 有一个重要特性:必须拿到服务器下发的参数才允许运行。手数、止损止盈、加仓规则这些关键参数写在你这边,客户在 MT 里看到的参数面板可以只显示一部分,真正生效的是后台那一份。这样对方改参数、拿别人的参数去跑都无效,也避免“参数抄错导致乱下单”的纠纷。
受控程序离开授权环境就失效,拷到别的窗口、别的机器、别的 MT 终端都用不了——这才是“加密”真正要挡住的事,而不是把文件名改得看不懂。
短暂网络抖动会走宽限逻辑,不会立刻停;但长期联系不到授权服务器,程序会按保护策略停止交易。这样做是为了防止有人靠“断网”绕过授权。
换机器后会变成一条新的待审批记录,你在后台放行即可,授权码和参数都不用重新发。要是你希望“换机器直接可用”,把允许的账号数量调大就行。
可以。部分 EA(例如多空对冲类)需要把配套 DLL 释放到指定目录才能运行,加密时把 EA 和 DLL 一起上传,程序会按原有方式把 DLL 释放出来,加密只是不让它被搬走。
支持。MQL4(.mq4/.ex4)与 MQL5(.mq5/.ex5)分别处理,指标文件同样可以加密。
想省掉自己写 EA 这一环?本站可以直接用中文描述交易逻辑生成 MQL4/MQL5 源码,生成后就能走上面的加密与授权流程。见 《MT4/MT5 EA 编程入门》。