cm ind timebox

Author: Copyright 2019, ea@cmillion.ru
0 Views
0 Downloads
0 Favorites
cm ind timebox
ÿþ//+------------------------------------------------------------------+

//|                                               cm ind timebox.mq4 |

//|                                   Copyright 2019, ea@cmillion.ru |

//|                                               http://cmillion.ru |

//+------------------------------------------------------------------+

#property copyright "Copyright 2019, ea@cmillion.ru"

#property link      "http://cmillion.ru"

#property version   "1.00"

#property strict

#property indicator_chart_window

input int T1 = 10;

input int T2 = 16;

input color clrbox=clrAqua;

//+------------------------------------------------------------------+

int OnInit()

  {

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

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[])

  {

   int limit=rates_total-prev_calculated-1;

   if(rates_total<1) return(0);

   for(int i=0; i<limit; i++)

     {

      if(TimeHour(time[i])==T1)

        {

         string name=StringConcatenate("cm rect ",TimeDay(time[i]),":",TimeMonth(time[i]),":",TimeYear(time[i]));

         RectangleCreate(0,name,0,time[i],0,time[i]+(T2-T1)*3600,99999999,clrbox);

         Comment(name);

        }

     }

   return(rates_total);

  }

//+------------------------------------------------------------------+

bool RectangleCreate(const long            chart_ID=0,        // ID 3@0D8:0 

                     const string          name="Rectangle",  // 8<O ?@O<>C3>;L=8:0 

                     const int             sub_window=0,      // =><5@ ?>4>:=0  

                     datetime              time1=0,           // 2@5<O ?5@2>9 B>G:8 

                     double                price1=0,          // F5=0 ?5@2>9 B>G:8 

                     datetime              time2=0,           // 2@5<O 2B>@>9 B>G:8 

                     double                price2=0,          // F5=0 2B>@>9 B>G:8 

                     const color           clr=clrRed,        // F25B ?@O<>C3>;L=8:0 

                     const ENUM_LINE_STYLE style=STYLE_SOLID, // AB8;L ;8=89 ?@O<>C3>;L=8:0 

                     const int             width=1,           // B>;I8=0 ;8=89 ?@O<>C3>;L=8:0 

                     const bool            fill=true,// 70;82:0 ?@O<>C3>;L=8:0 F25B>< 

                     const bool            back=true,          // =0 704=5< ?;0=5 

                     const bool            selection=false,    // 2K45;8BL 4;O ?5@5<5I5=89 

                     const bool            hidden=false,       // A:@KB 2 A?8A:5 >1J5:B>2 

                     const long            z_order=0)         // ?@8>@8B5B =0 =060B85 <KHLN 

  {



   ResetLastError();

   if(ObjectFind(chart_ID,name)!=-1) return(false);

   if(!ObjectCreate(chart_ID,name,OBJ_RECTANGLE,sub_window,time1,price1,time2,price2))

     {

      return(false);

     }

   ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);

   ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);

   ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width);

   ObjectSetInteger(chart_ID,name,OBJPROP_FILL,fill);

   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);

   return(true);

  }

//+------------------------------------------------------------------+ 

void OnDeinit(const int reason)

  {

   ObjectsDeleteAll(0,"cm rect");

  }

//+------------------------------------------------------------------+

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 ---