//+------------------------------------------------------------------+
//|                                                  mn OHLC Data    +                
//+------------------------------------------------------------------+

#property indicator_chart_window
#property copyright "mn"

extern int  mFirstPrdCheck = 1,
            mBarsToCheck   = 6;
extern bool mPlotOp = true,
            mPlotCl = true, 
            mPlotHL = true, 
            mPlotm1440 = false, 
            mPlotm10080 = false, 
            mPlotm43200 = true;
extern color mCol1 = DarkOrchid, mCol2 = DarkOrchid, mCol3 = DarkOrchid, mCol4 = DarkOrchid,  mCol5 = DarkOrchid;            
extern int mWidth = 0;
extern ENUM_LINE_STYLE mStyle = 2;
extern bool Show_Line_In_Background=true;            
double m1440[][6], m10080[][6], m43200[][6],
       m1440_0p, m1440_High, m1440_Low, m1440_Close,
       m10080_0p, m10080_High, m10080_Low, m10080_Close,
       m43200_0p, m43200_High, m43200_Low, m43200_Close;
   
int init()
  {
  
   return(0);
  }
input int NotUsed   =  0;  
//-------------------------------------------------------- 
  
int deinit()
  {
   DeleteObjects();

   return(0);
  }
//--------------------------------------------------------- 

int start()
 {

  ArrayCopyRates(m1440, Symbol(), 1440);
  ArrayCopyRates(m10080, Symbol(), 10080);
  ArrayCopyRates(m43200, Symbol(), 43200);

  for(int i = mFirstPrdCheck; i < (mBarsToCheck + mFirstPrdCheck); i++)
    {
     
     m1440_0p    = m1440[i][1];
     m1440_High  = m1440[i][3];
     m1440_Low   = m1440[i][2];
     m1440_Close = m1440[i][4];

     m10080_0p    = m10080[i][1];
     m10080_High  = m10080[i][3];
     m10080_Low   = m10080[i][2];
     m10080_Close = m10080[i][4];
 
     m43200_0p    = m43200[i][1];
     m43200_High  = m43200[i][3];
     m43200_Low   = m43200[i][2];
     m43200_Close = m43200[i][4];
     
     mPlotLines(i);
    }

   return(0);
}

