//============================================================================================= MQL5 === // LibreInfoPDO Definition_5 v1.006 MQL5 // Определения переменных и структур // LibreCoin (c)2014-2018 //====================================================================================================== #property strict //============================================================================================= MQL5 === // INCLUDE - подключаемые модули //------------------------------------------------------------------------------------------------------ //----- Обратные ссылки на основной файл проекта #include "LIP_Ref_5_v1.006.mqh" //============================================================================================= MQL5 === // ENUM //------------------------------------------------------------------------------------------------------ enum enProfitCalcMode { ProfitCalc_currency = 0, //profit level in currency/по уровню прибыли в деньгах ProfitCalc_pips = 1, //profit level in pips/по уровню прибыли в пипсах }; enum enCloseAlgorithmMode { ProfitClose_sl = 0, //fixed level/по фиксированному уровню ProfitClose_trail = 1, //trail/по тралу }; enum enSelSymMode { SelSym_all = 0, //all symbol/без отбора по символу SelSym_curr = 1, //current symbol/отбор по текущему символу графика SelSym_user = 2, //user symbol select/отбор по указанному символу SelSym_but = 3, //user symbol eliminat/отсев по указанному символу SelSym_list = 4, //list select/по списку отбора SelSym_butlist = 5, //list eliminat/по списку отсева SelSym_listbutlist = 6, //list select and eliminat/по спискам отбора и отсева }; enum enSelMagMode { SelMag_all = 0, //all magic/без отбора по магику SelMag_user = 1, //user magic select/отбор по указанному магику SelMag_but = 2, //user magic eliminat/отсев по указанному магику SelMag_list = 3, //list select/по списку отбора SelMag_butlist = 4, //list eliminat/по списку отсева SelMag_listbutlist = 5, //list select and eliminat/по спискам отбора и отсева }; enum enSelTickMode { SelTick_all = 0, //all ticket/без отбора по тикету SelTick_user = 1, //user ticket select/отбор по указанному тикету SelTick_but = 2, //user ticket eliminat/отсев по указанному тикету SelTick_list = 3, //list select/по списку отбора SelTick_butlist = 4, //list eliminat/по списку отсева SelTick_listbutlist = 5, //list select and eliminat/по спискам отбора и отсева }; //============================================================================================= MQL5 === // Global variable definition //------------------------------------------------------------------------------------------------------ string _n = "\n"; //----- Для событий времени и таймера ulong gnTimer = 0; //Глобальный счетчик событий Timer ulong gnTick = 0; //Глобальный счетчик событий NewTick datetime gTime[1] = {0}; //Массив (фактически просто переменная) для значений времени int nFirstBar = 0; //Номер первого бара графика bool gInTimer = false; //Флаг поступления тика из таймера long IndHeigh = 1050; //Верт размер индикатора string TheSymbol = "EURUSD"; //Инструмент текущего графика int nSubWindow = 1; //Номер подокна индикатора //----- Рабочие массивы селекторов string inSelectSym[]; //Массив отбора инструментов ulong inSelectMag[]; //Массив отбора магиков long inSelectTick[]; //Массив отбора тикетов string inEliminatSym[]; //Массив отсева инструментов ulong inEliminatMag[]; //Массив отсева магиков long inEliminatTick[]; //Массив отсева тикетов //----- Информационные строки элементов string DataStringPos = ""; //Строка вывода для позиции string DataStringOrd = ""; //Строка вывода для ордера string DataStringDeal = ""; //Строка вывода для сделки string TypeStringPos = ""; //Строка для типа позиции string TypeStringOrd = ""; //Строка для типа ордера string DealTypeString = ""; //Строка для типа сделки string PositionTypeString = ""; //Строка для типа позиции //----- string IndicatorShortName = vers; string ChartID_Str = ""; string ProgramName = ""; string CommentLine[2]; //Служебные комментарии double kScale = 1.0; //Масштаб графика string sTXW = ""; //Имя для текcтового объекта int nRow = 0; //Счетчик строк вывода int nColo = 0; //Счетчик колонок вывода //----- int Positions_Total = 0; //Текущие позиции int Positions_History_Total=0; //Закрытые позиции int Positions_History_Total_Old=0; //Закрытые позиции int Orders_Total = 0; //Текущие лимитные ордера int Orders_History_Total = 0; //Закрытые рыночные ордера int Deals_History_Total = 0; //Совершенные сделки (выполненные ордера) int Positions_Total_Old = 0; //Текущие позиции int Orders_Total_Old = 0; //Текущие лимитные ордера int Orders_History_Total_Old=0; //Закрытые рыночные ордера int Deals_History_Total_Old=0; //Совершенные сделки (выполненные ордера) int Sel_Positions_Total = 0; //Текущие позиции int Sel_Positions_History_Total=0; //Закрытые позиции int Sel_Orders_Total = 0; //Текущие лимитные ордера int Sel_Orders_History_Total=0; //Закрытые рыночные ордера int Sel_Deals_History_Total=0; //Совершенные сделки (выполненные ордера) int Sel_Positions_Total_Old=0; //Текущие позиции int Sel_Positions_History_Total_Old=0; //Закрытые позиции int Sel_Orders_Total_Old = 0; //Текущие лимитные ордера int Sel_Orders_History_Total_Old=0; //Закрытые рыночные ордера int Sel_Deals_History_Total_Old=0; //Совершенные сделки (выполненные ордера) //----- Данные позиции struct Position_Data //Данные позиции в истории { long ID; //Идентификатор string Symbol; //Инструмент double VolumeOpen; //Объём открытия double VolumeClose; //Объём закрытия long TimeOpenMSC; //Время открытия MSC long TimeCloseMSC; //Время закрытия MSC datetime TimeOpen; //Время открытия datetime TimeClose; //Время закрытия ENUM_DEAL_TYPE Type; //Тип long Magic; //Магик double PriceOpen; //Цена открытия double PriceClose; //Цена закрытия double Profit; //Профит double Swap; //Cвоп double Comission; //Комиссия }; Position_Data Positions[]; //Массив данных позиций //-----