Author: Copyright 2014, cmillion@narod.ru
Price Data Components
Series array that contains open time of each barSeries array that contains open prices of each barSeries array that contains close prices for each bar
0 Views
0 Downloads
0 Favorites
gap_info
//+------------------------------------------------------------------+
//|                                                     gap info.mq4 |
//|                                Copyright 2014, cmillion@narod.ru |
//|                                               http://cmillion.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, cmillion@narod.ru"
#property link      "http://cmillion.ru"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
void OnStart()
{
   RectLabelCreate(0,"0",0,50,50,1100,570,clrAliceBlue,clrWhite,STYLE_SOLID,3,false,false,false,0);
   string txt[9] = {"EURUSD","USDJPY","EURGBP","GBPUSD","EURCHF","GBPJPY","USDCHF","AUDUSD","EURAUD"};
   for (int j=0; j<9; j++)
   {    
      LabelCreate(0,StringConcatenate("symbol ",j),0 ,100+j*120,80,CORNER_LEFT_UPPER,txt[j],"Arial",10,clrBlack,0,ANCHOR_CENTER,false,false,true,0);
      for (int i=0; i<25; i++)
      {    
         LabelCreate(0,StringConcatenate("time ",i,j),0 ,100+j*120,100+i*20,CORNER_LEFT_UPPER,TimeToStr(iTime(txt[j],1440,i),TIME_DATE),"Arial",10,clrBlack,0,ANCHOR_CENTER,false,false,true,0);
         LabelCreate(0,StringConcatenate("gep  ",i,j),0 ,150+j*120,100+i*20,CORNER_LEFT_UPPER,DoubleToStr((iClose(txt[j],1440,i+1)-iOpen(txt[j],1440,i))/MarketInfo(txt[j],MODE_POINT),0),"Arial",10,clrBlack,0,ANCHOR_CENTER,false,false,true,0);
      }
   }
}
//+------------------------------------------------------------------+
bool RectLabelCreate(const long             chart_ID=0,               // ID ãðàôèêà
                     const string           name="RectLabel",         // èìÿ ìåòêè
                     const int              sub_window=0,             // íîìåð ïîäîêíà
                     const long              x=0,                     // êîîðäèíàòà ïî îñè X
                     const long              y=0,                     // êîîðäèíàòà ïî îñè y
                     const int              width=50,                 // øèðèíà
                     const int              height=18,                // âûñîòà
                     const color            back_clr=clrNONE,         // öâåò ôîíà
                     const color            clr=clrNONE,              //öâåò ïëîñêîé ãðàíèöû (Flat)
                     const ENUM_LINE_STYLE  style=STYLE_SOLID,        // ñòèëü ïëîñêîé ãðàíèöû
                     const int              line_width=1,             // òîëùèíà ïëîñêîé ãðàíèöû
                     const bool             back=false,               // íà çàäíåì ïëàíå
                     const bool             selection=false,          // âûäåëèòü äëÿ ïåðåìåùåíèé
                     const bool             hidden=true,              // ñêðûò â ñïèñêå îáúåêòîâ
                     const long             z_order=0)                // ïðèîðèòåò íà íàæàòèå ìûøüþ
  {
   ResetLastError();
   if (ObjectFind(chart_ID,name)==-1)
   {
      ObjectCreate(chart_ID,name,OBJ_RECTANGLE_LABEL,sub_window,0,0);
      ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,BORDER_FLAT);
      ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,CORNER_LEFT_UPPER);
      ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
      ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,line_width);
      ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
      ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
   }
   ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
   ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
   ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
   ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
   ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
   return(true);
}
//--------------------------------------------------------------------
bool LabelCreate(const long              chart_ID=0,               // ID ãðàôèêà
                 const string            name="Label",             // èìÿ ìåòêè
                 const int               sub_window=0,             // íîìåð ïîäîêíà
                 const long              x=0,                      // êîîðäèíàòà ïî îñè X
                 const long              y=0,                      // êîîðäèíàòà ïî îñè y
                 const ENUM_BASE_CORNER  corner=CORNER_LEFT_UPPER, // óãîë ãðàôèêà äëÿ ïðèâÿçêè
                 const string            text="Label",             // òåêñò
                 const string            font="Arial",             // øðèôò
                 const int               font_size=10,             // ðàçìåð øðèôòà
                 const color             clr=clrNONE,      
                 const double            angle=0.0,                // íàêëîí òåêñòà
                 const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // ñïîñîá ïðèâÿçêè
                 const bool              back=false,               // íà çàäíåì ïëàíå
                 const bool              selection=false,          // âûäåëèòü äëÿ ïåðåìåùåíèé
                 const bool              hidden=true,              // ñêðûò â ñïèñêå îáúåêòîâ
                 const long              z_order=0)                // ïðèîðèòåò íà íàæàòèå ìûøüþ
{
   ResetLastError();
   if (ObjectFind(chart_ID,name)==-1)
   {
      if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))
      {
         Print(__FUNCTION__,": íå óäàëîñü ñîçäàòü òåêñòîâóþ ìåòêó! Êîä îøèáêè = ",GetLastError());
         return(false);
      }
      ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
      ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
      ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
      ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
      ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
      ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
      ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
   }
   ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
   ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
   ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
   return(true);
  }
//--------------------------------------------------------------------

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---