//============================================================================================= MQL5 === // LibreInfoPDO Function3_5 v1.005 MQL5 // Графика, вывод на чарт и преобразования вывода // Librecoin (c)2014-2017 //====================================================================================================== #property strict //============================================================================================= MQL5 === // INCLUDE - подключаемые модули //------------------------------------------------------------------------------------------------------ //----- Обратные ссылки на основной файл проекта #include "LIP_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(!ObjectFind(0,isTXW)) { ResetLastError(); {if(!ObjectCreate( 0, //Идентификатор чарта - Текущий график isTXW, //Имя графического объекта OBJ_TEXT, //Тип графического объекта ChartWindowFind(0,MQLInfoString(MQL_PROGRAM_NAME)),//Номер подокна //nSubWindow, //Номер подокна gTime[0], //Координата по времени IndHeigh //Координата по цене ) ) { Print("ObjectCreate ",isTXW," Error=",GetLastError()); return; }}//if(!ObjectCreate(... }else{ ObjectSetInteger(0,isTXW,OBJPROP_TIME,gTime[0]); //Координата по времени ObjectSetDouble(0,isTXW,OBJPROP_PRICE,IndHeigh); //Координата по цене }}//if(!ObjectFind(ChartID(),isTXW) 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); //Установим приоритет на получение события нажатия мыши на графике }//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); //Устанавливаем имя для текстового объекта //Создание (пересоздание) объекта, позиция привязки {if(!ObjectFind(0,isTXW)) { ResetLastError(); {if(!ObjectCreate( 0, //Идентификатор чарта - Текущий график isTXW, //Имя графического объекта OBJ_TEXT, //Тип графического объекта ChartWindowFind(0,MQLInfoString(MQL_PROGRAM_NAME)),//Номер подокна //nSubWindow, //Номер подокна gTime[0], //Координата по времени IndHeigh-11.0*(i+1) //Координата по цене ) ) { Print("ObjectCreate ",isTXW," Error=",GetLastError()); continue; }}//if(!ObjectCreate(... }else{ ObjectSetInteger(0,isTXW,OBJPROP_TIME,gTime[0]); //Координата по времени ObjectSetDouble(0,isTXW,OBJPROP_PRICE,IndHeigh-11.0*(i+1));//Координата по цене }}//if(!ObjectFind(ChartID(),isTXW) 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