Lib - EAPADPRO 将我们的面板添加到您的 Expert Advisor

Lib - EAPADPRO 将我们的面板添加到您的 Expert Advisor

24 五月 2026, 09:34
Vladislav Andruschenko
0
3
🖥 适用于 MetaTrader 4 & MetaTrader 5 的 EAPADPRO 库

面向 MetaTrader Expert Advisors 的专业信息面板与图形界面库。

EAPADPRO 帮助开发者和交易者为自己的 Expert Advisors 添加现代化 dashboard、实时交易信息、账户数据、策略数值、通知以及一键控制元素。


💎 EAPADPRO MT4 库 💎 EAPADPRO MT5 库
⬇ 下载 MetaTrader 4 版本 ⬇ 下载 MetaTrader 5 版本
▶ 观看视频 📘 完整库说明


🏠 主页 🎓 文档 ⚙ 设置
❓ 常见问题 ⭐ 评价 💬 评论


🎬 观看 EAPADPRO 的实际工作方式

该视频展示了 EAPADPRO 信息面板如何作为 MetaTrader 4 和 MetaTrader 5 中 Expert Advisors 的专业 dashboard 使用。


🖥 面向 Expert Advisors 的 EAPADPRO 库

适用于 MetaTrader Expert Advisors 的 EAPADPRO 库信息面板

EAPADPRO 的设计目标,是为您的 Expert Advisor 提供一个专业的信息界面,而不是让用户只能依赖日志、注释和 MetaTrader 的标准窗口。


🚀 什么是 EAPADPRO?

EAPADPRO 是一个面向 MetaTrader Expert Advisors 的专业信息面板和图形界面库。

它适合希望为自己的 EA 添加现代化 dashboard 的开发者,也适合希望在图表上直接查看当前交易品种、账户、持仓状态、策略数值、Magic number、交易权限、通知和实用控制按钮的交易者。

任何程序的界面都会形成第一印象。即使交易算法很强,如果界面薄弱,产品也可能显得不完整。EAPADPRO 通过为 Expert Advisors 添加清晰、结构化且信息丰富的视觉层,帮助解决这个问题。

🖥 专业 EA Dashboard

直接在图表上显示 Expert Advisor、交易品种、账户和交易相关的重要数据。

🧩 MT4 / MT5 库

通过库集成,为 MetaTrader 4 和 MetaTrader 5 使用同一套理念。

⚙ 可自定义界面

添加您的 EA 名称、版本、logo、作者名称、输入参数和策略数据。

🔔 通知与控制

使用通知、日志、交易状态、停止交易模式和仅修改模式。


✨ EAPADPRO 动态界面

适用于 MetaTrader Expert Advisors 的 EAPADPRO 动态界面

该面板让用户更完整地了解图表上以及 Expert Advisor 内部正在发生的事情。


⭐ 为什么开发者使用 EAPADPRO

  • 通过专业 GUI 改善 您的 Expert Advisor 第一印象
  • 直接在图表上显示重要 EA 信息
  • 以可读形式显示输入参数 和策略数值
  • 按 Magic number 过滤显示信息
  • 实时显示账户、交易品种和持仓数据
  • 如有需要,可添加一键 BUY / SELL 控件
  • 使用通知 提示开仓、平仓、修改和错误
  • 支持 MT4 和 MT5,并使用类似的集成理念
  • 节省开发时间,无需从零开始构建完整面板
  • 让您的 EA 对用户和客户而言更完整
⚠ 重要: EAPADPRO 改善的是 Expert Advisor 的界面、信息显示和用户体验。它不保证交易盈利,也不会改变您的策略逻辑,除非您明确将其控制功能连接到您的 EA。


🎯 核心理念:给交易者信息

使用 Expert Advisor 的交易者需要的不只是一个笑脸图标和日志。用户想知道交易机器人看到了什么、正在做什么、是否允许交易、正在处理哪个 Magic number、当前状态是什么、哪些数值重要以及是否出现了错误。

EAPADPRO 正是围绕这个理念构建的:提供信息。该面板帮助把一个“黑盒” EA 转变为更透明、更专业、更易用的产品。

📊 EAPADPRO 信息面板示例

MetaTrader 图表上的 EAPADPRO 信息面板示例

该面板可以显示关于 EA、策略、账户、交易品种和交易环境的重要数据。


🧩 EAPADPRO 可以显示什么

具体内容取决于您如何集成和配置该库,但整体理念是为当前 Expert Advisor 显示有用的实时信息。

