Lib - EAPADPRO Adding our panel to your Expert Advisor

Lib - EAPADPRO Adding our panel to your Expert Advisor

27 July 2018, 11:26
Vladislav Andruschenko
12
6 056
🖥 EAPADPRO Library for MetaTrader 4 & MetaTrader 5

Professional information panel and graphical interface library for Expert Advisors in MetaTrader.

EAPADPRO helps developers and traders add a modern dashboard, real-time trading information, account data, strategy values, notifications and one-click control elements to their Expert Advisors.


💎 EAPADPRO MT4 Library 💎 EAPADPRO MT5 Library
⬇ Download for MetaTrader 4 ⬇ Download for MetaTrader 5
▶ Watch Video 📘 Full Library Instruction


🏠 Main 🎓 Documentation ⚙ Settings
❓ FAQ ⭐ Reviews 💬 Comments


🎬 Watch How EAPADPRO Works

The video shows how the EAPADPRO information panel can be used as a professional dashboard for Expert Advisors in MetaTrader 4 and MetaTrader 5.


🖥 EAPADPRO Library for Expert Advisors

EAPADPRO Library information panel for Expert Advisors

EAPADPRO is designed to give your Expert Advisor a professional information interface instead of leaving the user with only logs, comments and standard MetaTrader windows.


🚀 What is EAPADPRO?

EAPADPRO is a professional information panel and graphical interface library for MetaTrader Expert Advisors.

It is designed for developers who want to add a modern dashboard to their EA and for traders who want to see real-time information about the current symbol, account, position status, strategy values, Magic number, trading permissions, notifications and useful control buttons directly on the chart.

The interface of any program creates the first impression. Even if the trading algorithm is strong, a weak interface can make the product look unfinished. EAPADPRO helps solve this problem by giving Expert Advisors a clean, structured and informative visual layer.

🖥 Professional EA Dashboard

Show important Expert Advisor, symbol, account and trading data directly on the chart.

🧩 MT4 / MT5 Library

Use one concept for MetaTrader 4 and MetaTrader 5 through library integration.

⚙ Customizable Interface

Add your EA name, version, logo, author name, input values and strategy data.

🔔 Notices and Control

Use notifications, logs, trading status, stop trading mode and modify-only mode.


✨ EAPADPRO Animated Interface

EAPADPRO animated interface for MetaTrader Expert Advisors

The panel gives the user a more complete picture of what is happening on the chart and inside the Expert Advisor.


⭐ Why Developers Use EAPADPRO

  • Improve the first impression of your Expert Advisor with a professional GUI
  • Show important EA information directly on the chart
  • Display input parameters and strategy values in a readable form
  • Filter displayed information by Magic number
  • Show account, symbol and position data in real time
  • Add one-click BUY / SELL controls if needed
  • Use notifications for openings, closings, modifications and errors
  • Support MT4 and MT5 with a similar integration concept
  • Save development time instead of building a full panel from zero
  • Make your EA look more complete for users and clients
⚠ Important: EAPADPRO improves the interface, information display and user experience of an Expert Advisor. It does not guarantee trading profit and does not change the logic of your strategy unless you explicitly connect its control functions to your EA.


🎯 The Main Idea: Give the Trader Information

A trader using an Expert Advisor needs more than a smiley icon and logs. The user wants to know what the robot sees, what it is doing, whether trading is allowed, which Magic number is processed, what the current status is, what values are important and whether any errors appeared.

EAPADPRO is built around this idea: have the information. The panel helps transform a “black box” EA into a more transparent, professional and user-friendly product.

📊 EAPADPRO Information Panel Example

EAPADPRO information panel example on MetaTrader chart

The panel can display important data about the EA, strategy, account, symbol and trading environment.


🧩 What EAPADPRO Can Show

The exact content depends on how you integrate and configure the library, but the general idea is to show useful real-time information for the current Expert Advisor.

