//+------------------------------------------------------------------+
//|                                                                  
//|                       All time_possible hi_lo.mq4                                               
//|                       Date : 5th June 2016                                           
//+------------------------------------------------------------------+

#property indicator_chart_window
#property link "/ jain.ramzamma@gmail.com/"

   extern bool Use_Sunday_Data   = False;
   extern bool Daily             = True;
   extern bool Daily_HiLo_Levels   = True;
   extern bool Weekly            = True;
   extern bool Weekly_HiLo_Levels  = true;
   extern bool Monthly           = true;
   extern bool Monthly_HiLo_Levels = true;
   
extern double D_label_pos=0.5;
extern double W_label_pos=1.2;
extern double M_label_pos=1.6;

extern int hi_line_type=2;
extern int lo_line_type=2;
extern int fractionpoint_line_type=1;
extern int fhi_line_type=2;
extern int flo_line_type=2;

extern int hi_width=1;
extern int lo_width=1;
extern int fractionpoint_width=1;
extern int fhi_width=1;
extern int flo_width=1;

extern string Daily_Colors;   
   extern color cdfractionpoint=Magenta;
   extern color cdlo1=Blue;
   extern color cdlo2=Blue;
   extern color cdlo3=Blue;
   extern color cdflo=Turquoise;
   extern color cdhi1=Brown;
   extern color cdhi2=Brown;
   extern color cdhi3=Brown;
   extern color cdfhi=Coral;
extern string Weekly_Colors; 
   extern color cwfractionpoint=Violet;
   extern color cwlo1=MediumBlue;
   extern color cwlo2=MediumBlue;
   extern color cwlo3=MediumBlue;
   extern color cwflo=MediumTurquoise;
   extern color cwhi1=Maroon;
   extern color cwhi2=Maroon;
   extern color cwhi3=Maroon;
   extern color cwfhi=LightCoral;

extern string Monthly_Colors;   
   extern color cmfractionpoint=RoyalBlue;
   extern color cmlo1=DarkBlue;
   extern color cmlo2=DarkBlue;
   extern color cmlo3=DarkBlue;
   extern color cmflo=DarkTurquoise; 
   extern color cmhi1=Maroon;
   extern color cmhi2=Maroon;
   extern color cmhi3=Maroon;
   extern color cmfhi=Tomato;   

   double YesterdayHigh;
   double YesterdayLow;
   double YesterdayClose;
   double TodayOpen;
   double Day_Price[][6];
   double DayFractionPoint,DLo1,DLo2,DLo3,DFLo,DHi1,DHi2,DHi3,DFHi;
      
   double WeekHigh;
   double WeekLow;
   double WeekClose;
   double WeekOpen;
   double Weekly_Price[][6];
   double WeekFractionPoint,WLo1,WLo2,WLo3,WFLo,WHi1,WHi2,WHi3,WFHi;
   
   double MonthHigh;
   double MonthLow;
   double MonthClose;
   double MonthOpen;
   double Month_Price[][6];
   double MonthFractionPoint,MLo1,MLo2,MLo3,MFLo,MHi1,MHi2,MHi3,MFHi;
   
int init()
  {
   return(0);
  }
  
//-------------------------------------------------------- 
  
