Price Data Components
0
Views
0
Downloads
0
Favorites
i-DRProjections_v[1][1].0.1
//+------------------------------------------------------------------+
//| i-DRProjections.mq4 |
//| Êèì Èãîðü Â. aka KimIV |
//| http://www.kimiv.ru |
//| 27.08.2005 v.0.0 ïî ïðîñüáå $anto$'à |
//| Èíäèêàòîð Daily Range Projections |
//| Ïðîãíîçèðîâàíèå äíåâíûõ äèàïàçîíîâ öåí |
//| Àâòîð èäåè Òîìàñ Äåìàðê |
//| 29.08.2005 v.0.1 Äîðàáîòêà Aleks78 |
//+------------------------------------------------------------------+
#property copyright "Êèì Èãîðü Â. aka KimIV"
#property link "http://www.kimiv.ru"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 LightBlue
#property indicator_color2 LightSalmon
//------- Âíåøíèå ïàðàìåòðû ------------------------------------------
extern int NumberOfDay = 10; // Êîëè÷åñòâî äíåé
extern bool ShowTomorrow = True; // Ïîêàçûâàòü çàâòðà
//------- Áóôåðû èíäèêàòîðà ------------------------------------------
double MaxDay[];
double MinDay[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init() {
if (ShowTomorrow) {
ObjectCreate("LineHi", OBJ_TREND, 0, 0,0, 0,0);
ObjectCreate("LineLo", OBJ_TREND, 0, 0,0, 0,0);
}
SetIndexBuffer(0, MaxDay);
SetIndexStyle (0, DRAW_LINE, STYLE_SOLID, 1);
SetIndexBuffer(1, MinDay);
SetIndexStyle (1, DRAW_LINE, STYLE_SOLID, 1);
Comment("");
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
ObjectDelete("LineHi");
ObjectDelete("LineLo");
Comment("");
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
double po, ph, pl, pc, x;
double MaxDay1, MinDay1, OpenDay1, CloseDay1; //+++
int currDay, i=0, j=0;
if (Period()>240) {
Comment("Èíäèêàòîð i-DRProjections íå ïîääåðæèâàåò ÒÔ áîëåå Í4 !");
return;
}
while (i<=NumberOfDay) {
if (currDay!=TimeDay(Time[j])) {
po = iOpen (NULL, 1440, i+1);
ph = iHigh (NULL, 1440, i+1);
pl = iLow (NULL, 1440, i+1);
pc = iClose(NULL, 1440, i+1);
if (pc<po) x = (ph + pl + pc + pl) / 2;
if (pc>po) x = (ph + pl + pc + ph) / 2;
if (pc==po) x = (ph + pl + pc + pc) / 2;
i++;
}
currDay = TimeDay(Time[j]);
MaxDay[j] = x - pl;
MinDay[j] = x - ph;
j++;
}
//++++++++++++++++++++++++++++++++++++++++++++++++
if (ShowTomorrow) {
MaxDay1 = MarketInfo(Symbol(),MODE_HIGH);
MinDay1 = MarketInfo(Symbol(),MODE_LOW);
OpenDay1 = iOpen (NULL, 1440, 0);
CloseDay1 = Bid;
if (CloseDay1<OpenDay1) x = (MaxDay1 + MinDay1 + CloseDay1 + MinDay1) / 2;
if (CloseDay1>OpenDay1) x = (MaxDay1 + MinDay1 + CloseDay1 + MaxDay1) / 2;
if (CloseDay1==OpenDay1) x = (MaxDay1 + MinDay1 + CloseDay1 + CloseDay1) / 2;
ObjectSet("LineHi",OBJPROP_TIME1, Time[1]);
ObjectSet("LineLo",OBJPROP_TIME1, Time[1]);
ObjectSet("LineHi",OBJPROP_PRICE1, x - MinDay1);
ObjectSet("LineLo",OBJPROP_PRICE1, x - MaxDay1);
ObjectSet("LineHi",OBJPROP_TIME2, CurTime());
ObjectSet("LineLo",OBJPROP_TIME2, CurTime());
ObjectSet("LineHi",OBJPROP_PRICE2, x - MinDay1);
ObjectSet("LineLo",OBJPROP_PRICE2, x - MaxDay1);
ObjectSet("LineHi",OBJPROP_COLOR, indicator_color1);
ObjectSet("LineLo",OBJPROP_COLOR, indicator_color2);
ObjectSet("LineHi",OBJPROP_RAY, True);
ObjectSet("LineLo",OBJPROP_RAY, True);
ObjectSet("LineHi",OBJPROP_STYLE, STYLE_DOT);
ObjectSet("LineLo",OBJPROP_STYLE, STYLE_DOT);
}
//++++++++++++++++++++++++++++++++++++++++++++++++
}
//+------------------------------------------------------------------+
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
---