Panel Area What it can show
EA information Expert Advisor name, version, author name, logo and custom description.
Inputs block Selected external variables or important user settings.
Strategy block Current strategy values, signal status, mode, filter state or calculated data.
Trading status Trading allowed, stopped, modify-only status, errors and current EA state.
Magic number logic Filter panel information by manual trades, all trades or selected Magic number.
Notifications Open, close, modify and error sound or message notifications.
Optional trading controls BUY / SELL and lot controls if you enable one-click panel elements.


🧠 Why Interface Matters in Expert Advisors

A trading robot is not only an algorithm. It is also a product that a trader must understand and trust.

If the EA has no visual information, the user must search logs, open terminal tabs, check account history and guess what the program is doing. This creates confusion, especially for beginners.

A good interface cannot make a bad strategy profitable, but it can make a good product easier to understand, easier to support and more professional in the eyes of the user.

Without Interface With EAPADPRO
User checks logs manually Important information is visible on the chart
EA looks unfinished EA looks like a complete product
Harder to explain settings Selected inputs and strategy values can be displayed
User does not understand EA state Panel can show status, permissions and control states
Support is harder User can send screenshots with clear panel information


🛠 How EAPADPRO Is Distributed

EAPADPRO is distributed as a library for MetaTrader. The library can be used in Expert Advisors for both MT4 and MT5.

You copy the required MQL4 or MQL5 folder into your terminal directory, open your Expert Advisor, use the sample file and follow the integration steps.

The original documentation describes the process as a step-by-step integration flow. In practice, the main idea is simple: add the library connection, initialize the panel, update it on ticks and events, and pass your EA information to the panel.

Component Purpose
Library file Contains the EAPADPRO panel logic.
Resources Images, icons, fonts and graphical components required by the panel.
Sample Expert Advisor Shows how to connect the panel to your own EA.
Integration steps Show where to add code in OnInit, OnTick, OnDeinit, OnTrade and OnChartEvent.
Personalization settings Allow you to show your EA name, version, logo, author and selected values.


⚙ EAPADPRO Personalization

One of the strongest parts of EAPADPRO is personalization. You can adapt the panel to your Expert Advisor so the user sees your product name, version, author, logo and important strategy values.

Parameter Meaning
versionea Version of your Expert Advisor displayed in the panel.
BMPLOGO Logo of your EA displayed inside the panel.
icon Icon of your Expert Advisor in terminal properties.
defEANAME Name of your Expert Advisor displayed in the panel.
YourName Your name or nickname displayed in the panel.
copyright Your copyright displayed in the Expert Advisor properties.
CreateInputs Shows selected external variables in the panel.
CreateStrategy Shows selected strategy values, calculated information or internal EA data.


🎨 Visual Result After Integration

EAPADPRO panel result after library integration

After successful integration, your EA can display a professional information panel directly on the chart.


📌 Magic Number and Trade Information Logic

EAPADPRO can filter information by Magic number. This is important because many MetaTrader users run several Expert Advisors at the same time or combine manual trades with automated strategies.

Setting Meaning
MagicForEaPadPRO = 0 The panel monitors manual positions.
MagicForEaPadPRO = -1 The panel can take all positions from the account for the current symbol.
MagicForEaPadPRO = custom value The panel monitors positions with the selected Magic number.
MagicForEaPadPRO_Open Magic number assigned to trades opened from the panel.
CommentForEaPadPRO Trade comment assigned to orders opened from the panel.


🔔 Notifications, Logs and Error Information

EAPADPRO can help make Expert Advisor behavior more transparent by using logs, sound notifications and error information.

The library includes functions for printing messages to logs and for sending information about errors. This is useful for developers because errors become easier to notice and support becomes more structured.

Notification Setting Purpose
Notice_Open_NameSound Sound for opening operation.
Notice_Close_NameSound Sound for closing operation.
Notice_Modify_NameSound Sound for modification operation.
Notice_Error_NameSound Sound for error notification.
PrintToLog Allows actions and important information to be printed to logs.


🤖 Telegram and Remote Information

