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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---