#property copyright "© 2006 RickD"
#property link      "www.fxstrategy.ca"


#property  indicator_chart_window
#property  indicator_buffers 0

extern string __1__ = "";

extern int MaxDays = 200;
extern int FontSize = 10;
extern string FontName = "Verdana";
extern int Offset = 30;

extern string __2__ = "";

extern string Text1 = "monday";
extern string Text2 = "tuesday";
extern string Text3 = "wednesday";
extern string Text4 = "thursday";
extern string Text5 = "friday";

extern string __3__ = "";

extern color Color1 = Yellow;
extern color Color2 = Yellow;
extern color Color3 = Yellow;
extern color Color4 = Yellow;
extern color Color5 = Yellow;

extern string __4__ = "";

extern bool ShowDay1 = true;
extern bool ShowDay2 = true;
extern bool ShowDay3 = true;
extern bool ShowDay4 = true;
extern bool ShowDay5 = true;


string Text[5];
color Color[5];
bool ShowDay[5];

string prefix = "5days_";
//global
double Poin;

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//+------------------------------------------------------------------+
//                                                                   +
//+------------------------------------------------------------------+
void init() {

if (Point == 0.00001) Poin = 0.0001; 
else if (Point == 0.001) Poin = 0.01; 
else Poin = Point; 
  Text[0] = Text1;
  Text[1] = Text2;
  Text[2] = Text3;
  Text[3] = Text4;
  Text[4] = Text5;
  
  Color[0] = Color1;
  Color[1] = Color2;
  Color[2] = Color3;
  Color[3] = Color4;
  Color[4] = Color5;

  ShowDay[0] = ShowDay1;
  ShowDay[1] = ShowDay2;
  ShowDay[2] = ShowDay3;
  ShowDay[3] = ShowDay4;
  ShowDay[4] = ShowDay5;

  clear();
  show();
}
//+------------------------------------------------------------------+
//                                                                   +
//+------------------------------------------------------------------+
void deinit() {
  clear();
}
//+------------------------------------------------------------------+
//                                                                   +
//+------------------------------------------------------------------+
void start() 
{
  show();
   
   
   
   
   
   
}
//+------------------------------------------------------------------+
//                                                                   +
//+------------------------------------------------------------------+
void show() {
  int P = Period();
  if (P > PERIOD_D1) return;
  
  string name = "";
  
  int cnt = MathMin(Bars, PERIOD_D1/P*MaxDays);
  for (int i=0; i < cnt; i++) 
  {
    if (TimeDayOfWeek(Time[i]) != TimeDayOfWeek(Time[i+1]))
    {
      name = prefix + TimeToStr(Time[i]);
      
    
   double priceMin=ChartGetDouble(0,CHART_PRICE_MIN,0);


      int res = ObjectFind(name);
//       if (res == -1) 
//       {      
         int day = TimeDayOfWeek(Time[i]);
         if (!ShowDay[day-1]) continue;
      ObjectDelete(name);
        ObjectCreate(name, OBJ_TEXT, 0, Time[i], priceMin+Offset*Poin);
        ObjectSetText(name, Text[day-1], FontSize, FontName, Color[day-1]); 
//       }
    }
  }
}
//+------------------------------------------------------------------+
//                                                                   +
//+------------------------------------------------------------------+
void clear() {
  int P = Period();
  if (P > PERIOD_D1) return;
  
  string prefix = "5days_";
  string name = "";
  
  int cnt = MathMin(Bars, PERIOD_D1/P*MaxDays);
  for (int i=0; i < cnt; i++) 
  {
    name = prefix + TimeToStr(Time[i]);
    
    int res = ObjectFind(name);
    ObjectDelete(name);
  }
}
//---------------+