The modern EAPADPRO settings also include Telegram bot-related parameters. This can allow notifications and limited interaction through a Telegram bot, depending on the configured mode and environment.

This is useful when the trader wants to receive information about openings, closings, modifications, errors or screenshots from the terminal.

Telegram Setting Meaning
TG_Token Token of the Telegram bot used for notifications and commands.
TG_ChannelName Channel name or private channel ID for notifications.
TG_UserNameFilter Whitelist of usernames allowed to use the bot.
TG_UseBotTimer Enables interaction with the Telegram bot from phone and terminal.
TG_PRIORITY Defines where the bot should work: home computer, VPS or priority mode.


⚠ Note: Telegram notifications and command processing consume computer resources. Use Telegram bot functionality only when it is really needed and configure it carefully.



🧩 How to Program EAPADPRO in Your Expert Advisor

This section contains the practical programming part that must be added to your Expert Advisor.

The idea is simple: add product information at the top of your code, connect the EAPADPRO library, initialize the panel in OnInit, update it in OnTick, pass trade and chart events to the library, and place the final import/input block at the end of the file.


Programming EAPADPRO in 10 Steps

In the example file you can find the required steps that must be added to your Expert Advisor so that the EAPADPRO panel is displayed correctly.

Step 1: 

Copy the following code to the upper part of your Expert Advisor and change the editable data according to your EAPADPRO personalization settings:

// Step 1 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
// Insert this code at the beginning of the EA file
//+------------------------------------------------------------------+
// Panel copyright. Do not change!
#define EAPADPRODescription ""
#property strict
#ifdef __MQL5__ 
#define MT "MT5" 
#endif
#ifdef __MQL4__ 
#define ORDER_FILLING_FOK 0 
#define MT "MT4" 
#endif
//===========================
// Your program information |
//===========================
// Notification that this is a demo version of your program. It will be displayed in the panel.
bool DEMO=false;
// Version
#define versionea "77.777"
#property version versionea
// BMP LOGO 60x60 
#define BMPLOGO "Images\\EAPADPRO_Images\\YOURLOGO.bmp" 
#resource "\\"+BMPLOGO;
// Icon of your product
#property icon "\\Images\\EAPADPRO_Images\\YOURLOGO.ico" 
// Expert Advisor name
#define defEANAME "EA NAME"
// Your product description 
#property description defEANAME+" for "+MT+" "+EAPADPRODescription 
// Your nickname or name displayed at the bottom of the panel 
#define YourName "Your Nick" 
// Your copyright
#property copyright YourName+" Your Copyright" 
// ###########################################################################

 

Step 2: 

This replacement is needed only if you want to avoid duplicate output in the journal.

// Step 2 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
// Replace Print with EAPADPRO_LIBRARY_PrintToLogs
// Example: EAPADPRO_LIBRARY_PrintToLogs("This print will be written to the journal ");
//+------------------------------------------------------------------+
// ###########################################################################
 

Step 3: 

To make the MODIFY ONLY option work in your Expert Advisor, add the following code  if(MODIFYONLY)return(false); to your position or order opening function.

// Step 3 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
// Add this line to the beginning of your position or order opening function
//+------------------------------------------------------------------+
// if(MODIFYONLY)return(false);
// ###########################################################################

 

Step 4: 

The following function sends error information as a PUSH notification to the phone, to email and to the terminal screen. These notifications can later be disabled in the panel settings.

// Step 4 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
// Add this function to your error handling logic for the NOTICE section:
//+------------------------------------------------------------------+
// EAPADPRO_LIBRARY_Notice_ErrorCheck(information, function technical information, error number);
// example:
// EAPADPRO_LIBRARY_Notice_ErrorCheck("WRITE INFORMATION HERE","Line: "+__LINE__+" Function: "+__FUNCTION__+"\n"+__FUNCSIG__,GetLastError());
// example:
// Notice_ErrorCheck("ClosePosition ERROR "+OrderTicket(),"Line: "+__LINE__+" Function: "+__FUNCTION__ ,GetLastError());
// ###########################################################################

Step 5: 

