135 lines
15 KiB
MQL5
135 lines
15 KiB
MQL5
//============================================================================================= MQL5 ===
|
|
// LibreInfoPDO Definition_5 v1.005 MQL5
|
|
// Определения переменных и структур
|
|
// LibreCoin (c)2014-2017
|
|
//======================================================================================================
|
|
#property strict
|
|
//============================================================================================= MQL5 ===
|
|
// INCLUDE - подключаемые модули
|
|
//------------------------------------------------------------------------------------------------------
|
|
//----- Обратные ссылки на основной файл проекта
|
|
#include "LIP_Ref_5_v1.005.mqh"
|
|
//============================================================================================= MQL5 ===
|
|
// ENUM
|
|
//------------------------------------------------------------------------------------------------------
|
|
enum enProfitCalcMode
|
|
{
|
|
ProfitCalc_currency = 0, //по уровню прибыли в деньгах
|
|
ProfitCalc_pips = 1, //по уровню прибыли в пипсах
|
|
};
|
|
enum enCloseAlgorithmMode
|
|
{
|
|
ProfitClose_sl = 0, //по фиксированному уровню
|
|
ProfitClose_trail = 1, //по тралу
|
|
};
|
|
enum enSelSymMode
|
|
{
|
|
SelSym_all = 0, //без отбора по символу
|
|
SelSym_curr = 1, //отбор по текущему символу графика
|
|
SelSym_user = 2, //отбор по указанному символу
|
|
SelSym_but = 3, //отсев по указанному символу
|
|
SelSym_list = 4, //по списку отбора
|
|
SelSym_butlist = 5, //по списку отсева
|
|
SelSym_listbutlist = 6, //по спискам отбора и отсева
|
|
};
|
|
enum enSelMagMode
|
|
{
|
|
SelMag_all = 0, //без отбора по магику
|
|
SelMag_user = 1, //отбор по указанному магику
|
|
SelMag_but = 2, //отсев по указанному магику
|
|
SelMag_list = 3, //по списку отбора
|
|
SelMag_butlist = 4, //по списку отсева
|
|
SelMag_listbutlist = 5, //по спискам отбора и отсева
|
|
};
|
|
enum enSelTickMode
|
|
{
|
|
SelTick_all = 0, //без отбора по тикету
|
|
SelTick_user = 1, //отбор по указанному тикету
|
|
SelTick_but = 2, //отсев по указанному тикету
|
|
SelTick_list = 3, //по списку отбора
|
|
SelTick_butlist = 4, //по списку отсева
|
|
SelTick_listbutlist = 5, //по спискам отбора и отсева
|
|
};
|
|
enum enOpenMethod //Метод формирования сигнала на открытие
|
|
{
|
|
Open_ADXW = 0, //Открытие по ADXW
|
|
};
|
|
enum enCloseProfitMethod //Метод формирования сигнала на закрытие в прибыли
|
|
{
|
|
CloseProfit_ADXW = 0, //Закрытие прибыли по ADXW
|
|
};
|
|
enum enCloseLossMethod //Метод формирования сигнала на закрытие в убытке
|
|
{
|
|
CloseLoss_ADXW = 0, //Закрытие убытка по ADXW
|
|
};
|
|
|
|
//============================================================================================= 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 TypeStringDeal = ""; //Строка для типа сделки
|
|
//-----
|
|
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 Orders_Total = 0; //Текущие лимитные ордера
|
|
int History_Orders_Total = 0; //Закрытые рыночные ордера
|
|
int History_Deals_Total = 0; //Совершенные сделки (выполненные ордера)
|
|
int Positions_Total_Old = 0; //Текущие позиции
|
|
int Orders_Total_Old = 0; //Текущие лимитные ордера
|
|
int History_Orders_Total_Old=0; //Закрытые рыночные ордера
|
|
int History_Deals_Total_Old=0; //Совершенные сделки (выполненные ордера)
|
|
int Sel_Positions_Total = 0; //Текущие позиции
|
|
int Sel_Orders_Total = 0; //Текущие лимитные ордера
|
|
int Sel_History_Orders_Total=0; //Закрытые рыночные ордера
|
|
int Sel_History_Deals_Total=0; //Совершенные сделки (выполненные ордера)
|
|
int Sel_Positions_Total_Old=0; //Текущие позиции
|
|
int Sel_Orders_Total_Old = 0; //Текущие лимитные ордера
|
|
int Sel_History_Orders_Total_Old=0; //Закрытые рыночные ордера
|
|
int Sel_History_Deals_Total_Old=0; //Совершенные сделки (выполненные ордера)
|
|
//----- Открытие - закрытие ордеров и обмен с советником
|
|
ulong BuseInd[7] = {0}; //Флаг занятости канала
|
|
ENUM_POSITION_TYPE PositionType=POSITION_TYPE_BUY;//Тип позиции
|
|
enum enCommandType
|
|
{
|
|
Command_None = 0,
|
|
Command_Open = 1,
|
|
Command_Close = 2,
|
|
Command_CloseLoss=3,
|
|
};
|
|
enCommandType CommandType = Command_None;//Тип команды
|
|
//-----
|
|
int adxw_handle; //хендл индикатора ADXW
|
|
double m_adxw[10]; //значения индикатора ADXW
|
|
//-----
|
|
bool GraphUse=false; //Использование графики (false если тестирование и нет визуализации, или оптимизация)
|
|
//
|