面板区域 可显示内容
EA 信息 Expert Advisor 名称、版本、作者名称、logo 和自定义描述。
Inputs 区块 选定的外部变量或重要用户设置。
Strategy 区块 当前策略数值、信号状态、模式、过滤器状态或计算数据。
交易状态 交易是否允许、是否停止、仅修改状态、错误以及当前 EA 状态。
Magic number 逻辑 按手动交易、所有交易或指定 Magic number 过滤面板信息。
通知 开仓、平仓、修改和错误的声音或消息通知。
可选交易控制 如果启用一键面板元素,则可显示 BUY / SELL 和手数控制。


🧠 为什么界面对 Expert Advisors 很重要

交易机器人不仅是算法。它也是一个交易者必须理解并信任的产品。

如果 EA 没有可视化信息,用户就必须查找日志、打开终端窗口、查看账户历史,并猜测程序正在做什么。这会造成混乱,尤其是对新手而言。

好的界面不能让糟糕的策略盈利,但它可以让优秀的产品更容易理解、更容易支持,并在用户眼中显得更加专业。

没有界面 使用 EAPADPRO
用户需要手动检查日志 重要信息直接显示在图表上
EA 看起来不完整 EA 看起来像完整产品
更难解释设置 可以显示选定 inputs 和策略数值
用户不了解 EA 状态 面板可以显示状态、权限和控制状态
技术支持更困难 用户可以发送包含清晰面板信息的截图


🛠 EAPADPRO 如何分发

EAPADPRO 作为 MetaTrader 库分发。该库可以用于 MT4 和 MT5 的 Expert Advisors。

您需要将所需的 MQL4 或 MQL5 文件夹复制到终端目录,打开您的 Expert Advisor,使用示例文件并按照集成步骤操作。

原始文档将该过程描述为逐步集成流程。实际使用中,核心思路很简单:添加库连接、初始化面板、在 tick 和事件中更新面板,并将您的 EA 信息传递给面板。

组件 用途
库文件 包含 EAPADPRO 面板逻辑。
资源 面板所需的图片、图标、字体和图形组件。
示例 Expert Advisor 展示如何将面板连接到您自己的 EA。
集成步骤 说明应在 OnInit、OnTick、OnDeinit、OnTrade 和 OnChartEvent 中添加代码的位置。
个性化设置 允许您显示 EA 名称、版本、logo、作者和选定数值。


⚙ EAPADPRO 个性化

EAPADPRO 最强大的部分之一是个性化。您可以根据自己的 Expert Advisor 调整面板,让用户看到您的产品名称、版本、作者、logo 和重要策略数值。

参数 含义
versionea 在面板中显示的您的 Expert Advisor 版本。
BMPLOGO 显示在面板中的您的 EA logo。
icon 终端属性中显示的您的 Expert Advisor 图标。
defEANAME 在面板中显示的您的 Expert Advisor 名称。
YourName 显示在面板中的您的姓名或昵称。
copyright 显示在 Expert Advisor 属性中的您的 copyright。
CreateInputs 在面板中显示选定的外部变量。
CreateStrategy 显示选定的策略数值、计算信息或 EA 内部数据。


🎨 集成后的视觉效果

EAPADPRO 库集成后的信息面板效果

成功集成后,您的 EA 可以直接在图表上显示专业的信息面板。


📌 Magic Number 与交易信息逻辑

EAPADPRO 可以按 Magic number 过滤信息。这一点很重要,因为许多 MetaTrader 用户会同时运行多个 Expert Advisors,或者将手动交易与自动策略结合使用。

设置 含义
MagicForEaPadPRO = 0 面板监控手动持仓。
MagicForEaPadPRO = -1 面板可以获取当前交易品种在账户中的所有持仓。
MagicForEaPadPRO = custom value 面板监控指定 Magic number 的持仓。
MagicForEaPadPRO_Open 从面板打开的交易所分配的 Magic number。
CommentForEaPadPRO 从面板打开的订单所分配的交易注释。


🔔 通知、日志和错误信息

EAPADPRO 可以通过日志、声音通知和错误信息,使 Expert Advisor 的行为更加透明。

该库包含将消息输出到日志以及发送错误信息的函数。对开发者来说这很有用,因为错误更容易被发现,技术支持也会更加结构化。

通知设置 用途
Notice_Open_NameSound 开仓操作的声音。
Notice_Close_NameSound 平仓操作的声音。
Notice_Modify_NameSound 修改操作的声音。
Notice_Error_NameSound 错误通知的声音。
PrintToLog 允许将操作和重要信息输出到日志。