Add the following code to your OnInit function and pay attention to the CreateInputs and CreateStrategy lines.

// Step 5 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
//| add this code to OnInit |
//+------------------------------------------------------------------+
void OnInit()
 {
 EAPADPRO_LIBRARY_PrintToLogs("This print will be written to the journal ");
// The same code is also added to OnTick:
// Here you can write your external variables in the format: "Name","Value". Up to 10 variables are available.
 CreateInputs("Inputs_TEST1",TimeCurrent(),"Inputs_TEST2","Inputs_TEST2");
// Here you can write your strategy data in the format: "Name","Value". Up to 10 values are available.
 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;
 }

Step 6: 

Add the following code to your OnDeinit function.

// Step 6 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
//| add this code to 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
//============================================================================
 }
// ###########################################################################

 

Step 7: 

Add the following code to your OnTick function and pay attention to the CreateInputs and CreateStrategy lines.

// Step 7 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
//| add this code to OnTick |
//+------------------------------------------------------------------+
void OnTick()
 {
//============================================================================
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
 MODIFYONLY=Get_MODIFYONLY();
 STOPTRADING=Get_STOPTRADING();
 EAPADPRO_LIBRARY_OnTick(ShowEaPadPro);

// Copy the same code from OnInit
// Here you can write your external variables in the format: "Name","Value". Up to 10 variables are available.
 CreateInputs("Inputs_TEST1",TimeCurrent(),"Inputs_TEST2","Inputs_TEST2");
// Here you can write your strategy data in the format: "Name","Value". Up to 10 values are available.
 CreateStrategy("Strategy_TEST1",TimeCurrent(),"Strategy_TEST2","Strategy_TEST2");

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

Step 8: 

Add the following code to your OnTrade function. If your EA does not have an OnTrade function, copy the code below without changes:

// Step 8 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
//| add this code to OnTrade or create it if it does not exist |
//+------------------------------------------------------------------+
void OnTrade()
 {
//============================================================================
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
 EAPADPRO_LIBRARY_OnTrade(ShowEaPadPro);
// EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO EAPADPRO
//============================================================================
 }
// ###########################################################################

Step 9: 

Add the following code to your OnChartEvent function. If your EA does not have an OnChartEvent function, copy the code below without changes:

// Step 9 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
//| add this code to OnChartEvent or create it if it does not exist |
//+------------------------------------------------------------------+
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
//============================================================================
 }
// ###########################################################################

Step 10: 

The final programming step: copy the complete code below into your Expert Advisor.

// Step 10 ####################################################################
// This step is required to install the panel into your Expert Advisor
// ###########################################################################
//+------------------------------------------------------------------+
// Insert this code at the end of the EA file
//+------------------------------------------------------------------+
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
//+------------------------------------------------------------------+

 

⚠ Developer note: The code above is a universal integration template for MT4 and MT5. Before publishing your Expert Advisor, change the EA name, version, logo, author data, Magic number logic, comments and displayed values according to your own product. Always compile and test the result in MetaTrader after integration.


🛠 How to Start Using EAPADPRO

Download the EAPADPRO library for MetaTrader 4 or MetaTrader 5, copy the required files into your terminal folder, open the example Expert Advisor and follow the programming steps above.

⬇ Download EAPADPRO for MT4 ⬇ Download EAPADPRO for MT5
📘 Full Instruction ▶ Watch Video


🏁 Final Thoughts

EAPADPRO helps you add a professional information panel to your Expert Advisor and make your trading product easier to understand, easier to support and visually stronger.

It does not replace your trading logic. It gives your EA a modern interface, real-time status information and a structured way to display important values directly on the chart.

🚀 Add EAPADPRO to your Expert Advisor and give users a clearer, more professional MetaTrader experience.


SEO Tags

EAPADPRO, MetaTrader panel, MQL4 library, MQL5 library, Expert Advisor GUI, MetaTrader dashboard, Forex EA interface, trading robot panel, MT4 Expert Advisor, MT5 Expert Advisor, Expforex