//+------------------------------------------------------------------+ //| 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(co) 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); }