159 lines
19 KiB
MQL5
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()
|