Price Data Components
0
Views
0
Downloads
0
Favorites
20090717_SupportEX_v.3
//+------------------------------------------------------------------+
//| SupportEX.mq4 |
//| Ø.Àëåêñàíäð. |
//| shestovav@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Ø.Àëåêñàíäð.Â"
#property link "shestovav@gmail.com"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
extern int äðîáü = 5;
//---
extern bool Äåíü = true;
extern bool Íåäåëÿ = true;
extern bool Ìåñÿö = true;
//---
extern bool OC = true;
extern bool HL = true;
//---
extern color cMN = Red;
extern color cW1 = Gold;
extern color cD1 = Green;
datetime TimeBegin, TimeEnd;
int d,w,mn;
int tD=0,tW=0,tMN=0;
int D=1,W=1,MN=1;
string D0 = " DO ";
string DC = " DC ";
string DH = " DH ";
string DL = " DL ";
string W0 = " W0 ";
string WC = " WC ";
string WH = " WH ";
string WL = " WL ";
string MN0 = " MN0 ";
string MNC = " MNC ";
string MNH = " MNH ";
string MNL = " MNL ";
int deinit()
{
//----
ObjectsDeleteAll(0, OBJ_TREND);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
if(Äåíü)
{
d++;
TimeBegin = iTime(NULL,PERIOD_D1,tD);
TimeEnd = (TimeBegin + 86400);
double D1_Open =iOpen(NULL,PERIOD_D1,D);
double D1_Close =iClose(NULL,PERIOD_D1,D);
double D1_High =iHigh(NULL,PERIOD_D1,D);
double D1_Low =iLow(NULL,PERIOD_D1,D);
if(OC){
ObjectCreate (D0+d,OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (D0+d,OBJPROP_RAY,false);
ObjectSet (D0+d,OBJPROP_TIME1, TimeBegin);
ObjectSet (D0+d,OBJPROP_PRICE1, D1_Open);
ObjectSet (D0+d,OBJPROP_TIME2, TimeEnd);
ObjectSet (D0+d,OBJPROP_PRICE2, D1_Open);
ObjectSet (D0+d,OBJPROP_COLOR,cD1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (D0+d,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (D0+d,OBJPROP_STYLE,STYLE_SOLID); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(D0+d,D0+DoubleToStr(D1_Open,äðîáü),10);
ObjectCreate (DC+d, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (DC+d,OBJPROP_RAY,false);
ObjectSet (DC+d, OBJPROP_TIME1,TimeBegin);
ObjectSet (DC+d, OBJPROP_PRICE1, D1_Close);
ObjectSet (DC+d, OBJPROP_TIME2, TimeEnd);
ObjectSet (DC+d, OBJPROP_PRICE2, D1_Close);
ObjectSet (DC+d,OBJPROP_COLOR,cD1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (DC+d,OBJPROP_WIDTH,3); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (DC+d,OBJPROP_STYLE,STYLE_SOLID); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(DC+d,DC+DoubleToStr(D1_Close,äðîáü),10);}
if(HL){
ObjectCreate (DH+d, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (DH+d,OBJPROP_RAY,false);
ObjectSet (DH+d, OBJPROP_TIME1, TimeBegin);
ObjectSet (DH+d, OBJPROP_PRICE1, D1_High);
ObjectSet (DH+d, OBJPROP_TIME2, TimeEnd);
ObjectSet (DH+d, OBJPROP_PRICE2, D1_High);
ObjectSet (DH+d,OBJPROP_COLOR,cD1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (DH+d,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (DH+d,OBJPROP_STYLE,STYLE_DOT); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(DH+d,DH+DoubleToStr(D1_High,äðîáü),10);
ObjectCreate (DL+d, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (DL+d,OBJPROP_RAY,false);
ObjectSet (DL+d, OBJPROP_TIME1,TimeBegin);
ObjectSet (DL+d, OBJPROP_PRICE1, D1_Low);
ObjectSet (DL+d, OBJPROP_TIME2, TimeEnd);
ObjectSet (DL+d, OBJPROP_PRICE2, D1_Low);
ObjectSet (DL+d,OBJPROP_COLOR,cD1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (DL+d,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (DL+d,OBJPROP_STYLE,STYLE_DOT); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(DL+d,DL+DoubleToStr(D1_Low,äðîáü),10);}
tD++;
D++;
}
if(Íåäåëÿ)
{
w++;
TimeBegin = iTime(NULL,PERIOD_W1,tW);
TimeEnd = (TimeBegin + 518400);
double W1_Open =iOpen(NULL,PERIOD_W1,W);
double W1_Close =iClose(NULL,PERIOD_W1,W);
double W1_High =iHigh(NULL,PERIOD_W1,W);
double W1_Low =iLow(NULL,PERIOD_W1,W);
if(OC){
ObjectCreate (W0+w, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (W0+w,OBJPROP_RAY,false);
ObjectSet (W0+w, OBJPROP_TIME1, TimeBegin);
ObjectSet (W0+w, OBJPROP_PRICE1, W1_Open);
ObjectSet (W0+w, OBJPROP_TIME2, TimeEnd);
ObjectSet (W0+w, OBJPROP_PRICE2, W1_Open);
ObjectSet (W0+w,OBJPROP_COLOR,cW1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (W0+w,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (W0+w,OBJPROP_STYLE,STYLE_SOLID); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(W0+w," "+W0+DoubleToStr(W1_Open,äðîáü),10);
ObjectCreate (WC+w, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (WC+w,OBJPROP_RAY,false);
ObjectSet (WC+w, OBJPROP_TIME1, TimeBegin);
ObjectSet (WC+w, OBJPROP_PRICE1, W1_Close);
ObjectSet (WC+w, OBJPROP_TIME2, TimeEnd);
ObjectSet (WC+w, OBJPROP_PRICE2, W1_Close);
ObjectSet (WC+w,OBJPROP_COLOR,cW1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (WC+w,OBJPROP_WIDTH,3); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (WC+w,OBJPROP_STYLE,STYLE_SOLID); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(WC+w," "+WC+DoubleToStr(W1_Close,äðîáü),20);}
if(HL){
ObjectCreate (WH+w, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (WH+w,OBJPROP_RAY,false);
ObjectSet (WH+w, OBJPROP_TIME1, TimeBegin);
ObjectSet (WH+w, OBJPROP_PRICE1, W1_High);
ObjectSet (WH+w, OBJPROP_TIME2, TimeEnd);
ObjectSet (WH+w, OBJPROP_PRICE2, W1_High);
ObjectSet (WH+w,OBJPROP_COLOR,cW1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (WH+w,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (WH+w,OBJPROP_STYLE,STYLE_DOT); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(WH+w," "+WH+DoubleToStr(W1_High,äðîáü),10);
ObjectCreate (WL+w, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (WL+w,OBJPROP_RAY,false);
ObjectSet (WL+w, OBJPROP_TIME1,TimeBegin);
ObjectSet (WL+w, OBJPROP_PRICE1, W1_Low);
ObjectSet (WL+w, OBJPROP_TIME2, TimeEnd);
ObjectSet (WL+w, OBJPROP_PRICE2, W1_Low);
ObjectSet (WL+w,OBJPROP_COLOR,cW1); // èçìåíÿåì öâåò ëèíèè
ObjectSet (WL+w,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (WL+w,OBJPROP_STYLE,STYLE_DOT); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(WL+w," "+WL+DoubleToStr(W1_Low,äðîáü),10);}
tW++;
W++;
}
if(Ìåñÿö)
{
mn++;
TimeBegin = iTime(NULL,PERIOD_MN1,tMN);
TimeEnd = (TimeBegin + 86400*30);
double MN_Open =iOpen(NULL,PERIOD_MN1,MN);
double MN_Close =iClose(NULL,PERIOD_MN1,MN);
double MN_High =iHigh(NULL,PERIOD_MN1,MN);
double MN_Low =iLow(NULL,PERIOD_MN1,MN);
if(OC){
ObjectCreate (MN0+mn, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (MN0+mn,OBJPROP_RAY,false);
ObjectSet (MN0+mn, OBJPROP_TIME1, TimeBegin);
ObjectSet (MN0+mn, OBJPROP_PRICE1, MN_Open);
ObjectSet (MN0+mn, OBJPROP_TIME2, TimeEnd);
ObjectSet (MN0+mn, OBJPROP_PRICE2, MN_Open);
ObjectSet (MN0+mn,OBJPROP_COLOR,cMN); // èçìåíÿåì öâåò ëèíèè
ObjectSet (MN0+mn,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (MN0+mn,OBJPROP_STYLE,STYLE_SOLID); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(MN0+mn," "+MN0+DoubleToStr(MN_Open,äðîáü),10);
ObjectCreate (MNC+mn, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (MNC+mn,OBJPROP_RAY,false);
ObjectSet (MNC+mn, OBJPROP_TIME1, TimeBegin);
ObjectSet (MNC+mn, OBJPROP_PRICE1, MN_Close);
ObjectSet (MNC+mn, OBJPROP_TIME2, TimeEnd);
ObjectSet (MNC+mn, OBJPROP_PRICE2, MN_Close);
ObjectSet (MNC+mn,OBJPROP_COLOR,cMN); // èçìåíÿåì öâåò ëèíèè
ObjectSet (MNC+mn,OBJPROP_WIDTH,3); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (MNC+mn,OBJPROP_STYLE,STYLE_SOLID); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(MNC+mn," "+MNC+DoubleToStr(MN_Close,äðîáü),10);}
if(HL){
ObjectCreate (MNH+mn, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (MNH+mn,OBJPROP_RAY,false);
ObjectSet (MNH+mn, OBJPROP_TIME1, TimeBegin);
ObjectSet (MNH+mn, OBJPROP_PRICE1, MN_High);
ObjectSet (MNH+mn, OBJPROP_TIME2, TimeEnd);
ObjectSet (MNH+mn, OBJPROP_PRICE2, MN_High);
ObjectSet (MNH+mn,OBJPROP_COLOR,cMN); // èçìåíÿåì öâåò ëèíèè
ObjectSet (MNH+mn,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (MNH+mn,OBJPROP_STYLE,STYLE_DOT); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(MNH+mn," "+MNH+DoubleToStr(MN_High,äðîáü),10);
ObjectCreate (MNL+mn, OBJ_TREND, 0, 0,0, 0,0,0,0);
ObjectSet (MNL+mn,OBJPROP_RAY,false);
ObjectSet (MNL+mn, OBJPROP_TIME1, TimeBegin);
ObjectSet (MNL+mn, OBJPROP_PRICE1, MN_Low);
ObjectSet (MNL+mn, OBJPROP_TIME2, TimeEnd);
ObjectSet (MNL+mn, OBJPROP_PRICE2, MN_Low);
ObjectSet (MNL+mn,OBJPROP_COLOR,cMN); // èçìåíÿåì öâåò ëèíèè
ObjectSet (MNL+mn,OBJPROP_WIDTH,1); // òåïåðü ëèíèÿ áóäåò òîëùèíîé â 3 ïèêñåëÿ
ObjectSet (MNL+mn,OBJPROP_STYLE,STYLE_DOT); // òåïåðü íèæíÿÿ ëèíèÿ áóäåò ïóíêòèðíîé
ObjectSetText(MNL+mn," "+MNL+DoubleToStr(MN_Low,äðîáü),10);}
tMN++;
MN++;
}
}
return;
}
//+------------------------------------------------------------------+
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
---