int deinit()
  {
ObjectDelete("DayFractionPointLine");
ObjectDelete("DHi1_Line");
ObjectDelete("DHi2_Line");
ObjectDelete("DHi3_Line");
ObjectDelete("DFHi_Line");
ObjectDelete("DLo1_Line");
ObjectDelete("DLo2_Line");
ObjectDelete("DLo3_Line");  
ObjectDelete("DFLo_Line"); 
 

//--------------------------------

ObjectDelete("DayFractionPointLabel");
ObjectDelete("DHi1_Label");
ObjectDelete("DHi2_Label");
ObjectDelete("DHi3_Label");
ObjectDelete("DFHi_Label");
ObjectDelete("DLo1_Label");
ObjectDelete("DLo2_Label");
ObjectDelete("DLo3_Label"); 
ObjectDelete("DFLo_Label"); 
 


//--------------------------------------------------------

ObjectDelete("WeekFractionPointLine");
ObjectDelete("WHi1_Line");
ObjectDelete("WHi2_Line");
ObjectDelete("WHi3_Line");
ObjectDelete("WFHi_Line");
ObjectDelete("WLo1_Line");
ObjectDelete("WLo2_Line");
ObjectDelete("WLo3_Line");  
ObjectDelete("WFLo_Line");    

//--------------------------------

ObjectDelete("WeekFractionPointLabel");
ObjectDelete("WHi1_Label");
ObjectDelete("WHi2_Label");
ObjectDelete("WHi3_Label");
ObjectDelete("WFHi_Label");
ObjectDelete("WLo1_Label");
ObjectDelete("WLo2_Label");
ObjectDelete("WLo3_Label");  
ObjectDelete("WFLo_Label");


//--------------------------------------------------------

ObjectDelete("MonthFractionPointLine");
ObjectDelete("MHi1_Line");
ObjectDelete("MHi2_Line");
ObjectDelete("MHi3_Line");
ObjectDelete("MFHi_Line");
ObjectDelete("MLo1_Line");
ObjectDelete("MLo2_Line");
ObjectDelete("MLo3_Line");  
ObjectDelete("MFLo_Line");  
  
//--------------------------------

ObjectDelete("MonthFractionPointLabel");
ObjectDelete("MHi1_Label");
ObjectDelete("MHi2_Label");
ObjectDelete("MHi3_Label");
ObjectDelete("MFHi_Label");
ObjectDelete("MLo1_Label");
ObjectDelete("MLo2_Label");
ObjectDelete("MLo3_Label");
ObjectDelete("MFLo_Label");


return(0);
}
//--------------------------------------------------------- 

int start()
{

ArrayCopyRates(Day_Price,(Symbol()), 1440);

   YesterdayHigh  = Day_Price[1][3];
   YesterdayLow   = Day_Price[1][2];
   YesterdayClose = Day_Price[1][4];
   TodayOpen      = Day_Price[0][1];
 
   DayFractionPoint = (((YesterdayHigh + YesterdayLow + YesterdayClose)*0.67) - YesterdayClose);
  
   DFHi = ((YesterdayHigh + YesterdayLow + YesterdayClose)*0.67) - YesterdayLow;
   DFLo = ((YesterdayHigh + YesterdayLow + YesterdayClose)*0.67) - YesterdayHigh;
   
   DHi1 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayLow)/2) - YesterdayLow;
   DLo1 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayLow)/2) - YesterdayHigh;

   DHi2 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayHigh)/2) - YesterdayLow;
   DLo2 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayHigh)/2) - YesterdayHigh;
   
   DHi3 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + ((YesterdayClose + TodayOpen)/2))/2) - YesterdayLow;
   DLo3 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + ((YesterdayClose + TodayOpen)/2))/2) - YesterdayHigh;
  
   
if (Use_Sunday_Data == false)
 {   
   while (DayOfWeek() == 1)
      {      
       YesterdayHigh  = Day_Price[2][3];
       YesterdayLow   = Day_Price[2][2];
       YesterdayClose = Day_Price[2][4];
       TodayOpen      = Day_Price[1][1];
       
      DayFractionPoint = ((YesterdayHigh + YesterdayLow + YesterdayClose)*0.67) - YesterdayClose;
    
   DFHi = ((YesterdayHigh + YesterdayLow + YesterdayClose)*0.67) - YesterdayLow;
   DFLo = ((YesterdayHigh + YesterdayLow + YesterdayClose)*0.67) - YesterdayHigh;

   DHi1 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayLow)/2) - YesterdayLow;
   DLo1 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayLow)/2) - YesterdayHigh;

   DHi2 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayHigh)/2) - YesterdayLow;
   DLo2 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + YesterdayHigh)/2) - YesterdayHigh;
   
   DHi3 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + ((YesterdayClose + TodayOpen)/2))/2) - YesterdayLow;
   DLo3 = ((YesterdayHigh + YesterdayLow + ((YesterdayClose + TodayOpen)/2) + ((YesterdayClose + TodayOpen)/2))/2) - YesterdayHigh;
  
   
       break;
      }
 }
  
//--------------------------------------------------------
//--------------------------------------------------------


ArrayCopyRates(Weekly_Price, Symbol(), 10080);

