DAILY_RANGE_PROJECTIONS

Author: Yuriy Tokman
Price Data Components
Series array that contains the highest prices of each barSeries array that contains the lowest prices of each barSeries array that contains open prices of each barSeries array that contains close prices for each bar
0 Views
0 Downloads
0 Favorites
DAILY_RANGE_PROJECTIONS
//+------------------------------------------------------------------+
//|                                      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