Vertical line Indicator For MT5

Vertical line Indicator For MT5

Table Of Contents:

  1. Vertical line Indicator For MT5
  2. Установка Vertical line Indicator For MT5
  3. Параметры Vertical line Indicator For MT5
  4. Буферы Vertical line Indicator For MT5
  5. Основные части кодекса

Индикатор Vertical line Indicator For MT5 рисует вертикальную линию в определенное время фактического дня. Если день изменится, то будет проведена новая линия для фактического дня. Вы можете использовать эту линию для нескольких целей, таких как предупреждение о предстоящих новостях или любое другое использование, когда вам нужно увидеть определенное время на графике (вспомните выходные).

FREE Vertical line Indicator

Download the FREE Vertical line Indicator for MT5.

To receive my email 100% sure: 
Put my email on your whitelist!

 

Partially Automated Trading Besides Your Day Job

Alerts In Real-Time When Divergences Occur

 

Установка Vertical line Indicator For MT5

После того, как вы загрузили индикатор через форму выше, вам необходимо распаковать zip-файл. Затем вам нужно скопировать файл Vertical_line.mq5 в папку MQL5Indicators вашей установки MT5 . После этого перезапустите MT5, и вы сможете увидеть индикатор в списке индикаторов.

Параметры Vertical line Indicator For MT5

Vertical line Indicator For MT5 имеет параметры 5 для настройки.

input datetime          InpTime  = D 2017.05.22 18:40:00 ;  // Use only Hours and minutes input string            InpName  = "Vertical line";         // Line name input color             InpColor = clrRed;                  // Line color input ENUM_LINE_STYLE   InpStyle = STYLE_DASH;              // Line style input int               InpWidth = 3;                       // Line width 

Буферы Vertical line Indicator For MT5

Vertical line Indicator For MT5 предоставляет буферы 0 .

Основные части кодекса

int OnCalculate(const int rates_total,                 const int prev_calculated,                 const datetime &time[],                 const double &open[],                 const double &high[],                 const double &low[],                 const double &close[],                 const long &tick_volume[],                 const long &volume[],                 const int &spread[])   { //---    MqlDateTime str_to_draw;    TimeToStruct(TimeCurrent(),str_to_draw);     if(prev_date==0) // first start      {       MqlDateTime str_input;       TimeToStruct(InpTime,str_input);       str_to_draw.hour=str_input.hour;       str_to_draw.min=str_input.min;       str_to_draw.sec=0;        prev_date=StructToTime(str_to_draw);       VLineMove(0,InpName,prev_date);        return(rates_total);      }     MqlDateTime str_prev_date;    TimeToStruct(prev_date,str_prev_date);     if(str_to_draw.day==str_prev_date.day) // today the vertical line has already been drawn       return(rates_total);    else      {       MqlDateTime str_input;       TimeToStruct(InpTime,str_input);       str_to_draw.hour=str_input.hour;       str_to_draw.min=str_input.min;       str_to_draw.sec=0;        prev_date=StructToTime(str_to_draw);       VLineMove(0,InpName,prev_date);      } //--- return value of prev_calculated for next call    return(rates_total);   } //+------------------------------------------------------------------+ //| Timer function                                                   | //+------------------------------------------------------------------+ void OnTimer()   { //--- protection against unauthorized deletion    if(ObjectFind(0,InpName) lt 0)      {       prev_date=0;       VLineCreate(0,InpName,0,0.0,InpColor,InpStyle,InpWidth);      }   } //+------------------------------------------------------------------+  //| Create the vertical line                                         |  //+------------------------------------------------------------------+  bool VLineCreate(const long            chart_ID=0,        // chart s ID                   const string          name="VLine",      // line name                   const int             sub_window=0,      // subwindow index                   datetime              time=0,            // line time                   const color           clr=clrRed,        // line color                   const ENUM_LINE_STYLE style=STYLE_SOLID, // line style                   const int             width=1/*,           // line width                   const bool            back=false,        // in the background                   const bool            selection=true,    // highlight to move                   const bool            ray=true,          // line s continuation down                   const bool            hidden=true,       // hidden in the object list                   const long            z_order=0*/) // priority for mouse click    { //--- if the line time is not set, draw it via the last bar     if(!time)       time=TimeCurrent(); //--- reset the error value     ResetLastError(); //--- create a vertical line     if(!ObjectCreate(chart_ID,name,OBJ_VLINE,sub_window,time,0))      {       Print(__FUNCTION__,             ": failed to create a vertical line! Error code = ",GetLastError());       return(false);      } //--- set line color     ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- set line display style     ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); //--- set line width     ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width); //--- successful execution     return(true);   } //+------------------------------------------------------------------+  //| Move the vertical line                                           |  //+------------------------------------------------------------------+  bool VLineMove(const long   chart_ID=0,   // chart s ID                 const string name="VLine", // line name                 datetime     time=0)       // line time    { //--- if line time is not set, move the line to the last bar     if(!time)       time=TimeCurrent(); //--- reset the error value     ResetLastError(); //--- move the vertical line     if(!ObjectMove(chart_ID,name,0,time,0))      {       Print(__FUNCTION__,             ": failed to move the vertical line! Error code = ",GetLastError());       return(false);      } //--- successful execution     return(true);   } //+------------------------------------------------------------------+  //| Delete the vertical line                                         |  //+------------------------------------------------------------------+  bool VLineDelete(const long   chart_ID=0,   // chart s ID                   const string name="VLine") // line name    { //--- reset the error value     ResetLastError(); //--- delete the vertical line     if(!ObjectDelete(chart_ID,name))      {       Print(__FUNCTION__,             ": failed to delete the vertical line! Error code = ",GetLastError());       return(false);      } //--- successful execution     return(true);   } //+------------------------------------------------------------------+ 

 

About Me

I'm Mike Semlitsch the owner of PerfectTrendSystem.com. My trading career started in 2007. Since 2013 I have helped thousands of traders to take their trading to the next level. Many of them are now constantly profitable traders. 

The following performance was achieved by me while trading live in front of hundreds of my clients:

Connect With Me:  

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!

This FREE Indicator Can Transform
Your Trading!

FREE Indicator + Telegram Group


Request the Ultimate Double Top/Bottom Indicator which is used by 10,000+ traders.