//+------------------------------------------------------------------+
//|                                                  mn LineSets.mq4 |
//+------------------------------------------------------------------+
#property copyright "Mn"

#property indicator_chart_window

extern color mCol = Red, mCol2 = Black;
extern int mLines = 5, mWid = 1;
extern double  mLineSpace1 = 3, mLineSpace2 = 5, mLineSpace3 = 10,mLineSpace4 = 10;
double mPrice = 0, mSpace = 3, mSpaceTab[5];

//+------------------------------------------------------------------+
int init()
  {
    ArrayInitialize(mSpaceTab, 0.0);
    mSpaceTab[1] = mLineSpace1 * Point;
    mSpaceTab[2] = mLineSpace2 * Point;
    mSpaceTab[3] = mLineSpace3 * Point;
    mSpaceTab[4] = mLineSpace4 * Point;
    mSpace *= Point;
    
    if(Digits == 3 || Digits == 5)
     {
       mSpace *= Point * 10;
       for(int i = 0; i < mLines; i++)
         mSpaceTab[i] *= 10;
     }
      
    for(i = 0; i < mLines; i++)
     {
      ObjectCreate("mMyLine"+i, OBJ_HLINE, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine"+i, OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine"+i, OBJPROP_PRICE1, Close[1] + mSpace * i);
      ObjectSet("mMyLine"+i, OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine"+i, OBJPROP_COLOR, mCol);
     }
    
    ObjectSet("mMyLine0", OBJPROP_COLOR, mCol2);
    mSpaceTab[0] = Close[1];
    
   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
    for(int i = 0; i < mLines; i++)
     ObjectDelete("mMyLine"+i);
   
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
    double mLastPrice = mSpaceTab[0], mTotSpace = 0;
    
    mSpaceTab[0] = ObjectGet("mMyLine0", OBJPROP_PRICE1);
    if(mSpaceTab[0] != mLastPrice)
      {
        for(int i = 1; i < mLines; i++)
          {
        //    for(int j = 1; j <= i; j++)
              mTotSpace += mSpaceTab[i];
            ObjectSet("mMyLine"+i, OBJPROP_PRICE1, mSpaceTab[0] + mTotSpace);
            
          }
          
         mLastPrice = mSpaceTab[0];
      }

    return(0);
  }
//+------------------------------------------------------------------+