EAPADPRO LIBRARY - Добавление нашей панели в Ваш EA

EAPADPRO LIBRARY – Добавление нашей панели в Ваш EA

The X: 10 шагов для программирования своей стратегии!
Exp4 – Partial Close and Trail Частичное закрытие позиций при откатах
The X: 10 шагов для программирования своей стратегии!
Exp4 – Partial Close and Trail Частичное закрытие позиций при откатах

Описание

Способ программирования информационной панели в любой советник.

Успешность любой программы – это, в первую очередь, интерфейс программы и первое впечатление о программе. 

Мы не можем гарантировать, что информация и интерфейс программы даст Вам прибыль на сделках, но мы точно скажем, что даже самый простой интерфейс программы способен усилить первое впечатление. 

В данной статье мы расскажем Вам, как можно применить нашу информационную панель для советника EAPADPRO

EAPADPRO – Владей информацией!

EapadPRO – это информация, которую получает пользователь любого советника в реальном времени. 

Для того, чтобы создать такую панель нам потребовалось около 2 недель, но чтобы привести интерфейс программы до дружественного дизайна (graphical user interface, GUI), нам потребовалось месяцы кропотливой работы.

Не имея достаточного опыта в разработке подобных панелей, Вы не сможете сделать интерфейс программы пригодным для использования.  

Мы не настаиваем на идеальном GUI нашей панели, но по опыту и отзывам, она имеет ряд полезных блоков, которые дают полную картину происходящего на графике Вашего терминала. 

Мы предлагаем Вам использовать нашу панель в Ваших экспертах. EAPADPRO – Владей информацией!

С чего начать?

Для начала Вы должны ознакомится с полной инструкцией по использованию и управлению нашей панелью. Читать EAPadPRO – Информационная панель для наших экспертов

Наша панель распространяется как БИБЛИОТЕКА (LIBRARY), которую можно использовать и в МТ4 и в МТ5 (кроссплатформенный код)

Вы можете скачать нашу библиотеку в разделе советники для форекс , я поместил в архив библиотеки и примеры использования. 

Все, что Вам нужно: Наша библиотека EAPADPRO LIBRARY и 10 минут времени для установки в Вашего эксперта….

Установка библиотеки

  1. Скопируйте папку MQL5 или MQL4  в папку Вашего терминала \ ;
  2. Данные папки включают все нужные файлы и ресурсы для работы нашей библиотеки;
  3. Откройте Вашего эксперта; 
  4. Откройте наш пример и пошаговое руководство по установке нашего кода, файл Exp – EAPADPRO v16 LIBRARY TEST;
  5. Выполняйте каждый Шаг (Step) так, как написано в рекомендации или используйте нашу пошаговую инструкцию с сайта . 

Персонализация EAPADPRO

Все, что Вы можете изменить в нашей панели описано в данном пункте:

  1. versionea – Версия вашего эксперта, которое отображается на панели;
  2. BMPLOGO – логотип Вашего советника BMP 60×60, которое отображается на панели;
  3. icon – Иконка Вашего эксперта, которая отображается в свойствах эксперта;
  4. defEANAME – имя Вашего советника, которое отображается на панели;
  5. YourName – Ваше имя или ник, который отображается на панели;
  6. copyright – Ваш копирайт, который отображается в свойствах советника;
  7. CreateInputs – Функция вывода на панель ваших внешних переменных. Всего доступно 10 таких параметров. Формат заполнения: “Название”,”Значение”;
  8. CreateStrategy – Функция вывода на панель ваших значений стратегии. Всего доступно 10 таких параметров. Формат заполнения: “Название”,”Значение”;
  9. MagicForEaPadPRO = 0 – Магический номер, за которым будет следить наша панель (Вся информация фильтруется по магическому номеру), при -1 = панель будет брать все позиции с счета по данному символу, при 0 = только ручные;
  10. MagicForEaPadPRO_Open=-1 – Магический номер, который будет присвоен позициям, открытым с нашей панели;
  11. CommentForEaPadPRO=”” – Комментарий, который будет присвоен позициям, открытым с нашей панели; 
  12. TypeFillingForEaPadPRO=0 – Тип заливки ордеров при открытии, только для терминала МТ5;
  13. ShowBuySell=true – Показывать панель торговли в 1 клик (BUY SELL)

Также Вы можете установить внешние переменные:

  1. ShowEaPadPro=true;
  2. FontName=”Roboto”;
  3. Notice_Open_NameSound=”ok”;
  4. Notice_Close_NameSound=”request”;
  5. Notice_Modify_NameSound=”stops”;
  6. Notice_Error_NameSound=”alert2″;

Условия использования

Наша библиотека с информационной панелью EAPADPRO распространяется бесплатно на условиях обратной ссылки на нашу страницу.

Если Вы желаете продавать Вашего эксперта в маркете или в интернете , Вам необходимо добавить следующий текст в описание Вашего продукта:

  1. Информационная графическая панель EAPADPRO разработана командой Expforex
  2. Все права на данную панель EAPADPRO принадлежат Владиславу Expforex.
  3. Автор информационной панели EAPADPRO не несет ответственности за советника или индикатора, которые используют нашу панель. 
  4. Наша панель EAPADPRO разработана исключительно в целях предоставления дополнительной информации о торговле на Вашем счете. 

Программирование EAPADPRO 10 шагов

В нашем примере Вы можете найти шаги (STEP), которые нужно выполнить для того, чтобы панель отображалась в Вашем эксперте!

Шаг 1: 