🤖 Telegram 与远程信息

现代 EAPADPRO 设置还包含与 Telegram bot 相关的参数。根据配置的模式和运行环境,它可以允许通过 Telegram bot 接收通知并进行有限交互。

当交易者希望从终端接收开仓、平仓、修改、错误或截图信息时,这非常有用。

Telegram 设置 含义
TG_Token 用于通知和命令的 Telegram bot token。
TG_ChannelName 用于通知的频道名称或私有频道 ID。
TG_UserNameFilter 允许使用 bot 的用户名 whitelist。
TG_UseBotTimer 启用从手机和终端与 Telegram bot 交互。
TG_PRIORITY 定义 bot 应在哪里工作:家庭电脑、VPS 或优先模式。


⚠ 注意: Telegram 通知和命令处理会消耗计算机资源。只有在确实需要时才使用 Telegram bot 功能,并请谨慎配置。



🧩 如何在您的 Expert Advisor 中编程集成 EAPADPRO

本节包含需要添加到您的 Expert Advisor 中的实际编程部分。

思路很简单:在代码顶部添加产品信息,连接 EAPADPRO 库,在 OnInit 中初始化面板,在 OnTick 中更新面板,将交易和图表事件传递给库,并将最终的 import/input 代码块放在文件末尾。


用 10 个步骤编程集成 EAPADPRO

在示例文件中,您可以找到需要添加到 Expert Advisor 中的必要步骤,以便正确显示 EAPADPRO 面板。

步骤 1: 

将以下代码复制到您的 Expert Advisor 上方,并根据您的 EAPADPRO 个性化设置修改可编辑数据:

// 步骤 1 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
// 将此代码插入 EA 文件开头
//+------------------------------------------------------------------+
// 面板版权。不要修改!
#define EAPADPRODescription ""
#property strict
#ifdef __MQL5__ 
#define MT "MT5" 
#endif
#ifdef __MQL4__ 
#define ORDER_FILLING_FOK 0 
#define MT "MT4" 
#endif
//===========================
// 您的程序信息 |
//===========================
// 提示这是您程序的 demo 版本。它会显示在面板中。
bool DEMO=false;
// 版本
#define versionea "77.777"
#property version versionea
// BMP LOGO 60x60 
#define BMPLOGO "Images\\EAPADPRO_Images\\YOURLOGO.bmp" 
#resource "\\"+BMPLOGO;
// 您产品的图标
#property icon "\\Images\\EAPADPRO_Images\\YOURLOGO.ico" 
// Expert Advisor 名称
#define defEANAME "EA NAME"
// 您的产品描述 
#property description defEANAME+" for "+MT+" "+EAPADPRODescription 
// 显示在面板底部的您的昵称或姓名 
#define YourName "Your Nick" 
// 您的 copyright
#property copyright YourName+" Your Copyright" 
// ###########################################################################

 

步骤 2: 

只有当您希望避免日志中重复输出时,才需要进行此替换。

// 步骤 2 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
// 将 Print 替换为 EAPADPRO_LIBRARY_PrintToLogs
// 示例: EAPADPRO_LIBRARY_PrintToLogs("This print will be written to the journal ");
//+------------------------------------------------------------------+
// ###########################################################################
 

步骤 3: 

为了让 MODIFY ONLY 选项在您的 Expert Advisor 中工作,请将以下代码  if(MODIFYONLY)return(false); 添加到您的开仓或挂单函数中。

// 步骤 3 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
// 将此行添加到您的开仓或挂单函数开头
//+------------------------------------------------------------------+
// if(MODIFYONLY)return(false);
// ###########################################################################

 

步骤 4: 

以下函数会将错误信息作为 PUSH 通知发送到手机、email 和终端屏幕。之后可以在面板设置中关闭这些通知。

// 步骤 4 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
// 将此函数添加到 NOTICE 部分的错误处理逻辑中:
//+------------------------------------------------------------------+
// EAPADPRO_LIBRARY_Notice_ErrorCheck(信息, 函数技术信息, 错误编号);
// 示例:
// EAPADPRO_LIBRARY_Notice_ErrorCheck("WRITE INFORMATION HERE","Line: "+__LINE__+" Function: "+__FUNCTION__+"\n"+__FUNCSIG__,GetLastError());
// 示例:
// Notice_ErrorCheck("ClosePosition ERROR "+OrderTicket(),"Line: "+__LINE__+" Function: "+__FUNCTION__ ,GetLastError());
// ###########################################################################

