LIP/EN/LIP_v01.006/Include/LIP_Fun3_5_v1.006.mqh
super.admin 291e846eab convert
2025-05-30 15:03:51 +02:00

159 lines
19 KiB
MQL5

//============================================================================================= MQL5 ===
// LibreInfoPDO Function3_5 v1.006 MQL5
// Графика, вывод на чарт и преобразования вывода
// Librecoin (c)2014-2018
//======================================================================================================
#property strict
//============================================================================================= MQL5 ===
// INCLUDE - подключаемые модули
//------------------------------------------------------------------------------------------------------
//----- Обратные ссылки на основной файл проекта
#include "LIP_Ref_5_v1.006.mqh"
//============================================================================================= MQL5 ===
// FUNCTIONS
//------------------------------------------------------------------------------------------------------
//
//============================================================================================= MQL5 ===
// CreateColoLabel() - Создание колонтитула (заголовка колонки)
// Вход:
// iGName - имя граф объекта
// iShift - сдвиг по горизонтали
// iColoText - текст метки колонки
//------------------------------------------------------------------------------------------------------
void CreateColoLabel(string iGName,
int iShift,
string iColoText)
{
string isTXW=iGName+"_C";
CopyTime(TheSymbol,PERIOD_CURRENT,(nFirstBar-(int)((iShift+ColoShift+120)*kScale)),1,gTime);
{if(ObjectCreate(
0, //Идентификатор чарта - Текущий график
isTXW, //Имя графического объекта
OBJ_TEXT, //Тип графического объекта
nSubWindow, //Номер подокна
gTime[0], //Координата по времени
IndHeigh //Координата по цене
)
)
{
ObjectSetString(0,isTXW,OBJPROP_TEXT,iColoText); //Выводимый текст
ObjectSetString(0,isTXW,OBJPROP_FONT,"Arial"); //Установим шрифт текста
ObjectSetInteger(0,isTXW,OBJPROP_FONTSIZE,8); //Установим размер шрифта
ObjectSetDouble(0,isTXW,OBJPROP_ANGLE,0.0); //Установим угол наклона текста
ObjectSetInteger(0,isTXW,OBJPROP_ANCHOR,ANCHOR_LEFT_UPPER);//Установим способ привязки
ObjectSetInteger(0,isTXW,OBJPROP_COLOR,clrAqua); //Установим цвет
ObjectSetInteger(0,isTXW,OBJPROP_BACK,false); //Отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,isTXW,OBJPROP_SELECTABLE,false); //Включим (true) или отключим (false) режим перемещения объекта мышью
ObjectSetInteger(0,isTXW,OBJPROP_SELECTED,false); //Отключим выбранность
ObjectSetInteger(0,isTXW,OBJPROP_HIDDEN,false); //Скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,isTXW,OBJPROP_ZORDER,0); //Установим приоритет на получение события нажатия мыши на графике
}}//if(ObjectCreate(...
}//CreateColoLabel()
//
//============================================================================================= MQL5 ===
// CreateColo() - Создание колонки
// Вход:
// iGName - имя граф объекта
// iShift - сдвиг по горизонтали
// nTotal - количество объектов
//------------------------------------------------------------------------------------------------------
void CreateColo( string iGName,
int iShift,
int nTotal)
{
string isTXW="";
CopyTime(TheSymbol,PERIOD_CURRENT,(nFirstBar-(int)((iShift+ColoShift)*kScale)),1,gTime);
{for(int i=0;i<=nTotal-1;i++)
{
isTXW=iGName+"_"+IntegerToString(i); //Устанавливаем имя для текстового объекта
//Создание (пересоздание) объекта, позиция привязки
ResetLastError();
{if(!ObjectCreate(
0, //Идентификатор чарта - Текущий график
isTXW, //Имя графического объекта
OBJ_TEXT, //Тип графического объекта
nSubWindow, //Номер подокна
gTime[0], //Координата по времени
IndHeigh-11.0*(i+1) //Координата по цене
)
)
{
Print("ObjectCreate0 Error=",GetLastError());
continue;
}}//if(!ObjectCreate(...
ObjectSetString(0,isTXW,OBJPROP_TEXT," "); //Выводимый текст
ObjectSetString(0,isTXW,OBJPROP_FONT,"Arial"); //Установим шрифт текста
ObjectSetInteger(0,isTXW,OBJPROP_FONTSIZE,7); //Установим размер шрифта
ObjectSetDouble(0,isTXW,OBJPROP_ANGLE,0.0); //Установим угол наклона текста
ObjectSetInteger(0,isTXW,OBJPROP_ANCHOR,ANCHOR_LEFT_UPPER);//Установим способ привязки
ObjectSetInteger(0,isTXW,OBJPROP_COLOR,clrAqua); //Установим цвет
ObjectSetInteger(0,isTXW,OBJPROP_BACK,false); //Отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(0,isTXW,OBJPROP_SELECTABLE,false); //Включим (true) или отключим (false) режим перемещения объекта мышью
ObjectSetInteger(0,isTXW,OBJPROP_SELECTED,false); //Отключим выбранность
ObjectSetInteger(0,isTXW,OBJPROP_HIDDEN,false); //Скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,isTXW,OBJPROP_ZORDER,0); //Установим приоритет на получение события нажатия мыши на графике
}}//for(int i=0;i<nOrderList;i++)
}//CreateColo()
//
//============================================================================================= MQL5 ===
// MoveColoLabel() - Перемещение заголовка колонки
// Вход:
// iGName - имя граф объекта
// iShift - сдвиг по горизонтали
// iColoText - текст метки колонки
//------------------------------------------------------------------------------------------------------
void MoveColoLabel( string iGName,
int iShift,
string iColoText)
{
string isTXW=iGName+"_C";
CopyTime(TheSymbol,PERIOD_CURRENT,(nFirstBar-(int)((iShift+ColoShift+120)*kScale)),1,gTime);
{if(ObjectSetInteger(
0, //Идентификатор чарта - Текущий график
isTXW, //Имя графического объекта
OBJPROP_TIME, //Изменяем координату времени объекта
gTime[0] //Координата по времени
))
{
{if(ObjectSetDouble(
0, //Идентификатор чарта
isTXW, //Имя объекта
OBJPROP_PRICE, //Изменяем координату цены объекта
IndHeigh //Координата по цене
))
{
ObjectSetString(0,isTXW,OBJPROP_TEXT,iColoText);
}}//if(ObjectSetDouble(...
}}//if(ObjectSetInteger(...
}//MoveColoLabel()
//
//============================================================================================= MQL5 ===
// DeleteColo() - Удаление колонки
// Вход:
// iGName - имя граф объекта
// nTotal - количество объектов
//------------------------------------------------------------------------------------------------------
void DeleteColo( string iGName,
int nTotal)
{
{for(int i=0;i<=nTotal-1;i++)
{
ObjectDelete(0,iGName+"_"+IntegerToString(i)); //Устанавливаем имя графического объекта и удаляем объект
}}//for(int i=0;i<=nOrderList-1;i++)
}//DeleteColo()
//
//============================================================================================= MQL5 ===
// DeleteGraph() - Удаление колонки
//------------------------------------------------------------------------------------------------------
void DeleteGraph()
{
ObjectDelete(0,"LIP_C"); //Position
ObjectDelete(0,"LIO_C"); //Order
ObjectDelete(0,"LHO_C"); //History order
ObjectDelete(0,"LHD_C"); //History deal
DeleteColo("LIP",Positions_Total); //Колонка позиций
DeleteColo("LHP",Positions_History_Total); //Колонка истории позиций
DeleteColo("LIO",Orders_Total); //Колонка ордеров
DeleteColo("LHO",Orders_History_Total); //Колонка истории ордеров
DeleteColo("LHD",Deals_History_Total); //Колонка сделок
}//DeleteGraph()