LIP/Arch/RU/LIP_v01.005/Include/LCL_Fun3_5_v1.005.mqh
super.admin 291e846eab convert
2025-05-30 15:03:51 +02:00

158 lines
18 KiB
MQL5

//============================================================================================= MQL5 ===
// LibreCLOP Function3_5 v1.005 MQL5
// Графика, вывод на чарт и преобразования вывода
// Librecoin (c)2014-2017
//======================================================================================================
#property strict
//============================================================================================= MQL5 ===
// INCLUDE - подключаемые модули
//------------------------------------------------------------------------------------------------------
//----- Обратные ссылки на основной файл проекта
#include "LCL_Ref_5_v1.005.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,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); //Установим приоритет на получение события нажатия мыши на графике
}}//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("LIO",Orders_Total); //Колонка ордеров
DeleteColo("LHO",History_Orders_Total); //Колонка истории ордеров
DeleteColo("LHD",History_Deals_Total); //Колонка сделок
}//DeleteGraph()