//+------------------------------------------------------------------+
//|                                                     PolyLine.mqh |
//|                        Copyright 2020, Igor Ryabchikov aka Rigal |
//|                      http://tlap.com/forum/profile/109537-rigal/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, Igor Ryabchikov aka Rigal"
#property link      "http://tlap.com/forum/profile/109537-rigal/"
#property strict

class PolyLine {
public:
   static void PolyLine::Draw(string _name, double pr1, color clr = clrYellow, int _width = 1, int _shift = 0){ //рисование линий
      if(!IsTesting() || IsVisualMode()) {
         if (iBars(_Symbol, _Period) < _shift + 2) return;
         string name = _Symbol + " " + _name + TimeToStr(iTime(_Symbol, _Period, _shift));
         string name_prev = _Symbol + " " + _name + TimeToStr(iTime(_Symbol, _Period, _shift + 1));
         
         if(ObjectFind(name) < 0){
            double pr2 = pr1;
            if(ObjectFind(name_prev) == 0) pr2 = ObjectGetDouble(0,name_prev,OBJPROP_PRICE,1);
            
            ObjectCreate(name, OBJ_TREND,0,iTime(_Symbol, _Period, _shift + 1),pr2,iTime(_Symbol, _Period, _shift),pr1);
            ObjectSet(name, OBJPROP_COLOR, clr);
            ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false); 
            ObjectSetInteger(0,name,OBJPROP_WIDTH, _width); 
            //ObjectSet(name,OBJPROP_BACK,true);
            ObjectSet(name,OBJPROP_SELECTABLE,false);
         } else {
            ObjectSet(name, OBJPROP_PRICE2, pr1);
         }
      }
   }
};
