| 🖥 适用于 MetaTrader 4 & MetaTrader 5 的 EAPADPRO 库 面向 MetaTrader Expert Advisors 的专业信息面板与图形界面库。 EAPADPRO 帮助开发者和交易者为自己的 Expert Advisors 添加现代化 dashboard、实时交易信息、账户数据、策略数值、通知以及一键控制元素。 |
[Русский] - [English] - [Español] - [Português] - [Deutsch] - [Français] - [한국어] - [日本語] - [中文] - [Türkçe] - [Italiano]
| 💎 EAPADPRO MT4 库 | 💎 EAPADPRO MT5 库 |
| ⬇ 下载 MetaTrader 4 版本 | ⬇ 下载 MetaTrader 5 版本 |
| ▶ 观看视频 | 📘 完整库说明 |
| 🏠 主页 | 🎓 文档 | ⚙ 设置 |
| ❓ 常见问题 | ⭐ 评价 | 💬 评论 |
🎬 观看 EAPADPRO 的实际工作方式该视频展示了 EAPADPRO 信息面板如何作为 MetaTrader 4 和 MetaTrader 5 中 Expert Advisors 的专业 dashboard 使用。 |
🖥 面向 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 动态界面该面板让用户更完整地了解图表上以及 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 信息面板示例该面板可以显示关于 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 内部数据。 |
🎨 集成后的视觉效果成功集成后,您的 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 函数中,并注意 CreateInputs 和 CreateStrategy 行。
// 步骤 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 函数中,并注意 CreateInputs 和 CreateStrategy 行。
// 步骤 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






