网络授权使用说明

面向 EA 开发者的网络授权接入指南,从零到上线,全程护航

网络授权概述

网络授权是 EA 授权系统的核心方案。EA 在运行时通过联网与服务端通信完成身份校验,支持远程控制授权状态、实时心跳监测、数据统计与动态参数下发,让您对分发的 EA 拥有完全的掌控力。

相比本地加密,网络授权具有以下优势:

  • 远程控制:随时启用、禁用或吊销任意账号的授权,风险终端即时失效。
  • 实时心跳:EA 运行中定时向服务器上报状态,服务端可实时查看在线情况。
  • 硬件锁定:绑定 MT 账号,防止授权被复制到其他电脑使用。
  • 数据统计:自动汇总余额与净值变化,量化产品表现。
  • 动态参数:运行时向 EA 下发键值参数,无需重新编译即可调整策略。
适用场景:需要远程管控 EA 分发、关注运行数据、或提供付费订阅服务的开发者。

接入流程

从创建产品到用户使用,共 4 个步骤即可完成网络授权接入:

1创建 EA 产品

登录商户后台,在左侧菜单进入 「EA 列表」,点击「新增 EA」创建产品。

  • 名称:便于识别的产品名称,如「动量突破 EA」。
  • 标识符:唯一标识,用于 EA 客户端连接时自动关联产品。建议用英文+数字,如 momentum_ea。
  • 描述:可选的备注信息。

创建后即可在账号授权、统计等流程中按产品筛选与归类。

2添加授权账号

在 「账号列表」中为终端用户添加网络授权:

  1. 点击「新增授权」或页面顶部的新增按钮。
  2. 填写 MT 账号 和 服务器(如 ICMarkets-Demo)。
  3. 选择关联的 EA 产品。
  4. 设置 到期时间,到期后 EA 将无法继续运行。
  5. 在关联的 EA 产品 上按需开启「动态参数下发」(见 EA 列表)。
提示:您也可以使用「免费试用账号」功能快速添加体验用户。到期后可在后台随时延期。

3整合 EA 源码

将授权校验代码注入到您的 EA 源码中。系统提供两种整合方式:

方式一:网页一键整合(推荐)

访问 本地加密页,粘贴您的 .mq4 / .mq5 源码,系统自动注入授权验证代码,复制整合后的源码即可。

方式二:手动接入

在 EA 的 OnInit 函数中添加授权校验逻辑:

// OnInit 中调用授权校验
int OnInit()
{
    // 网络授权初始化
    int auth_result = Auth_Start();
    if (auth_result != AUTH_OK)
    {
        Print("授权校验失败,EA 停止运行");
        return INIT_FAILED;
    }

    // 启动心跳(可选,用于在线状态监控)
    Heartbeat_Start();

    // 获取动态参数(EA 已开启动态参数下发时)
    string params = GetRuntimeParams();

    // … 您的原有 OnInit 逻辑 …

    return INIT_SUCCEEDED;
}

网络授权 EA 在运行中会:

  • 启动时联网校验账号、密码是否有效,到期时间是否未过。
  • 运行时按心跳间隔(如 15 秒)向服务器上报状态。
  • 服务器端禁用/吊销授权后,EA 在下次心跳时即可感知并停止运行。
  • 后台支持动态参数配置,EA 启动时自动拉取。

4编译与分发

在 MetaTrader 自带的 MetaEditor 中打开整合后的源码:

  1. 按 F7 编译生成 .ex4(MT4)或 .ex5(MT5)。
  2. 将生成的可执行文件交付给授权用户。
  3. 用户将 EA 放入 MT4/MT5 的 Experts 目录,附到图表上即可运行。
注意:网络授权需要 EA 运行在联网环境下。请确保用户的 MT4/MT5 设置了「允许 DLL 导入」和「允许 WebRequest」。编译前建议删除调试日志输出,避免暴露内部逻辑。

后台管理功能

登录商户后台后,左侧菜单提供以下管理功能:

仪表盘