//--------------------------------------------------------
void mPlotLines(int j)
 {
 // DeleteObjects();
 // for(int j = 0; j < mBarsToCheck; j++)
    {
     
     if(mPlotm1440)
      {
        if(mPlotOp){      
          ObjectCreate("mLinem1440_Op"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem1440_Op"+j, OBJPROP_PRICE1, m1440_0p);
          ObjectSet("mLinem1440_Op"+j, OBJPROP_COLOR, mCol1);
          ObjectSet("mLinem1440_Op"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem1440_Op"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem1440_Op"+j, OBJPROP_BACK, Show_Line_In_Background);
          }
        if(mPlotCl){ 
          ObjectCreate("mLinem1440_Close"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem1440_Close"+j, OBJPROP_PRICE1, m1440_Close);
          ObjectSet("mLinem1440_Close"+j, OBJPROP_COLOR, mCol1);
          ObjectSet("mLinem1440_Close"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem1440_Close"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem1440_Close"+j, OBJPROP_BACK, Show_Line_In_Background);
         }
        if(mPlotHL)
         {
          ObjectCreate("mLinem1440_High"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem1440_High"+j, OBJPROP_PRICE1, m1440_High);
          ObjectSet("mLinem1440_High"+j, OBJPROP_COLOR, mCol3);
          ObjectSet("mLinem1440_High"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem1440_High"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem1440_High"+j, OBJPROP_BACK, Show_Line_In_Background);
          ObjectCreate("mLinem1440_Low"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem1440_Low"+j, OBJPROP_PRICE1, m1440_Low);
          ObjectSet("mLinem1440_Low"+j, OBJPROP_COLOR, mCol2);
          ObjectSet("mLinem1440_Low"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem1440_Low"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem1440_Low"+j, OBJPROP_BACK, Show_Line_In_Background);
         }
      }

     if(mPlotm10080)
      {
        if(mPlotOp){ 
          ObjectCreate("mLinem10080_Op"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem10080_Op"+j, OBJPROP_PRICE1, m10080_0p);
          ObjectSet("mLinem10080_Op"+j, OBJPROP_COLOR, mCol1);
          ObjectSet("mLinem10080_Op"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem10080_Op"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem10080_Op"+j, OBJPROP_BACK, Show_Line_In_Background);
          }
       if(mPlotCl){ 
          ObjectCreate("mLinem10080_Close"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem10080_Close"+j, OBJPROP_PRICE1, m10080_Close);
          ObjectSet("mLinem10080_Close"+j, OBJPROP_COLOR, mCol1);
          ObjectSet("mLinem10080_Close"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem10080_Close"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem10080_Close"+j, OBJPROP_BACK, Show_Line_In_Background);
         }
        if(mPlotHL){
          ObjectCreate("mLinem10080_High"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem10080_High"+j, OBJPROP_PRICE1, m10080_High);
          ObjectSet("mLinem10080_High"+j, OBJPROP_COLOR, mCol3);
          ObjectSet("mLinem10080_High"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem10080_High"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem10080_High"+j, OBJPROP_BACK, Show_Line_In_Background);
          ObjectCreate("mLinem10080_Low"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem10080_Low"+j, OBJPROP_PRICE1, m10080_Low);
          ObjectSet("mLinem10080_Low"+j, OBJPROP_COLOR, mCol2);
          ObjectSet("mLinem10080_Low"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem10080_Low"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem10080_Low"+j, OBJPROP_BACK, Show_Line_In_Background);
         }
      }

     if(mPlotm43200)
      {
       if(mPlotOp){ 
          ObjectCreate("mLinem43200_Op"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem43200_Op"+j, OBJPROP_PRICE1, m43200_0p);
          ObjectSet("mLinem43200_Op"+j, OBJPROP_COLOR, mCol1);
          ObjectSet("mLinem43200_Op"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem43200_Op"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem43200_Op"+j, OBJPROP_BACK, Show_Line_In_Background);
          }
          if(mPlotCl){ 
          ObjectCreate("mLinem43200_Close"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem43200_Close"+j, OBJPROP_PRICE1, m43200_Close);
          ObjectSet("mLinem43200_Close"+j, OBJPROP_COLOR, mCol1);
          ObjectSet("mLinem43200_Close"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem43200_Close"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem43200_Close"+j, OBJPROP_BACK, Show_Line_In_Background);
         }
        if(mPlotHL)
         {
          ObjectCreate("mLinem43200_High"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem43200_High"+j, OBJPROP_PRICE1, m43200_High);
          ObjectSet("mLinem43200_High"+j, OBJPROP_COLOR, mCol4);
          ObjectSet("mLinem43200_High"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem43200_High"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem43200_High"+j, OBJPROP_BACK, Show_Line_In_Background);
          ObjectCreate("mLinem43200_Low"+j, OBJ_HLINE, 0, 0, 0, 0);
          ObjectSet("mLinem43200_Low"+j, OBJPROP_PRICE1, m43200_Low);
          ObjectSet("mLinem43200_Low"+j, OBJPROP_COLOR, mCol5);
          ObjectSet("mLinem43200_Low"+j, OBJPROP_WIDTH, mWidth);
          ObjectSet("mLinem43200_Low"+j, OBJPROP_STYLE, mStyle);
          ObjectSet("mLinem43200_Low"+j, OBJPROP_BACK, Show_Line_In_Background);
         }
      }
    } // for j
     
   return;
 }
 
//--------------------------------------------------------
void DeleteObjects()
 {
   string mObj;
   for(int m = ObjectsTotal()-1; m >= 0; m--)
    {
      mObj = ObjectName(m);
      if (StringFind(mObj,"mLinem", 0) > -1)
       ObjectDelete(mObj);
    }
  }
//+------------------------------------------------------------------+