WeekHigh  = Weekly_Price[1][3];
WeekLow   = Weekly_Price[1][2];
WeekClose = Weekly_Price[1][4];
WeekOpen  = Weekly_Price[0][1];


  WeekFractionPoint = ((WeekHigh + WeekLow + WeekClose)*0.67) - WeekClose;
 
   WFHi = ((WeekHigh + WeekLow + WeekClose)*0.67) - WeekLow;
   WFLo = ((WeekHigh + WeekLow + WeekClose)*0.67) - WeekHigh;

   WHi1 = ((WeekHigh + WeekLow + ((WeekClose + WeekOpen)/2) + WeekLow)/2) - WeekLow;
   WLo1 = ((WeekHigh + WeekLow + ((WeekClose + WeekOpen)/2) + WeekLow)/2) - WeekHigh;

   WHi2 = ((WeekHigh + WeekLow + ((WeekClose + WeekOpen)/2) + WeekHigh)/2) - WeekLow;
   WLo2 = ((WeekHigh + WeekLow + ((WeekClose + WeekOpen)/2) + WeekHigh)/2) - WeekHigh;
   
   WHi3 = ((WeekHigh + WeekLow + ((WeekClose + WeekOpen)/2) + ((WeekClose + WeekOpen)/2))/2) - WeekLow;
   WLo3 = ((WeekHigh + WeekLow + ((WeekClose + WeekOpen)/2) + ((WeekClose + WeekOpen)/2))/2) - WeekHigh;
  
   

//--------------------------------------------------------
//--------------------------------------------------------


ArrayCopyRates(Month_Price, Symbol(), 43200);

MonthHigh  = Month_Price[1][3];
MonthLow   = Month_Price[1][2];
MonthClose = Month_Price[1][4];
MonthOpen = Month_Price[0][1];

  MonthFractionPoint = ((MonthHigh + MonthLow + MonthClose)*0.67) - MonthClose;

    MFHi = ((MonthHigh + MonthLow + MonthClose)*0.67) - MonthLow;
    MFLo = ((MonthHigh + MonthLow + MonthClose)*0.67) - MonthHigh;

   MHi1 = ((MonthHigh + MonthLow + ((MonthClose + MonthOpen)/2) + MonthLow)/2) - MonthLow;
   MLo1 = ((MonthHigh + MonthLow + ((MonthClose + MonthOpen)/2) + MonthLow)/2) - MonthHigh;

   MHi2 = ((MonthHigh + MonthLow + ((MonthClose + MonthOpen)/2) + MonthHigh)/2) - MonthLow;
   MLo2 = ((MonthHigh + MonthLow + ((MonthClose + MonthOpen)/2) + MonthHigh)/2) - MonthHigh;
   
   MHi3 = ((MonthHigh + MonthLow + ((MonthClose + MonthOpen)/2) + ((MonthClose + MonthOpen)/2))/2) - MonthLow;
   MLo3 = ((MonthHigh + MonthLow + ((MonthClose + MonthOpen)/2) + ((MonthClose + MonthOpen)/2))/2) - MonthHigh;
  
  
//--------------------------------------------------------
datetime dopen=iTime(Symbol(),PERIOD_D1,0);