仪表盘展示总账号、有效授权、吊销/过期与近 24h 在线等概览,以及各 EA 授权数量、产品盈亏与余额/净值走势图表。

账号管理

集中管理所有网络授权账号,支持以下操作:

  • 搜索与筛选:按 MT 账号、EA 产品、服务器、状态等条件快速定位。
  • 状态管理:将账号设为 active(有效)、disabled(禁用)或 revoked(吊销)。禁用/吊销后 EA 在下次心跳时即停止运行。
  • 动态参数下发:在「EA 列表」中为每个 EA 开启「动态参数下发」开关(仅 SVIP 可启用该开关)。
  • 备注管理:为账号添加备注,便于运营管理。
  • 到期互换:将两个账号的到期时间互换,灵活调整。
  • 导出 CSV:按筛选条件导出账号列表,用于离线分析。

授权延期

在账号列表中勾选一个或多个账号,点击「延期」按钮,可选择以下延期时长:

  • 3 天 / 15 天 — 短期体验或试用延期。
  • 1 个月 / 1 季度 / 1 年 — 正式订阅延期。

延期后系统会自动向在线接收端(RECEIVER)推送最新到期时间,用户无需重启 EA 即可生效。

动态参数

为已开启动态参数下发的 EA,向其下所有 MT 授权账号下发运行时键值。参数键名须先在 「源码集成」中勾选并完成整合同步。商户在 「EA 列表」中点击 「动态参数下发」,仅可编辑各键取值及备注(备注不下发 EA)。

参数通过两种通道同步下发:

  • HTTP 接口:EA 启动时调用 /api/runtime-params 获取。
  • TCP 广播:服务端向在线接收端下发最新参数,接收端实时接收。

典型参数示例:lot_size: 0.01、risk_level: 2、max_spread: 30。

仪表盘

提供近 14 日心跳趋势、各 EA 产品的授权账号分布、以及最近心跳明细。帮助您:

  • 评估 EA 策略在不同行情下的盈利能力。
  • 统计总盈亏与盈利占比。
  • 发现异常亏损账号,及时调整参数或风控。

API 接口说明

网络授权模式下,EA 与服务端通过以下接口通信:

查询到期信息

GET /api/expiry?account=MT账号&server=服务器

返回该账号的授权状态和到期时间。EA 启动时调用此接口完成鉴权。

获取动态参数

GET /api/runtime-params?account=MT账号&server=服务器

满足下发条件时返回 JSON;未开启动态参数下发时返回 403。

TCP 通信

TCP 服务持续监听,支持:

  • SENDER 握手:发送端连接后由服务端校验授权,下发到期时间和动态参数。
  • RECEIVER 广播:服务端向所有在线接收端广播心跳信号和状态变更。
  • 心跳格式:HEARTBEAT|账户|余额|净值|服务器|产品标识

常见问题

EA 启动时提示授权失败怎么办?

请检查:① 该账号是否已在后台添加授权;② 账号状态是否为 active;③ 是否已过到期时间;④ MT4/MT5 是否已开启「允许 WebRequest」。

用户更换电脑后如何处理?

授权按 MT 账号绑定,不受硬件限制。用户只需在新电脑上安装 MT4/MT5,使用同一账号登录即可正常使用。

动态参数修改后 EA 需要重启吗?

不需要。参数修改后,服务端会通过 TCP 广播 PARAMS|{...} 行实时下发,EA 端收到后即可更新运行参数。如果 EA 未连接 TCP,也可以在下一次 HTTP 请求时获取最新参数。

如何查看 EA 是否在线?

在后台「账号列表」中,心跳状态列会显示最近心跳时间。如果超过心跳间隔仍未收到心跳,状态将标记为离线。近 14 日心跳趋势与明细请在「心跳统计」页查看。

试用到期后如何续费?

联系管理员在后台为指定账号执行延期操作。延期后 EA 在下次心跳时即可获取新的到期时间,无需用户手动操作。

如需开通商户或咨询定制方案,请联系管理员。

商户登录 网络授权 套餐价格