步骤 5: 

将以下代码添加到您的 OnInit 函数中,并注意 CreateInputsCreateStrategy 行。

// 步骤 5 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
//| 将此代码添加到 OnInit |
//+------------------------------------------------------------------+
void OnInit()
 {
 EAPADPRO_LIBRARY_PrintToLogs("This print will be written to the journal ");
// 相同代码也需要添加到 OnTick:
// 您可以在这里按 "名称","值" 格式写入外部变量。最多可用 10 个变量。
 CreateInputs("Inputs_TEST1",TimeCurrent(),"Inputs_TEST2","Inputs_TEST2");
// 您可以在这里按 "名称","值" 格式写入策略数据。最多可用 10 个值。
 CreateStrategy("Strategy_TEST1",TimeCurrent(),"Strategy_TEST2","Strategy_TEST2");

//============================================================================
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
 EAPADPRO_LIBRARY_OnInit(ShowEaPadPro,-1,-1,"EAPADPRO",DEMO,defEANAME,0,FontName,Notice_Open_NameSound,Notice_Close_NameSound,Notice_Modify_NameSound,
 Notice_Error_NameSound,BMPLOGO,versionea,YourName,true);
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
//============================================================================

 return;
 }

步骤 6: 

将以下代码添加到您的 OnDeinit 函数中。

// 步骤 6 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
//| 将此代码添加到 OnDeinit |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
 {
//============================================================================
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
 EAPADPRO_LIBRARY_OnDeinit(reason);
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
//============================================================================
 }
// ###########################################################################

 

步骤 7: 

将以下代码添加到您的 OnTick 函数中,并注意 CreateInputsCreateStrategy 行。

// 步骤 7 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
//| 将此代码添加到 OnTick |
//+------------------------------------------------------------------+
void OnTick()
 {
//============================================================================
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
 MODIFYONLY=Get_MODIFYONLY();
 STOPTRADING=Get_STOPTRADING();
 EAPADPRO_LIBRARY_OnTick(ShowEaPadPro);

// 从 OnInit 复制相同代码
// 您可以在这里按 "名称","值" 格式写入外部变量。最多可用 10 个变量。
 CreateInputs("Inputs_TEST1",TimeCurrent(),"Inputs_TEST2","Inputs_TEST2");
// 您可以在这里按 "名称","值" 格式写入策略数据。最多可用 10 个值。
 CreateStrategy("Strategy_TEST1",TimeCurrent(),"Strategy_TEST2","Strategy_TEST2");

// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
//============================================================================
 }

步骤 8: 

将以下代码添加到您的 OnTrade 函数中。如果您的 EA 没有 OnTrade 函数,请直接复制下面的代码,不要修改:

// 步骤 8 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
//| 将此代码添加到 OnTrade;如果不存在,则创建它 |
//+------------------------------------------------------------------+
void OnTrade()
 {
//============================================================================
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
 EAPADPRO_LIBRARY_OnTrade(ShowEaPadPro);
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
//============================================================================
 }
// ###########################################################################

步骤 9: 

将以下代码添加到您的 OnChartEvent 函数中。如果您的 EA 没有 OnChartEvent 函数,请直接复制下面的代码,不要修改:

// 步骤 9 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
//| 将此代码添加到 OnChartEvent;如果不存在,则创建它 |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
 {
//============================================================================
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
 EAPADPRO_LIBRARY_OnChartEvent(id,lparam,dparam,sparam,ShowEaPadPro);
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
//============================================================================
 }
// ###########################################################################

步骤 10: 

最后的编程步骤:将下面的完整代码复制到您的 Expert Advisor 中。

// 步骤 10 ####################################################################
// 此步骤用于将面板安装到您的 Expert Advisor 中
// ###########################################################################
//+------------------------------------------------------------------+
// 将此代码插入 EA 文件末尾
//+------------------------------------------------------------------+
input string EAPadPRO=" =============== EAPadPRO Info ";
input bool ShowEaPadPro=true;
input string FontName="Roboto";
input string Notice_Open_NameSound="ok";
input string Notice_Close_NameSound="request";
input string Notice_Modify_NameSound="stops";
input string Notice_Error_NameSound="alert2";

bool STOPTRADING=false;
bool MODIFYONLY=false;