Скопируйте следующий код в верхнюю часть вашего эксперта и измените те данные, которые доступны для редактирования (Персонализация EAPADPRO) :

// Step 1 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
// Вставляем в начале кода
//+------------------------------------------------------------------+
// Авторские права моей панели! Не изменять!
#define EAPADPRODescription "\n\nEAPADPRO pad by www.expforex.com"
#property strict
#ifdef __MQL5__ 
#define MT "MT5" 
#endif
#ifdef __MQL4__ 
#define ORDER_FILLING_FOK 0 
#define MT "MT4" 
#endif
//===========================
// Данные о Вашей программе |
//===========================
// Уведомление о том, что это демо версия вашей программы (Будет отображаться в панели)
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" 
// Имя эксперта
#define defEANAME "EA NAME"
// Ваше описание продукта 
#property description defEANAME+" for "+MT+" "+EAPADPRODescription 
// Ваш ник или имя, отображается внизу панели 
#define YourName "Your Nick" 
// Ваши авторские права
#property copyright YourName+" Your Copyright" 
// ###########################################################################

Шаг 2: 

Данная замена нужна только для того, чтобы исключить одинаковый вывод в журнал. 

// Step 2 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
// Заменить Print на EAPADPRO_LIBRARY_PrintToLogs
// Например: EAPADPRO_LIBRARY_PrintToLogs("Этот принт будет напечатан в журнале ");
//+------------------------------------------------------------------+
// ###########################################################################

Шаг 3: 

Для того, чтобы опция MODIFY ONLY работала в Вашем эксперте, Вам необходимо добавить следующий код if(MODIFYONLY)return(false); в функцию открытия позиций или ордеров. 

// Step 3 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
// Добавить в начало функции открытия позиций или ордеров 
//+------------------------------------------------------------------+
// if(MODIFYONLY)return(false);
// ###########################################################################

Шаг 4: 

Следующая функция вывода информации об ошибке в виде PUSH уведомления на телефон, почту, и на экран терминала. Все эти уведомления в будущем можно будет отключить в настройках нашей панели. 

// Step 4 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
// Добавить в обработку ошибок для уведомлений раздела NOTICE: 
//+------------------------------------------------------------------+
// EAPADPRO_LIBRARY_Notice_ErrorCheck(информация, информация о работе функции,номер ошибки);
// например:
// EAPADPRO_LIBRARY_Notice_ErrorCheck("СЮДА ЗАПИСЫВАЕМ ИНФОРМАЦИЮ","Line: "+__LINE__+" Function: "+__FUNCTION__+"\n"+__FUNCSIG__,GetLastError());
// например:
// Notice_ErrorCheck("ClosePosition ERROR "+OrderTicket(),"Line: "+__LINE__+" Function: "+__FUNCTION__ ,GetLastError());
// ###########################################################################

Шаг 5: 

Внесите в Вашу функцию OnInit следующий код и обратите внимание на строки с функциями CreateInputs и CreateStrategy

Внимание: Если у Вас нет функции OnInit – то Вам нужно скопировать весь блок моего кода.

// Step 5 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
//| внести код в OnInit |
//+------------------------------------------------------------------+
void OnInit()
 {
 EAPADPRO_LIBRARY_PrintToLogs("Этот принт будет напечатан в журнале ");
// Этот код мы также добавляем в 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 следующий код

Внимание: Если у Вас нет функции OnDeinit – то Вам нужно скопировать весь блок моего кода.

// Step 6 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
//| внести код в 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

Внимание: Если у Вас нет функции OnTick  – то Вам нужно скопировать весь блок моего кода.

// Step 7 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
//| внести код в 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 следующий код или если в вашем коде нет функции OnTrade , тогда скопируйте нижний код без изменений:

Внимание: Если у Вас нет функции OnTrade   – то Вам нужно скопировать весь блок моего кода.

// Step 8 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
//| внести код в 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 следующий код или если в вашем коде нет функции OnChartEvent, тогда скопируйте нижний код без изменений:

Внимание: Если у Вас нет функции OnChartEvent – то Вам нужно скопировать весь блок моего кода.

// Step 9 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
//| внести код в 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: 

Заключительный этап программирования нашей панели в Вашем эксперте, Скопируйте код, который находится ниже целиком в Вашего эксперта:

// Step 10 ####################################################################
// Эта шаг для установки нашей панели в вашего эксперта
// ###########################################################################
//+------------------------------------------------------------------+
// Вставляем в конце кода
//+------------------------------------------------------------------+
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 "Lib - EAPADPRO v33 LIBRARY.ex5"
#endif
#ifdef __MQL4__
#import "Lib - EAPADPRO v33 LIBRARY.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
//+------------------------------------------------------------------+

Результат

Если Вы все сделали правильно, тогда при загрузке Вашего эксперта Вы увидите следующую картинку:

Условия использования

Наша библиотека с информационной панелью EAPADPRO распространяется бесплатна на условиях обратной ссылки на нашу страницу.

Если Вы желаете продавать Вашего эксперта в маркете или в интернете , Вам необходимо добавить следующий текст в описание Вашего продукта:

  1. Информационная графическая панель EAPADPRO разработана командой Expforex
  2. Все права на данную панель EAPADPRO принадлежат Владиславу Expforex.
  3. Автор информационной панели EAPADPRO не несет ответственности за советника или индикатора, которые используют нашу панель. 
  4. Наша панель EAPADPRO разработана исключительно в целях предоставления дополнительной информации о торговле на Вашем счете. 

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


    This website uses cookies to improve your experience. By using this website you agree to our Data Protection Policy.
    Read more