i-BigBarsFromH1_v3

Author: ��� ����� �. aka KimIV
0 Views
0 Downloads
0 Favorites
i-BigBarsFromH1_v3
//+------------------------------------------------------------------+
//|                                              i-BigBarsFromH1.mq4 |
//|                                           Êèì Èãîðü Â. aka KimIV |
//|                                              http://www.kimiv.ru |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Êèì Èãîðü Â. aka KimIV"
#property link      "http://www.kimiv.ru"

#property indicator_chart_window

//------- Âíåøíèå ïàðàìåòðû ------------------------------------------
extern int TFBar       = 6;            // Ïåðèîä ñòàðøèõ ñâå÷åê
extern int offsetHour  = -2;           // Ñìåùåíèå ÷àñîâ
extern int NumberOfBar = 30;           // Êîëè÷åñòâî ñòàðøèõ ñâå÷åê
extern color ColorUp   = Silver;       // Öâåò âîñõîäÿùåé ñâå÷è
extern color ColorDown = RoyalBlue;    // Öâåò íèñõîäÿùåé ñâå÷è
//------- Ãëîáàëüíûå ïåðåìåííûå --------------------------------------

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() 
  {
   int i;

   for(i=0; i<NumberOfBar; i++) 
     {
      ObjectDelete("BodyH"+TFBar+"Bar"+i);
      ObjectDelete("ShadowH"+TFBar+"Bar"+i);
     }
   for(i=0; i<NumberOfBar; i++) 
     {
      ObjectCreate("BodyH"+TFBar+"Bar"+i,OBJ_RECTANGLE,0,0,0,0,0);
      ObjectCreate("ShadowH"+TFBar+"Bar"+i,OBJ_TREND,0,0,0,0,0);
     }
   Comment("");
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
void deinit() 
  {
// Óäàëåíèå îáúåêòîâ
   for(int i=0; i<NumberOfBar; i++) 
     {
      ObjectDelete("BodyH"+TFBar+"Bar"+i);
      ObjectDelete("ShadowH"+TFBar+"Bar"+i);
     }
   Comment("");
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
void start() 
  {
   int shb=0,sh1=1,d;
   double   po, pc;       // Öåíû îòêðûòèÿ è çàêðûòèÿ ñòàðøèõ ñâå÷åê
   double   ph=0, pl=500; // Öåíû õàé è ëîó ñòàðøèõ ñâå÷åê
   datetime to, tc, ts;   // Âðåìÿ îòêðûòèÿ, çàêðûòèÿ è òåíåé ñòàðøèõ ñâå÷åê

   if(Period()!=60) Comment("Èíäèêàòîð i-BigBarsFromH1 ïîääåðæèâàåò ÒÔ òîëüêî Í1!");
   else 
     {
      if(MathMod(TFBar,2)==0) d=TFBar/2; else d=TFBar/2+1;
      pc = Close[0];
      tc = Time[0];
      // Áåæèì ïî ñòàðøèì ñâå÷êàì
      while(shb<NumberOfBar) 
        {
         // Áåæèì ïî ÷àñîâûì ñâå÷êàì
         ph = MathMax(ph, High[sh1-1]);
         pl = MathMin(pl, Low[sh1-1]);
         ts = StrToTime(TimeToStr(Time[sh1-d], TIME_DATE)+" "+TimeHour(Time[sh1-d])+":30");
         if(MathMod(TimeHour(Time[sh1])+1+offsetHour,TFBar)==0/* || TimeDay(Time[sh1])!=TimeDay(Time[sh1-1])*/) 
           {
            po = Open[sh1-1];
            to = Time[sh1-1];
            ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_TIME1,to);
            ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_PRICE1,po);
            ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_TIME2,tc);
            ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_PRICE2,pc);
            ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_STYLE,STYLE_SOLID);
            ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_BACK,True);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_TIME1,ts);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_PRICE1,ph);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_TIME2,ts);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_PRICE2,pl);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_STYLE,STYLE_SOLID);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_WIDTH,3);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_BACK,True);
            ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_RAY,False);
            if(po<pc) 
              {
               ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_COLOR,ColorUp);
               ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_COLOR,ColorUp);
                 } else {
               ObjectSet("BodyH"+TFBar+"Bar"+shb,OBJPROP_COLOR,ColorDown);
               ObjectSet("ShadowH"+TFBar+"Bar"+shb,OBJPROP_COLOR,ColorDown);
              }
            pc = Close[sh1];
            tc = Time[sh1];
            ph = 0;
            pl = 500;
            ph = MathMax(ph, High[sh1]);
            pl = MathMin(pl, Low[sh1]);
            shb++;
           }
         sh1++;
        }
     }
  }
//+------------------------------------------------------------------+

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