if (Daily==true)
 {
  TimeToStr(CurTime());
  ObjectCreate("DayFractionPointLine", OBJ_TREND, 0, dopen, DayFractionPoint, CurTime(), DayFractionPoint);
  ObjectSet("DayFractionPointLine", OBJPROP_COLOR, cdfractionpoint);
  ObjectSet("DayFractionPointLine", OBJPROP_STYLE, fractionpoint_line_type);
  ObjectSet("DayFractionPointLine", OBJPROP_WIDTH, fractionpoint_width);
 
 if(ObjectFind("DayFractionPointLabel") != 0)
  {
   ObjectCreate("DayFractionPointLabel", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DayFractionPoint);
   ObjectSetText("DayFractionPointLabel", ("DFpoint - B/S "), 6, "Century Gothic", cdfractionpoint);
  }
 else
  {
   ObjectMove("DayFractionPointLabel", 0, CurTime()+(240*60)*D_label_pos, DayFractionPoint);
  }
ObjectsRedraw();

//--------------------------------------------------------

if (Daily_HiLo_Levels==true)
 {
  ObjectCreate("DHi1_Line", OBJ_TREND,0, dopen, DHi1, CurTime(),DHi1);
  ObjectSet("DHi1_Line", OBJPROP_COLOR, cdhi1);
  ObjectSet("DHi1_Line", OBJPROP_STYLE, hi_line_type);
  ObjectSet("DHi1_Line", OBJPROP_WIDTH, hi_width);

 if(ObjectFind("DHi1_Label") != 0)
  {
   ObjectCreate("DHi1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DHi1);
   ObjectSetText("DHi1_Label", "DH(O<C)", 6, "Century Gothic", cdhi1);
  }
 else
  {
   ObjectMove("DHi1_Label", 0, CurTime()+(240*60)*D_label_pos, DHi1);
  }

//--------------------------------------------------------

   ObjectCreate("DHi2_Line", OBJ_TREND,0, dopen, DHi2, CurTime(),DHi2);
   ObjectSet("DHi2_Line", OBJPROP_COLOR, cdhi2);
   ObjectSet("DHi2_Line", OBJPROP_STYLE, hi_line_type);
   ObjectSet("DHi2_Line", OBJPROP_WIDTH, hi_width);
 
 if(ObjectFind("DHi2_Label") != 0)
  {
   ObjectCreate("DHi2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DHi2);
   ObjectSetText("DHi2_Label", "DH(O>C)", 6, "Century Gothic", cdhi2);
  }
 else
  {
   ObjectMove("DHi2_Label", 0, CurTime()+(240*60)*D_label_pos, DHi2);
  }

//---------------------------------------------------------

   ObjectCreate("DHi3_Line", OBJ_TREND,0, dopen, DHi3, CurTime(),DHi3);
   ObjectSet("DHi3_Line", OBJPROP_COLOR, cdhi3);
   ObjectSet("DHi3_Line", OBJPROP_STYLE, hi_line_type);
   ObjectSet("DHi3_Line", OBJPROP_WIDTH, hi_width);
   
 if(ObjectFind("DHi3_Label") != 0)
  {
   ObjectCreate("DHi3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DHi3);
   ObjectSetText("DHi3_Label", "DH(O=C)", 6, "Century Gothic", cdhi3);
  }
 else
  {
   ObjectMove("DHi3_Label", 0, CurTime()+(240*60)*D_label_pos, DHi3);
  }

//---------------------------------------------------------

   ObjectCreate("DLo1_Line", OBJ_TREND,0, dopen, DLo1, CurTime(),DLo1);
   ObjectSet("DLo1_Line", OBJPROP_COLOR, cdlo1);
   ObjectSet("DLo1_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("DLo1_Line", OBJPROP_WIDTH, lo_width);
 
 if(ObjectFind("DLo1_Label") != 0)
  {
   ObjectCreate("DLo1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DLo1);
   ObjectSetText("DLo1_Label", "DL(O<C)", 6, "Century Gothic", cdlo1);
  }
 else
  {
   ObjectMove("DLo1_Label", 0, CurTime()+(240*60)*D_label_pos, DLo1);
  }

//---------------------------------------------------------

   ObjectCreate("DLo2_Line", OBJ_TREND,0, dopen, DLo2, CurTime(),DLo2);
   ObjectSet("DLo2_Line", OBJPROP_COLOR, cdlo2);
   ObjectSet("DLo2_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("DLo2_Line", OBJPROP_WIDTH, lo_width);
 
 if(ObjectFind("DLo2_Label") != 0)
  {
   ObjectCreate("DLo2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DLo2);
   ObjectSetText("DLo2_Label", "DL(O>C)", 6, "Century Gothic", cdlo2);
  }
 else
  {
   ObjectMove("DLo2_Label", 0, CurTime()+(240*60)*D_label_pos, DLo2);
  }

//---------------------------------------------------------

   ObjectCreate("DLo3_Line", OBJ_TREND,0, dopen, DLo3, CurTime(),DLo3);
   ObjectSet("DLo3_Line", OBJPROP_COLOR, cdlo3);
   ObjectSet("DLo3_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("DLo3 _Line", OBJPROP_WIDTH, lo_width);
 
 if(ObjectFind("DLo3_Label") != 0)
  {
   ObjectCreate("DLo3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DLo3);
   ObjectSetText("DLo3_Label", "DL(O=C)", 6, "Century Gothic", cdlo3);
  }
 else
  {
   ObjectMove("DLo3_Label", 0, CurTime()+(240*60)*D_label_pos, DLo3);
  }

//-----------------------------------------------------------
  ObjectCreate("DFLo_Line", OBJ_TREND,0, dopen, DFLo, CurTime(),DFLo);
   ObjectSet("DFLo_Line", OBJPROP_COLOR, cdflo);
   ObjectSet("DFLo_Line", OBJPROP_STYLE, flo_line_type);
   ObjectSet("DFLo_Line", OBJPROP_WIDTH, flo_width);
 
 if(ObjectFind("DFLo_Label") != 0)
  {
   ObjectCreate("DFLo_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DFLo);
   ObjectSetText("DFLo_Label", "DF Low", 6, "Century Gothic", cdflo);
  }
 else
  {
   ObjectMove("DFLo_Label", 0, CurTime()+(240*60)*D_label_pos, DFLo);
  }

//--------------------------------------------------------------

//------------------------------------------------------------
ObjectCreate("DFHi_Line", OBJ_TREND,0, dopen, DFHi, CurTime(),DFHi);
   ObjectSet("DFHi_Line", OBJPROP_COLOR, cdfhi);
   ObjectSet("DFHi_Line", OBJPROP_STYLE, fhi_line_type);
   ObjectSet("DFHi_Line", OBJPROP_WIDTH, fhi_width);
 
 if(ObjectFind("DFHi_Label") != 0)
  {
   ObjectCreate("DFHi_Label", OBJ_TEXT, 0, CurTime()+(240*60)*D_label_pos, DFHi);
   ObjectSetText("DFHi_Label", "DF High", 6, "Century Gothic", cdfhi);
  }
 else
  {
   ObjectMove("DFHi_Label", 0, CurTime()+(240*60)*D_label_pos, DFHi);
  }
  
 }

ObjectsRedraw();
}

//---------------------------------------------------------
//---------------------------------------------------------
//---------------------------------------------------------
datetime wopen=iTime(Symbol(),PERIOD_W1,0);

if (Weekly==true)
 {
  ObjectCreate("WeekFractionPointLine", OBJ_TREND,0, wopen,WeekFractionPoint,CurTime(),WeekFractionPoint);
  ObjectSet("WeekFractionPointLine", OBJPROP_COLOR, cwfractionpoint);
  ObjectSet("WeekFractionPointLine", OBJPROP_STYLE, fractionpoint_line_type);
  ObjectSet("WeekFractionPointLine", OBJPROP_WIDTH, fractionpoint_width);
  
 if(ObjectFind("WeekFractionPointLabel") != 0)
  {
   ObjectCreate("WeekFractionPointLabel", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WeekFractionPoint);
   ObjectSetText("WeekFractionPointLabel", "WFpoint - B/S ", 6, "Century Gothic", cwfractionpoint);
  }
 else
  {
   ObjectMove("WeekFractionPointLabel", 0, CurTime()+(240*60)*W_label_pos, WeekFractionPoint);
  }

//--------------------------------------------------------

if (Weekly_HiLo_Levels==true)
 {
  ObjectCreate("WHi1_Line", OBJ_TREND,0, wopen, WHi1, CurTime(),WHi1);
  ObjectSet("WHi1_Line", OBJPROP_COLOR, cwhi1);
  ObjectSet("WHi1_Line", OBJPROP_STYLE, hi_line_type);
  ObjectSet("WHi1_Line", OBJPROP_WIDTH, hi_width);
  
 if(ObjectFind("WHi1_Label") != 0)
  {
   ObjectCreate("WHi1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WHi1);
   ObjectSetText("WHi1_Label", "WH(O<C)", 6, "Century Gothic", cwhi1);
  }
 else
  {
   ObjectMove("WHi1_Label", 0, CurTime()+(240*60)*W_label_pos, WHi1);
  }

//--------------------------------------------------------

   ObjectCreate("WHi2_Line", OBJ_TREND,0, wopen,WHi2,CurTime(),WHi2);
   ObjectSet("WHi2_Line", OBJPROP_COLOR, cwhi2);
   ObjectSet("WHi2_Line", OBJPROP_STYLE, hi_line_type);
   ObjectSet("WHi2_Line", OBJPROP_WIDTH, hi_width);
   
 if(ObjectFind("WHi2_Label") != 0)
  {
   ObjectCreate("WHi2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WHi2);
   ObjectSetText("WHi2_Label", " WH(O>C)", 6, "Century Gothic", cwhi2);
  }
 else
  {
   ObjectMove("WHi2_Label", 0, CurTime()+(240*60)*W_label_pos, WHi2);
  }

//---------------------------------------------------------

   ObjectCreate("WHi3_Line", OBJ_TREND,0, wopen,WHi3, CurTime(),WHi3);
   ObjectSet("WHi3_Line", OBJPROP_COLOR, cwhi3);
   ObjectSet("WHi3_Line", OBJPROP_STYLE, hi_line_type);
   ObjectSet("WHi3_Line", OBJPROP_WIDTH, hi_width);
   
 if(ObjectFind("WHi3_Label") != 0)
  {
   ObjectCreate("WHi3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WHi3);
   ObjectSetText("WHi3_Label", " WH(O=C)", 6, "Century Gothic", cwhi3);
  }
 else
  {
   ObjectMove("WHi3_Label", 0, CurTime()+(240*60)*W_label_pos, WHi3);
  }

//---------------------------------------------------------

   ObjectCreate("WLo1_Line", OBJ_TREND,0, wopen,WLo1, CurTime(),WLo1);
   ObjectSet("WLo1_Line", OBJPROP_COLOR, cwlo1);
   ObjectSet("WLo1_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("WLo1_Line", OBJPROP_WIDTH, lo_width);
   
 if(ObjectFind("WLo1_Label") != 0)
  {
   ObjectCreate("WLo1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WLo1);
   ObjectSetText("WLo1_Label", "WL(O<C)", 6, "Century Gothic", cwlo1);
  }
 else
  {
   ObjectMove("WLo1_Label", 0, CurTime()+(240*60)*W_label_pos, WLo1);
  }

//---------------------------------------------------------

   ObjectCreate("WLo2_Line", OBJ_TREND,0, wopen,WLo2, CurTime(),WLo2);
   ObjectSet("WLo2_Line", OBJPROP_COLOR, cwlo2);
   ObjectSet("WLo2_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("WLo2_Line", OBJPROP_WIDTH, lo_width);
   
 if(ObjectFind("WLo2_Label") != 0)
  {
   ObjectCreate("WLo2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WLo2);
   ObjectSetText("WLo2_Label", "WL(O>C)", 6, "Century Gothic", cwlo2);
  }
 else
  {
   ObjectMove("WLo2_Label", 0, CurTime()+(240*60)*W_label_pos, WLo2);
  }

//---------------------------------------------------------

   ObjectCreate("WLo3_Line", OBJ_TREND,0, wopen,WLo3, CurTime(),WLo3);
   ObjectSet("WLo3_Line", OBJPROP_COLOR, cwlo3);
   ObjectSet("WLo3_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("WLo3_Line", OBJPROP_WIDTH, lo_width);
 
 if(ObjectFind("WLo3_Label") != 0)
  {
   ObjectCreate("WLo3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WLo3);
   ObjectSetText("WLo3_Label", "WL(O=C)", 6, "Century Gothic", cwlo3);
  }
 else
  {
   ObjectMove("WLo3_Label", 0, CurTime()+(240*60)*W_label_pos, WLo3);
  }

//-----------------------------------------------------------------
  ObjectCreate("WFLo_Line", OBJ_TREND,0, wopen, WFLo, CurTime(),WFLo);
   ObjectSet("WFLo_Line", OBJPROP_COLOR, cwflo);
   ObjectSet("WFLo_Line", OBJPROP_STYLE, flo_line_type);
   ObjectSet("WFLo_Line", OBJPROP_WIDTH, flo_width);
    
 if(ObjectFind("WFLo_Label") != 0)
  {
   ObjectCreate("WFLo_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WFLo);
   ObjectSetText("WFLo_Label", "WF Low", 6, "Century Gothic", cwflo);
  }
 else
  {
   ObjectMove("WFLo_Label", 0, CurTime()+(240*60)*W_label_pos, WFLo);
  }

//--------------------------------------------------------------

  ObjectCreate("WFHi_Line", OBJ_TREND,0, wopen, WFHi, CurTime(),WFHi);
   ObjectSet("WFHi_Line", OBJPROP_COLOR, cwfhi);
   ObjectSet("WFHi_Line", OBJPROP_STYLE, fhi_line_type);
   ObjectSet("WFHi_Line", OBJPROP_WIDTH, fhi_width);
    
 if(ObjectFind("WFHi_Label") != 0)
  {
   ObjectCreate("WFHi_Label", OBJ_TEXT, 0, CurTime()+(240*60)*W_label_pos, WFHi);
   ObjectSetText("WFHi_Label", "WF High", 6, "Century Gothic", cwfhi);
  }
 else
  {
   ObjectMove("WFHi_Label", 0, CurTime()+(240*60)*W_label_pos, WFHi);
  }
 }
}

//---------------------------------------------------------
//---------------------------------------------------------
//---------------------------------------------------------
datetime mopen=iTime(Symbol(),PERIOD_MN1,0);


if (Monthly==true)
 {
  ObjectCreate("MonthFractionPointLine", OBJ_TREND,0, mopen, MonthFractionPoint, CurTime(),MonthFractionPoint);
  ObjectSet("MonthFractionPointLine", OBJPROP_COLOR, cmfractionpoint);
  ObjectSet("MonthFractionPointLine", OBJPROP_STYLE, fractionpoint_line_type);
  ObjectSet("MonthFractionPointLine", OBJPROP_WIDTH, fractionpoint_width);
 
  
 if(ObjectFind("MonthFractionPointLabel") != 0)
  {
   ObjectCreate("MonthFractionPointLabel", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MonthFractionPoint);
   ObjectSetText("MonthFractionPointLabel", "MFpoint - B/S ", 6, "Century Gothic", cmfractionpoint);
  }
 else
  {
   ObjectMove("MonthFractionPointLabel", 0, CurTime()+(240*60)*M_label_pos, MonthFractionPoint);
  }

//--------------------------------------------------------

if (Monthly_HiLo_Levels==true)
 {
  ObjectCreate("MHi1_Line", OBJ_TREND,0, mopen, MHi1, CurTime(),MHi1);
  ObjectSet("MHi1_Line", OBJPROP_COLOR, cmhi1);
  ObjectSet("MHi1_Line", OBJPROP_STYLE, hi_line_type);
  ObjectSet("MHi1_Line", OBJPROP_WIDTH, hi_width);
   
 if(ObjectFind("MHi1_Label") != 0)
  {
   ObjectCreate("MHi1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MHi1);
   ObjectSetText("MHi1_Label", " MH(O<C)", 6, "Century Gothic", cmhi1);
  }
 else
  {
   ObjectMove("MHi1_Label", 0, CurTime()+(240*60)*M_label_pos, MHi1);
  }

//--------------------------------------------------------

   ObjectCreate("MHi2_Line", OBJ_TREND,0, mopen, MHi2, CurTime(),MHi2);
   ObjectSet("MHi2_Line", OBJPROP_COLOR, cmhi2);
   ObjectSet("MHi2_Line", OBJPROP_STYLE, hi_line_type);
   ObjectSet("MHi2_Line", OBJPROP_WIDTH, hi_width);
 
 if(ObjectFind("MHi2_Label") != 0)
  {
   ObjectCreate("MHi2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MHi2);
   ObjectSetText("MHi2_Label", " MH(O>C)", 6, "Century Gothic", cmhi2);
  }
 else
  {
   ObjectMove("MHi2_Label", 0, CurTime()+(240*60)*M_label_pos, MHi2);
  }

//---------------------------------------------------------

   ObjectCreate("MHi3_Line", OBJ_TREND,0, mopen, MHi3, CurTime(),MHi3);
   ObjectSet("MHi3_Line", OBJPROP_COLOR, cmhi3);
   ObjectSet("MHi3_Line", OBJPROP_STYLE, hi_line_type);
   ObjectSet("MHi3_Line", OBJPROP_WIDTH, hi_width);
 
   
 if(ObjectFind("MHi3_Label") != 0)
  {
   ObjectCreate("MHi3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MHi3);
   ObjectSetText("MHi3_Label", " MH(O=C)", 6, "Century Gothic", cmhi3);
  }
 else
  {
   ObjectMove("MHi3_Label", 0, CurTime()+(240*60)*M_label_pos, MHi3);
  }

//---------------------------------------------------------

   ObjectCreate("MLo1_Line", OBJ_TREND,0, mopen, MLo1, CurTime(),MLo1);
   ObjectSet("MLo1_Line", OBJPROP_COLOR, cmlo1);
   ObjectSet("MLo1_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("MLo1_Line", OBJPROP_WIDTH, lo_width);
 
 if(ObjectFind("MLo1_Label") != 0)
  {
   ObjectCreate("MLo1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MLo1);
   ObjectSetText("MLo1_Label", "ML(O<C)", 6, "Century Gothic", cmlo1);
  }
 else
  {
   ObjectMove("MLo1_Label", 0, CurTime()+(240*60)*M_label_pos, MLo1);
  }

//---------------------------------------------------------

   ObjectCreate("MLo2_Line", OBJ_TREND,0, mopen, MLo2, CurTime(),MLo2);
   ObjectSet("MLo2_Line", OBJPROP_COLOR, cmlo2);
   ObjectSet("MLo2_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("MLo2_Line", OBJPROP_WIDTH, lo_width);
   
 if(ObjectFind("MLo2_Label") != 0)
  {
   ObjectCreate("MLo2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MLo2);
   ObjectSetText("MLo2_Label", "ML(O>C)", 6, "Century Gothic", cmlo2);
  }
 else
  {
   ObjectMove("MLo2_Label", 0, CurTime()+(240*60)*M_label_pos, MLo2);
  }

//---------------------------------------------------------

   ObjectCreate("MLo3_Line", OBJ_TREND,0, mopen, MLo3, CurTime(),MLo3);
   ObjectSet("MLo3_Line", OBJPROP_COLOR, cmlo3);
   ObjectSet("MLo3_Line", OBJPROP_STYLE, lo_line_type);
   ObjectSet("MLo3_Line", OBJPROP_WIDTH, lo_width);
  
 if(ObjectFind("MLo3_Label") != 0)
  {
   ObjectCreate("MLo3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MLo3);
   ObjectSetText("MLo3_Label", "ML(O=C)", 6, "Century Gothic", cmlo3);
  }
 else
  {
   ObjectMove("MLo3_Label", 0, CurTime()+(240*60)*M_label_pos, MLo3);
  }
 
//--------------------------------------------------------------------
  ObjectCreate("MFLo_Line", OBJ_TREND,0, mopen, MFLo, CurTime(),MFLo);
   ObjectSet("MFLo_Line", OBJPROP_COLOR, cmflo);
   ObjectSet("MFLo_Line", OBJPROP_STYLE, flo_line_type);
   ObjectSet("MFLo_Line", OBJPROP_WIDTH, flo_width);
     
 if(ObjectFind("MFLo_Label") != 0)
  {
   ObjectCreate("MFLo_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MFLo);
   ObjectSetText("MFLo_Label", "MF Low", 6, "Century Gothic", cmflo);
  }
 else
  {
   ObjectMove("MFLo_Label", 0, CurTime()+(240*60)*M_label_pos, MFLo);
  }

//--------------------------------------------------------------

  ObjectCreate("MFHi_Line", OBJ_TREND,0, mopen, MFHi, CurTime(),MFHi);
   ObjectSet("MFHi_Line", OBJPROP_COLOR, cmfhi);
   ObjectSet("MFHi_Line", OBJPROP_STYLE, fhi_line_type);
   ObjectSet("MFHi_Line", OBJPROP_WIDTH, fhi_width);
  
 if(ObjectFind("MFHi_Label") != 0)
  {
   ObjectCreate("MFHi_Label", OBJ_TEXT, 0, CurTime()+(240*60)*M_label_pos, MFHi);
   ObjectSetText("MFHi_Label", "MF High", 6, "Century Gothic", cmfhi);
  }
 else
  {
   ObjectMove("MFHi_Label", 0, CurTime()+(240*60)*M_label_pos, MFHi);
  }
}
}
//---------------------------------------------------------

ObjectsRedraw();

   return(0);
}   