#ifdef __MQL5__ 
#import "Lib5 EAPadPRO for MT5.ex5"
#endif
#ifdef __MQL4__
#import "Lib4 EAPadPRO for MT4.ex4"
#endif
void EAPADPRO_LIBRARY_OnInit(bool ShowEaPadProexport=true,
 int MagicForEaPadPRO=0,
 int MagicForEaPadPRO_Open=-1,
 string CommentForEaPadPRO="",
 bool DemoForEaPadPRO=false,
 string EaNameForEaPadPRO=defEANAME,
 int TypeFillingForEaPadPRO=0,
 string FontNameForEaPadPRO="",
 string Notice_Open_NameSoundForEaPadPRO="",
 string Notice_Close_NameSoundForEaPadPRO="",
 string Notice_Modify_NameSoundForEaPadPRO="",
 string Notice_Error_NameSoundForEaPadPRO="",
 string BMPLOGOForEaPadPRO=BMPLOGO,
 string versioneaForEaPadPRO=versionea,
 string NICKNAMEForEaPadPRO=YourName,
 bool ShowBuySell=true,
 double StartLotToEapadPRO=0

 );
bool Get_STOPTRADING();
bool Get_MODIFYONLY();

void EAPADPRO_LIBRARY_OnDeinit(const int reason);
void EAPADPRO_LIBRARY_OnTick(bool ShowEaPadProexport=true);
void EAPADPRO_LIBRARY_OnTrade(bool ShowEaPadProexport=true);
void EAPADPRO_LIBRARY_OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam,bool ShowEaPadProexport=true);
void CreateInputs(string inputs_name_1=" ",string inputs_value_1=" ",
 string inputs_name_2=" ",string inputs_value_2=" ",
 string inputs_name_3="",string inputs_value_3="",
 string inputs_name_4="",string inputs_value_4="",
 string inputs_name_5="",string inputs_value_5="",
 string inputs_name_6="",string inputs_value_6="",
 string inputs_name_7="",string inputs_value_7="",
 string inputs_name_8="",string inputs_value_8="",
 string inputs_name_9="",string inputs_value_9="",
 string inputs_name_10="",string inputs_value_10="");
void CreateStrategy(string strategy_name_1=" ",string strategy_value_1=" ",
 string strategy_name_2=" ",string strategy_value_2=" ",
 string strategy_name_3="",string strategy_value_3="",
 string strategy_name_4="",string strategy_value_4="",
 string strategy_name_5="",string strategy_value_5="",
 string strategy_name_6="",string strategy_value_6="",
 string strategy_name_7="",string strategy_value_7="",
 string strategy_name_8="",string strategy_value_8="",
 string strategy_name_9="",string strategy_value_9="",
 string strategy_name_10="",string strategy_value_10="");
void EAPADPRO_LIBRARY_PrintToLogs(string text="");
void EAPADPRO_LIBRARY_Notice_ErrorCheck(string infoabouterror="",string techinfofunction="",int NumberofError=-1);

#import
//+------------------------------------------------------------------+

 

⚠ 开发者说明: 上面的代码是适用于 MT4 和 MT5 的通用集成模板。在发布您的 Expert Advisor 之前,请根据自己的产品修改 EA 名称、版本、logo、作者数据、Magic number 逻辑、注释和显示值。集成后务必在 MetaTrader 中编译并测试结果。


🛠 如何开始使用 EAPADPRO

下载适用于 MetaTrader 4 或 MetaTrader 5 的 EAPADPRO 库,将所需文件复制到终端文件夹,打开示例 Expert Advisor,并按照上面的编程步骤操作。

⬇ 下载 MT4 版 EAPADPRO ⬇ 下载 MT5 版 EAPADPRO
📘 完整说明 ▶ 观看视频
🖥 MQL5 上的 EAPADPRO 博客 🛒 所有 Expforex 产品


🏁 最后总结

EAPADPRO 帮助您为 Expert Advisor 添加专业信息面板,让您的交易产品更容易理解、更容易支持,并在视觉上更强大。

它不会替代您的交易逻辑。它为您的 EA 提供现代化界面、实时状态信息,以及一种在图表上直接结构化显示重要数值的方式。

🚀 将 EAPADPRO 添加到您的 Expert Advisor 中,为用户提供更清晰、更专业的 MetaTrader 使用体验。


SEO Tags

EAPADPRO, MetaTrader 面板, MQL4 库, MQL5 库, Expert Advisor GUI, MetaTrader dashboard, Forex EA 界面, 交易机器人面板, MT4 Expert Advisor, MT5 Expert Advisor, Expforex