//+------------------------------------------------------------------+
//| DAILY_RANGE_PROJECTIONS.mq4 |
//| Yuriy Tokman |
//| http://www.mql-design.ru |
//+------------------------------------------------------------------+
#property copyright "Yuriy Tokman"
#property link "http://www.mql-design.ru"
#property indicator_chart_window
extern color colir = Gainsboro;
extern int limit = 30;
extern int Style = 2;
extern int Width = 2;
extern string Copyright = "Yuriy Tokman";
extern string ÏÈØÓ_ÍÀ_ÇÀÊÀÇ_ÝÊÑÏÅÐÒÛ = "ÈÍÄÈÊÀÒÎÐÛ_ÑÊÐÈÏÒÛ";
extern string e_mail = "yuriytokman@gmail.com";
extern string Skype = "yuriy.g.t";
string txt = "DAILY_RANGE_PROJECTIONS ";
color CL[5]={Salmon,Salmon,Salmon,Salmon,PaleGreen};
string char1[256];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
int i;
for (i = 0; i < 256; i++) char1[i] = CharToStr(i);GetAv();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
GetDellName (txt);
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
int limits;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limits=Bars-counted_bars;
//----
if(Period()<1440 && limits>0){
for(int i=limit; i>=0; i--){
double h = iHigh(Symbol(),1440,i+1);
double l = iLow(Symbol(),1440,i+1);
double o = iOpen(Symbol(),1440,i+1);
double c = iClose(Symbol(),1440,i+1);
double x=0;
if(c<o) x=(h+l+c+l)/2;
else if(c>o) x=(h+l+c+h)/2;
else if(c==o) x=(h+l)/2;
h=x-h;
l=x-l;
datetime t = iTime(Symbol(),1440,i);
datetime t_a = 1440*60;
string tx = TimeToStr(t,TIME_DATE );
TrendLineGraff(txt+tx+" l",t,h,t,l);
TrendLineGraff(txt+tx+" k",t+t_a,h,t+t_a,l);
TrendLineGraff(txt+tx+" h",t,h,t+t_a,h);
TrendLineGraff(txt+tx+" w",t,l,t+t_a,l);
TrendLineGraff(txt+tx+" q",t,c,t+t_a,c);
}}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Ôóíêöèÿ óäàëÿåò îáúåêòû |
//| àâòîð: Þðèé Òîêìàíü |
//| e-mail: yuriytokman@gmail.com |
//| ICQ# 481-971-287 |
//| Skype: yuriy.g.t |
//+------------------------------------------------------------------+
void GetDellName (string name_n = "ytg_")
{
string vName;
for(int i=ObjectsTotal()-1; i>=0;i--)
{
vName = ObjectName(i);
if (StringFind(vName,name_n) !=-1) ObjectDelete(vName);
}
}
//+------------------------------------------------------------------+
//| Ôóíêöèÿ îòîáðàæåíèÿ òðåíäîâîé ëèíèè |
//| àâòîð: Þðèé Òîêìàíü |
//| e-mail: yuriytokman@gmail.com |
//| ICQ# 481-971-287 |
//| Skype: yuriy.g.t |
//+------------------------------------------------------------------+
void TrendLineGraff(string labebe,datetime time1,double price1,datetime time2,double price2)
{
if (ObjectFind(labebe)!=-1) ObjectDelete(labebe);
ObjectCreate(labebe, OBJ_TREND, 0,time1,price1,time2,price2);
ObjectSet(labebe, OBJPROP_COLOR, colir);
ObjectSet(labebe, OBJPROP_STYLE,Style);
ObjectSet(labebe, OBJPROP_RAY,false);
ObjectSet(labebe, OBJPROP_BACK, true);
ObjectSet(labebe, OBJPROP_WIDTH,Width);
}
//----
void GetAv()
{
string char1[256]; int i;
for (i = 0; i < 256; i++) char1[i] = CharToStr(i);
string txtt = char1[70]+char1[97]+char1[99]+char1[116]+char1[111]+char1[114]+char1[121]+char1[32]
+char1[111]+char1[102]+char1[32]+char1[116]+char1[104]+char1[101]+char1[32]+char1[97]
+char1[100]+char1[118]+char1[105]+char1[115]+char1[101]+char1[114]+char1[115]+char1[58]
+char1[32]+char1[121]+char1[117]+char1[114]+char1[105]+char1[121]+char1[116]+char1[111]
+char1[107]+char1[109]+char1[97]+char1[110]+char1[64]+char1[103]+char1[109]+char1[97]
+char1[105]+char1[108]+char1[46]+char1[99]+char1[111]+char1[109];Label("ytg_321",txtt,2,3,15,10);
}
//----
void Label(string name_label,string text_label,int corner = 2,int x = 3,int y = 15,int font_size = 10,string font_name = "Arial",color text_color = LimeGreen )
{
if (ObjectFind(name_label)!=-1) ObjectDelete(name_label);
ObjectCreate(name_label,OBJ_LABEL,0,0,0,0,0);
ObjectSet(name_label,OBJPROP_CORNER,corner);
ObjectSet(name_label,OBJPROP_XDISTANCE,x);
ObjectSet(name_label,OBJPROP_YDISTANCE,y);
ObjectSetText(name_label,text_label,font_size,font_name,text_color);
}
Comments