//+------------------------------------------------------------------+ 
//|   Fibonacci All TF                                               | 
//|                                                                  | 
//|   Copyright © 2014 / airquest@hotmail.com                        |
//|                                                                  |
//|   http://smart-trading.world-record.ch                           |  
//+------------------------------------------------------------------+ 


   #property copyright   "Copyright © 2014 // airquest // smart-trading.world-record.ch"
   #property link        "http://smart-trading.world-record.ch"
   #property description "Fibonacci All TF"


//------------------------------------------------------------------

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red


extern string   NoteTF            = "Choose TF between: M1;M5;M15;M30;H1;H4;D1;W1;MN1";
extern string   TimeFrames        = "M1;M5;M15;M30;H1;H4;D1;W1;MN1";

extern bool     UseZigZagForHL    = True;
extern bool     ShowZigZag        = False;

extern bool     ShowLabels        = True;
extern bool     ShowLines         = True;
extern bool     ShowTFDescription = True;

extern int      ShiftHorizontal   = 0;

extern string   NotePeriods       = "==============HL Period Settings==============";
extern int      PeriodForHL       = 100;
extern int      PeriodShiftBegin  = 0;
extern bool     Use2Periods       = False;
extern int      PeriodForHigh     = 100;
extern int      PeriodForLow      = 100;

extern string   NoteZigZag        = "==============Zig Zag Settings==============";
extern int      ZZDepth           = 25;
extern int      ZZDeviation       =  5;
extern int      ZZBackstep        =  3;

extern string   NoteFibo1         = "==============Fibonacci Settings==============";
extern string   NoteFibo2         = "By default, the direction of the move set the levels";
extern string   NoteFibo3         = "Set below to true to switch direction of fibs";
extern bool     SwitchFibo        = False;

extern int      LineLength        = 4;
extern bool     RayLeftOn         = True;
extern int      RayLeftShift      = 3;

extern int      ColorMode         = 1;
extern string   ColorModeNote     = "0=Two colors for up or down; 1=Nine different colors";
extern color    ColorUp           = Lime;
extern color    ColorDn           = Red;
extern color    ColorM1           = White;
extern color    ColorM5           = Yellow;
extern color    ColorM15          = Blue;
extern color    ColorM30          = Pink;
extern color    ColorH1           = Magenta;
extern color    ColorH4           = Lime;
extern color    ColorD1           = Red;
extern color    ColorW1           = Green;
extern color    ColorMN1          = DeepSkyBlue;

extern bool     AutomaticallySetLineWidth = True;
extern int      LineWidthM1       = 1;
extern int      LineWidthM5       = 1; 
extern int      LineWidthM15      = 1;
extern int      LineWidthM30      = 1;
extern int      LineWidthH1       = 1;
extern int      LineWidthH4       = 1;
extern int      LineWidthD1       = 1;
extern int      LineWidthW1       = 1;
extern int      LineWidthMN1      = 1;

extern bool     ObjectsInBG       = True;
extern bool     RayRightOn        = False;

extern string   NoteLevels1       = "==============Fibonacci Levels==============";
extern string   NoteLevels2       = "Set to 0 to deactivate a level";
extern double   _0_Level          =   0.0;
extern double   _1stLevel         =  23.6;
extern double   _2ndLevel         =  38.2;
extern double   _3rdLevel         =  50.0;
extern double   _4thLevel         =  61.8;
extern double   _5thLevel         =  76.4;
extern double   _6thLevel         = 100.0;

extern string   NoteLabels        = "==============Labels Settings==============";
extern int      LabelsShiftVert   = 0;
extern int      LabelsFontWidth   = 8;
extern color    LabelsColor       = Silver;

extern int      LabelsVertLinesStyle = 0;
extern int      LabelsVertLinesWidth = 0;
extern color    LabelsVertLinesColor = Red;

extern int      TFDescriptionFontWidth       = 8;
extern color    TFDescriptionColor           = Yellow;
extern bool     AutomaticallySetDescriptions = True;
extern int      ShiftDescriptionUpDn         = 200;

extern string   UniqueID          = "FiboAll";


//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int         i,h;

double      ZZBuffer[];
double      M1_ZZBuffer[],M5_ZZBuffer[],M15_ZZBuffer[],M30_ZZBuffer[],H1_ZZBuffer[],H4_ZZBuffer[],D1_ZZBuffer[],W1_ZZBuffer[],MN1_ZZBuffer[];

double      M1_HiPrice,M1_LoPrice,M5_HiPrice,M5_LoPrice,M15_HiPrice,M15_LoPrice,M30_HiPrice,M30_LoPrice,H1_HiPrice,H1_LoPrice,H4_HiPrice,H4_LoPrice,
            D1_HiPrice,D1_LoPrice,W1_HiPrice,W1_LoPrice,MN1_HiPrice,MN1_LoPrice;

datetime    M1_Time_1,M1_Time_2,M1_Time_3;
datetime    M5_Time_1,M5_Time_2,M5_Time_3;
datetime    M15_Time_1,M15_Time_2,M15_Time_3;
datetime    M30_Time_1,M30_Time_2,M30_Time_3;
datetime    H1_Time_1,H1_Time_2,H1_Time_3;
datetime    H4_Time_1,H4_Time_2,H4_Time_3;
datetime    D1_Time_1,D1_Time_2,D1_Time_3;
datetime    W1_Time_1,W1_Time_2,W1_Time_3;
datetime    MN1_Time_1,MN1_Time_2,MN1_Time_3;

double      M1_Price_0,M1_Price_1,M1_Price_2,M1_Price_3,M1_Price_4,M1_Price_5,M1_Price_6;
double      M5_Price_0,M5_Price_1,M5_Price_2,M5_Price_3,M5_Price_4,M5_Price_5,M5_Price_6;
double      M15_Price_0,M15_Price_1,M15_Price_2,M15_Price_3,M15_Price_4,M15_Price_5,M15_Price_6;
double      M30_Price_0,M30_Price_1,M30_Price_2,M30_Price_3,M30_Price_4,M30_Price_5,M30_Price_6;
double      H1_Price_0,H1_Price_1,H1_Price_2,H1_Price_3,H1_Price_4,H1_Price_5,H1_Price_6;
double      H4_Price_0,H4_Price_1,H4_Price_2,H4_Price_3,H4_Price_4,H4_Price_5,H4_Price_6;
double      D1_Price_0,D1_Price_1,D1_Price_2,D1_Price_3,D1_Price_4,D1_Price_5,D1_Price_6;
double      W1_Price_0,W1_Price_1,W1_Price_2,W1_Price_3,W1_Price_4,W1_Price_5,W1_Price_6;
double      MN1_Price_0,MN1_Price_1,MN1_Price_2,MN1_Price_3,MN1_Price_4,MN1_Price_5,MN1_Price_6;

string      M1_Label_0,M1_Label_1,M1_Label_2,M1_Label_3,M1_Label_4,M1_Label_5,M1_Label_6;
string      M5_Label_0,M5_Label_1,M5_Label_2,M5_Label_3,M5_Label_4,M5_Label_5,M5_Label_6;
string      M15_Label_0,M15_Label_1,M15_Label_2,M15_Label_3,M15_Label_4,M15_Label_5,M15_Label_6;
string      M30_Label_0,M30_Label_1,M30_Label_2,M30_Label_3,M30_Label_4,M30_Label_5,M30_Label_6;
string      H1_Label_0,H1_Label_1,H1_Label_2,H1_Label_3,H1_Label_4,H1_Label_5,H1_Label_6;
string      H4_Label_0,H4_Label_1,H4_Label_2,H4_Label_3,H4_Label_4,H4_Label_5,H4_Label_6;
string      D1_Label_0,D1_Label_1,D1_Label_2,D1_Label_3,D1_Label_4,D1_Label_5,D1_Label_6;
string      W1_Label_0,W1_Label_1,W1_Label_2,W1_Label_3,W1_Label_4,W1_Label_5,W1_Label_6;
string      MN1_Label_0,MN1_Label_1,MN1_Label_2,MN1_Label_3,MN1_Label_4,MN1_Label_5,MN1_Label_6;

double      M1_Range,M5_Range,M15_Range,M30_Range,H1_Range,H4_Range,D1_Range,W1_Range,MN1_Range;
double      M1_Range2,M5_Range2,M15_Range2,M30_Range2,H1_Range2,H4_Range2,D1_Range2,W1_Range2,MN1_Range2;

int         M1_LastZigZag,M1_PreviousZigZag,M1_OldLastZigZag,M1_OldPreviousZigZag;
int         M5_LastZigZag,M5_PreviousZigZag,M5_OldLastZigZag,M5_OldPreviousZigZag;
int         M15_LastZigZag,M15_PreviousZigZag,M15_OldLastZigZag,M15_OldPreviousZigZag;
int         M30_LastZigZag,M30_PreviousZigZag,M30_OldLastZigZag,M30_OldPreviousZigZag;
int         H1_LastZigZag,H1_PreviousZigZag,H1_OldLastZigZag,H1_OldPreviousZigZag;
int         H4_LastZigZag,H4_PreviousZigZag,H4_OldLastZigZag,H4_OldPreviousZigZag;
int         D1_LastZigZag,D1_PreviousZigZag,D1_OldLastZigZag,D1_OldPreviousZigZag;
int         W1_LastZigZag,W1_PreviousZigZag,W1_OldLastZigZag,W1_OldPreviousZigZag;
int         MN1_LastZigZag,MN1_PreviousZigZag,MN1_OldLastZigZag,MN1_OldPreviousZigZag;

bool        M1_Up=False,M5_Up=False,M15_Up=False,M30_Up=False,H1_Up=False,H4_Up=False,D1_Up=False,W1_Up=False,MN1_Up=False;

string      Label = UniqueID;

string      labels[];

int         TFCountTotal,TFCountM1,TFCountM5,TFCountM15,TFCountM30,TFCountH1,TFCountH4,TFCountD1,TFCountW1,TFCountMN1;
string      StringM1,StringM5,StringM15,StringM30,StringH1,StringH4,StringD1,StringW1,StringMN1;

int         TFShift1,TFShift2,TFShift3,TFShift4,TFShift5,TFShift6,TFShift7,TFShift8,TFShift9;
int         TFShiftM1,TFShiftM5,TFShiftM15,TFShiftM30,TFShiftH1,TFShiftH4,TFShiftD1,TFShiftW1,TFShiftMN1;

int         LineWidth1,LineWidth2,LineWidth3,LineWidth4,LineWidth5,LineWidth6,LineWidth7,LineWidth8,LineWidth9;
int         WidthM1,WidthM5,WidthM15,WidthM30,WidthH1,WidthH4,WidthD1,WidthW1,WidthMN1;

int         ChartScaleDescription;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int init()
{
//+------------------------------------------------------------------+
      IndicatorBuffers(10);

      SetIndexStyle(0,DRAW_SECTION);
      SetIndexBuffer(0,ZZBuffer);       if(!ShowZigZag) SetIndexStyle(0,DRAW_NONE);
      
      SetIndexBuffer(1, M1_ZZBuffer);
      SetIndexBuffer(2, M5_ZZBuffer);
      SetIndexBuffer(3,M15_ZZBuffer);
      SetIndexBuffer(4,M30_ZZBuffer);
      SetIndexBuffer(5, H1_ZZBuffer);
      SetIndexBuffer(6, H4_ZZBuffer);
      SetIndexBuffer(7, D1_ZZBuffer);
      SetIndexBuffer(8, W1_ZZBuffer);
      SetIndexBuffer(9,MN1_ZZBuffer);

      for(i=0; i<10; i++) SetIndexEmptyValue(i,0.0);

      ArraySetAsSeries(    ZZBuffer,True);
      ArraySetAsSeries( M1_ZZBuffer,True);
      ArraySetAsSeries( M5_ZZBuffer,True);
      ArraySetAsSeries(M15_ZZBuffer,True);
      ArraySetAsSeries(M30_ZZBuffer,True);
      ArraySetAsSeries( H1_ZZBuffer,True);
      ArraySetAsSeries( H4_ZZBuffer,True);
      ArraySetAsSeries( D1_ZZBuffer,True);
      ArraySetAsSeries( W1_ZZBuffer,True);
      ArraySetAsSeries(MN1_ZZBuffer,True);
//+------------------------------------------------------------------+
   IndicatorShortName("Fibo Color Zones All TF");
   
   if(PeriodForHL<1 || PeriodForHigh<1 || PeriodForLow<1)
   {
      PeriodForHL = 100; PeriodForHigh=100; PeriodForLow=100;
      Alert("Fibo Color Zones : Warning ! 'Period' should not be less than 1");
   }
//+------------------------------------------------------------------+
      TimeFrames = StringTrimLeft(StringTrimRight(TimeFrames));
         if (StringSubstr(TimeFrames,StringLen(TimeFrames),1) != ";")
                          TimeFrames = StringConcatenate(TimeFrames,";");

         int s = 0;
             i = StringFind(TimeFrames,";",s);
         int time;
         string current;
            while (i > 0)
            {
               current = StringSubstr(TimeFrames,s,i-s);
               time    = stringToTimeFrame(current);
               if (time > 0)
               {
                     ArrayResize(labels ,ArraySize(labels) +1);
                                 labels [ArraySize(labels) -1] = TimeFrameToString(time); 
               }
                                 s = i + 1;
                                 i = StringFind(TimeFrames,";",s);
            }
//+------------------------------------------------------------------+
   if(AutomaticallySetDescriptions)
   {
      if(ChartGetInteger(0,CHART_SCALE) == 0) ChartScaleDescription = 900;
      if(ChartGetInteger(0,CHART_SCALE) == 1) ChartScaleDescription = 400;
      if(ChartGetInteger(0,CHART_SCALE) == 2) ChartScaleDescription = 200;
      if(ChartGetInteger(0,CHART_SCALE) == 3) ChartScaleDescription = 100;
      if(ChartGetInteger(0,CHART_SCALE) == 4) ChartScaleDescription =  50;
      if(ChartGetInteger(0,CHART_SCALE) == 5) ChartScaleDescription =  25;
   }
   else ChartScaleDescription = ShiftDescriptionUpDn;
//+------------------------------------------------------------------+
   return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int deinit()
{
   DeleteObjects();
   return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Indicator start function
//+------------------------------------------------------------------+
int start()
{
   int counted_bars=IndicatorCounted();
   int limit=Bars-counted_bars;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   if(StringFind(TimeFrames,"M5", 0) != -1) TFCountM5  = 1; else TFCountM5  = 0;
   if(StringFind(TimeFrames,"M15",0) != -1) TFCountM15 = 1; else TFCountM15 = 0;
   if(StringFind(TimeFrames,"M30",0) != -1) TFCountM30 = 1; else TFCountM30 = 0;
   if(StringFind(TimeFrames,"H1", 0) != -1) TFCountH1  = 1; else TFCountH1  = 0;
   if(StringFind(TimeFrames,"H4", 0) != -1) TFCountH4  = 1; else TFCountH4  = 0;
   if(StringFind(TimeFrames,"D1", 0) != -1) TFCountD1  = 1; else TFCountD1  = 0;
   if(StringFind(TimeFrames,"W1", 0) != -1) TFCountW1  = 1; else TFCountW1  = 0;
   if(StringFind(TimeFrames,"MN1",0) != -1) TFCountMN1 = 1; else TFCountMN1 = 0;

   TFCountTotal = TFCountM5 + TFCountM15 + TFCountM30 + TFCountH1 + TFCountH4 + TFCountD1 + TFCountW1 + TFCountMN1;
   
   if(ArraySize(labels) != TFCountTotal)    TFCountM1  = 1; else TFCountM1  = 0;

   if(TFCountM1   == 1) StringM1  =  "M1"; else StringM1  = "";
   if(TFCountM5   == 1) StringM5  =  "M5"; else StringM5  = "";
   if(TFCountM15  == 1) StringM15 = "M15"; else StringM15 = "";
   if(TFCountM30  == 1) StringM30 = "M30"; else StringM30 = "";
   if(TFCountH1   == 1) StringH1  =  "H1"; else StringH1  = "";
   if(TFCountH4   == 1) StringH4  =  "H4"; else StringH4  = "";
   if(TFCountD1   == 1) StringD1  =  "D1"; else StringD1  = "";
   if(TFCountW1   == 1) StringW1  =  "W1"; else StringW1  = "";
   if(TFCountMN1  == 1) StringMN1 = "MN1"; else StringMN1 = "";

   if(TFCountM1  == 1 && Period()<= PERIOD_M1)  { TFShift1 = LineLength; LineWidth1 = 1; } else { TFShift1 = 0; LineWidth1 = 0; }
   if(TFCountM5  == 1 && Period()<= PERIOD_M5)  { TFShift2 = LineLength; LineWidth2 = 1; } else { TFShift2 = 0; LineWidth2 = 0; }
   if(TFCountM15 == 1 && Period()<= PERIOD_M15) { TFShift3 = LineLength; LineWidth3 = 1; } else { TFShift3 = 0; LineWidth3 = 0; }
   if(TFCountM30 == 1 && Period()<= PERIOD_M30) { TFShift4 = LineLength; LineWidth4 = 1; } else { TFShift4 = 0; LineWidth4 = 0; }
   if(TFCountH1  == 1 && Period()<= PERIOD_H1)  { TFShift5 = LineLength; LineWidth5 = 1; } else { TFShift5 = 0; LineWidth5 = 0; }
   if(TFCountH4  == 1 && Period()<= PERIOD_H4)  { TFShift6 = LineLength; LineWidth6 = 1; } else { TFShift6 = 0; LineWidth6 = 0; }
   if(TFCountD1  == 1 && Period()<= PERIOD_D1)  { TFShift7 = LineLength; LineWidth7 = 1; } else { TFShift7 = 0; LineWidth7 = 0; }
   if(TFCountW1  == 1 && Period()<= PERIOD_W1)  { TFShift8 = LineLength; LineWidth8 = 1; } else { TFShift8 = 0; LineWidth8 = 0; }
   if(TFCountMN1 == 1 && Period()<= PERIOD_MN1) { TFShift9 = LineLength; LineWidth9 = 1; } else { TFShift9 = 0; LineWidth9 = 0; }

   TFShiftM1  = TFShift1;
   TFShiftM5  = TFShift2 + TFShift1;
   TFShiftM15 = TFShift3 + TFShift2 + TFShift1;
   TFShiftM30 = TFShift4 + TFShift3 + TFShift2 + TFShift1;
   TFShiftH1  = TFShift5 + TFShift4 + TFShift3 + TFShift2 + TFShift1;
   TFShiftH4  = TFShift6 + TFShift5 + TFShift4 + TFShift3 + TFShift2 + TFShift1;
   TFShiftD1  = TFShift7 + TFShift6 + TFShift5 + TFShift4 + TFShift3 + TFShift2 + TFShift1;
   TFShiftW1  = TFShift8 + TFShift7 + TFShift6 + TFShift5 + TFShift4 + TFShift3 + TFShift2  + TFShift1;
   TFShiftMN1 = TFShift9 + TFShift8 + TFShift7 + TFShift6 + TFShift5 + TFShift4 + TFShift3  + TFShift2  + TFShift1;
   
   WidthM1  = LineWidth1;
   WidthM5  = LineWidth2 + LineWidth1;
   WidthM15 = LineWidth3 + LineWidth2 + LineWidth1;
   WidthM30 = LineWidth4 + LineWidth3 + LineWidth2 + LineWidth1;
   WidthH1  = LineWidth5 + LineWidth4 + LineWidth3 + LineWidth2 + LineWidth1;
   WidthH4  = LineWidth6 + LineWidth5 + LineWidth4 + LineWidth3 + LineWidth2 + LineWidth1;
   WidthD1  = LineWidth7 + LineWidth6 + LineWidth5 + LineWidth4 + LineWidth3 + LineWidth2 + LineWidth1;
   WidthW1  = LineWidth8 + LineWidth7 + LineWidth6 + LineWidth5 + LineWidth4 + LineWidth3 + LineWidth2  + LineWidth1;
   WidthMN1 = LineWidth9 + LineWidth8 + LineWidth7 + LineWidth6 + LineWidth5 + LineWidth4 + LineWidth3  + LineWidth2  + LineWidth1;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   	if(RayLeftOn) M1_Time_1   = Time[0+RayLeftShift];
   	else          M1_Time_1   = Time[0]+(TFShiftM1 +ShiftHorizontal)           *Period()*60;
   	              M1_Time_2   = Time[0]+(TFShiftM1 +ShiftHorizontal+LineLength)*Period()*60;
   	              M1_Time_3   = Time[0]+(TFShiftM1 +ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) M5_Time_1   = Time[0+RayLeftShift];
   	else          M5_Time_1   = Time[0]+(TFShiftM5 +ShiftHorizontal)           *Period()*60;
   	              M5_Time_2   = Time[0]+(TFShiftM5 +ShiftHorizontal+LineLength)*Period()*60;
   	              M5_Time_3   = Time[0]+(TFShiftM5 +ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) M15_Time_1  = Time[0+RayLeftShift];
   	else          M15_Time_1  = Time[0]+(TFShiftM15+ShiftHorizontal)           *Period()*60;
   	              M15_Time_2  = Time[0]+(TFShiftM15+ShiftHorizontal+LineLength)*Period()*60;
   	              M15_Time_3  = Time[0]+(TFShiftM15+ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) M30_Time_1  = Time[0+RayLeftShift];
   	else          M30_Time_1  = Time[0]+(TFShiftM30+ShiftHorizontal)           *Period()*60;
   	              M30_Time_2  = Time[0]+(TFShiftM30+ShiftHorizontal+LineLength)*Period()*60;
   	              M30_Time_3  = Time[0]+(TFShiftM30+ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) H1_Time_1   = Time[0+RayLeftShift];
   	else          H1_Time_1   = Time[0]+(TFShiftH1 +ShiftHorizontal)           *Period()*60;
   	              H1_Time_2   = Time[0]+(TFShiftH1 +ShiftHorizontal+LineLength)*Period()*60;
   	              H1_Time_3   = Time[0]+(TFShiftH1 +ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) H4_Time_1   = Time[0+RayLeftShift];
   	else          H4_Time_1   = Time[0]+(TFShiftH4 +ShiftHorizontal)           *Period()*60;
   	              H4_Time_2   = Time[0]+(TFShiftH4 +ShiftHorizontal+LineLength)*Period()*60;
   	              H4_Time_3   = Time[0]+(TFShiftH4 +ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) D1_Time_1   = Time[0+RayLeftShift];
   	else          D1_Time_1   = Time[0]+(TFShiftD1 +ShiftHorizontal)           *Period()*60;
   	              D1_Time_2   = Time[0]+(TFShiftD1 +ShiftHorizontal+LineLength)*Period()*60;
   	              D1_Time_3   = Time[0]+(TFShiftD1 +ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) W1_Time_1   = Time[0+RayLeftShift];
   	else          W1_Time_1   = Time[0]+(TFShiftW1 +ShiftHorizontal)           *Period()*60;
   	              W1_Time_2   = Time[0]+(TFShiftW1 +ShiftHorizontal+LineLength)*Period()*60;
   	              W1_Time_3   = Time[0]+(TFShiftW1 +ShiftHorizontal)           *Period()*60;

   	if(RayLeftOn) MN1_Time_1  = Time[0+RayLeftShift];
   	else          MN1_Time_1  = Time[0]+(TFShiftMN1+ShiftHorizontal)           *Period()*60;
   	              MN1_Time_2  = Time[0]+(TFShiftMN1+ShiftHorizontal+LineLength)*Period()*60;
   	              MN1_Time_3  = Time[0]+(TFShiftMN1+ShiftHorizontal)           *Period()*60;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
	   for(i=limit; i>=0+PeriodShiftBegin; i--)
	   {
//+------------------------------------------------------------------+
      	if(Use2Periods)
      	{
      	   M1_HiPrice	= iHigh(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,PeriodForHigh,i));
      	   M1_LoPrice	= iLow (NULL,PERIOD_M1,iLowest (NULL,PERIOD_M1,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_M1,iLowest (NULL,PERIOD_M1,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,PeriodForHigh,i))) M1_Up = True;
            if      (iTime(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_M1,iLowest (NULL,PERIOD_M1,MODE_LOW, PeriodForLow, i))) M1_Up = False;

      	   M5_HiPrice	= iHigh(NULL,PERIOD_M5,iHighest(NULL,PERIOD_M5,MODE_HIGH,PeriodForHigh,i));
      	   M5_LoPrice	= iLow (NULL,PERIOD_M5,iLowest (NULL,PERIOD_M5,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_M5,iLowest (NULL,PERIOD_M5,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_M5,iHighest(NULL,PERIOD_M5,MODE_HIGH,PeriodForHigh,i))) M5_Up = True;
            if      (iTime(NULL,PERIOD_M5,iHighest(NULL,PERIOD_M5,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_M5,iLowest (NULL,PERIOD_M5,MODE_LOW, PeriodForLow, i))) M5_Up = False;

      	   M15_HiPrice	= iHigh(NULL,PERIOD_M15,iHighest(NULL,PERIOD_M15,MODE_HIGH,PeriodForHigh,i));
      	   M15_LoPrice	= iLow (NULL,PERIOD_M15,iLowest (NULL,PERIOD_M15,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_M15,iLowest (NULL,PERIOD_M15,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_M15,iHighest(NULL,PERIOD_M15,MODE_HIGH,PeriodForHigh,i))) M15_Up = True;
            if      (iTime(NULL,PERIOD_M15,iHighest(NULL,PERIOD_M15,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_M15,iLowest (NULL,PERIOD_M15,MODE_LOW, PeriodForLow, i))) M15_Up = False;

      	   M30_HiPrice	= iHigh(NULL,PERIOD_M30,iHighest(NULL,PERIOD_M30,MODE_HIGH,PeriodForHigh,i));
      	   M30_LoPrice	= iLow (NULL,PERIOD_M30,iLowest (NULL,PERIOD_M30,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_M30,iLowest (NULL,PERIOD_M30,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_M30,iHighest(NULL,PERIOD_M30,MODE_HIGH,PeriodForHigh,i))) M30_Up = True;
            if      (iTime(NULL,PERIOD_M30,iHighest(NULL,PERIOD_M30,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_M30,iLowest (NULL,PERIOD_M30,MODE_LOW, PeriodForLow, i))) M30_Up = False;

      	   H1_HiPrice	= iHigh(NULL,PERIOD_H1,iHighest(NULL,PERIOD_H1,MODE_HIGH,PeriodForHigh,i));
      	   H1_LoPrice	= iLow (NULL,PERIOD_H1,iLowest (NULL,PERIOD_H1,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_H1,iLowest (NULL,PERIOD_H1,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_H1,iHighest(NULL,PERIOD_H1,MODE_HIGH,PeriodForHigh,i))) H1_Up = True;
            if      (iTime(NULL,PERIOD_H1,iHighest(NULL,PERIOD_H1,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_H1,iLowest (NULL,PERIOD_H1,MODE_LOW, PeriodForLow, i))) H1_Up = False;

      	   H4_HiPrice	= iHigh(NULL,PERIOD_H4,iHighest(NULL,PERIOD_H4,MODE_HIGH,PeriodForHigh,i));
      	   H4_LoPrice	= iLow (NULL,PERIOD_H4,iLowest (NULL,PERIOD_H4,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_H4,iLowest (NULL,PERIOD_H4,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_H4,iHighest(NULL,PERIOD_H4,MODE_HIGH,PeriodForHigh,i))) H4_Up = True;
            if      (iTime(NULL,PERIOD_H4,iHighest(NULL,PERIOD_H4,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_H4,iLowest (NULL,PERIOD_H4,MODE_LOW, PeriodForLow, i))) H4_Up = False;

      	   D1_HiPrice	= iHigh(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,PeriodForHigh,i));
      	   D1_LoPrice	= iLow (NULL,PERIOD_D1,iLowest (NULL,PERIOD_D1,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_D1,iLowest (NULL,PERIOD_D1,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,PeriodForHigh,i))) D1_Up = True;
            if      (iTime(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_D1,iLowest (NULL,PERIOD_D1,MODE_LOW, PeriodForLow, i))) D1_Up = False;

      	   W1_HiPrice	= iHigh(NULL,PERIOD_W1,iHighest(NULL,PERIOD_W1,MODE_HIGH,PeriodForHigh,i));
      	   W1_LoPrice	= iLow (NULL,PERIOD_W1,iLowest (NULL,PERIOD_W1,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_W1,iLowest (NULL,PERIOD_W1,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_W1,iHighest(NULL,PERIOD_W1,MODE_HIGH,PeriodForHigh,i))) W1_Up = True;
            if      (iTime(NULL,PERIOD_W1,iHighest(NULL,PERIOD_W1,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_W1,iLowest (NULL,PERIOD_W1,MODE_LOW, PeriodForLow, i))) W1_Up = False;

      	   MN1_HiPrice	= iHigh(NULL,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,PeriodForHigh,i));
      	   MN1_LoPrice	= iLow (NULL,PERIOD_MN1,iLowest (NULL,PERIOD_MN1,MODE_LOW, PeriodForLow, i));

            if      (iTime(NULL,PERIOD_MN1,iLowest (NULL,PERIOD_MN1,MODE_LOW, PeriodForLow, i)) <
                     iTime(NULL,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,PeriodForHigh,i))) MN1_Up = True;
            if      (iTime(NULL,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,PeriodForHigh,i)) <
                     iTime(NULL,PERIOD_MN1,iLowest (NULL,PERIOD_MN1,MODE_LOW, PeriodForLow, i))) MN1_Up = False;
      	}
//+------------------------------------------------------------------+
      	else
      	{
      	   M1_HiPrice	= iHigh(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,PeriodForHL,i));
      	   M1_LoPrice	= iLow (NULL,PERIOD_M1,iLowest (NULL,PERIOD_M1,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_M1,iLowest (NULL,PERIOD_M1,MODE_LOW, PeriodForHL,i)) <
                     iTime(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,PeriodForHL,i))) M1_Up = True;
            if      (iTime(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,PeriodForHL,i)) <
                     iTime(NULL,PERIOD_M1,iLowest (NULL,PERIOD_M1,MODE_LOW, PeriodForHL,i))) M1_Up = False;

      	   M5_HiPrice	= iHigh(NULL,PERIOD_M5,iHighest(NULL,PERIOD_M5,MODE_HIGH,PeriodForHL,i));
      	   M5_LoPrice	= iLow (NULL,PERIOD_M5,iLowest (NULL,PERIOD_M5,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_M5,iLowest (NULL,PERIOD_M5,MODE_LOW, PeriodForHL,i))  <
                     iTime(NULL,PERIOD_M5,iHighest(NULL,PERIOD_M5,MODE_HIGH,PeriodForHL,i)))  M5_Up = True;
            if      (iTime(NULL,PERIOD_M5,iHighest(NULL,PERIOD_M5,MODE_HIGH,PeriodForHL,i))  <
                     iTime(NULL,PERIOD_M5,iLowest (NULL,PERIOD_M5,MODE_LOW, PeriodForHL,i)))  M5_Up = False;

      	   M15_HiPrice	= iHigh(NULL,PERIOD_M15,iHighest(NULL,PERIOD_M15,MODE_HIGH,PeriodForHL,i));
      	   M15_LoPrice	= iLow (NULL,PERIOD_M15,iLowest (NULL,PERIOD_M15,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_M15,iLowest (NULL,PERIOD_M15,MODE_LOW, PeriodForHL,i)) <
                     iTime(NULL,PERIOD_M15,iHighest(NULL,PERIOD_M15,MODE_HIGH,PeriodForHL,i))) M15_Up = True;
            if      (iTime(NULL,PERIOD_M15,iHighest(NULL,PERIOD_M15,MODE_HIGH,PeriodForHL,i)) <
                     iTime(NULL,PERIOD_M15,iLowest (NULL,PERIOD_M15,MODE_LOW, PeriodForHL,i))) M15_Up = False;

      	   M30_HiPrice	= iHigh(NULL,PERIOD_M30,iHighest(NULL,PERIOD_M30,MODE_HIGH,PeriodForHL,i));
      	   M30_LoPrice	= iLow (NULL,PERIOD_M30,iLowest (NULL,PERIOD_M30,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_M30,iLowest (NULL,PERIOD_M30,MODE_LOW, PeriodForHL,i))  <
                     iTime(NULL,PERIOD_M30,iHighest(NULL,PERIOD_M30,MODE_HIGH,PeriodForHL,i)))  M30_Up = True;
            if      (iTime(NULL,PERIOD_M30,iHighest(NULL,PERIOD_M30,MODE_HIGH,PeriodForHL,i))  <
                     iTime(NULL,PERIOD_M30,iLowest (NULL,PERIOD_M30,MODE_LOW, PeriodForHL,i)))  M30_Up = False;

      	   H1_HiPrice	= iHigh(NULL,PERIOD_H1,iHighest(NULL,PERIOD_H1,MODE_HIGH,PeriodForHL,i));
      	   H1_LoPrice	= iLow (NULL,PERIOD_H1,iLowest (NULL,PERIOD_H1,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_H1,iLowest (NULL,PERIOD_H1,MODE_LOW, PeriodForHL,i)) <
                     iTime(NULL,PERIOD_H1,iHighest(NULL,PERIOD_H1,MODE_HIGH,PeriodForHL,i))) H1_Up = True;
            if      (iTime(NULL,PERIOD_H1,iHighest(NULL,PERIOD_H1,MODE_HIGH,PeriodForHL,i)) <
                     iTime(NULL,PERIOD_H1,iLowest (NULL,PERIOD_H1,MODE_LOW, PeriodForHL,i))) H1_Up = False;

      	   H4_HiPrice	= iHigh(NULL,PERIOD_H4,iHighest(NULL,PERIOD_H4,MODE_HIGH,PeriodForHL,i));
      	   H4_LoPrice	= iLow (NULL,PERIOD_H4,iLowest (NULL,PERIOD_H4,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_H4,iLowest (NULL,PERIOD_H4,MODE_LOW, PeriodForHL,i))  <
                     iTime(NULL,PERIOD_H4,iHighest(NULL,PERIOD_H4,MODE_HIGH,PeriodForHL,i)))  H4_Up = True;
            if      (iTime(NULL,PERIOD_H4,iHighest(NULL,PERIOD_H4,MODE_HIGH,PeriodForHL,i))  <
                     iTime(NULL,PERIOD_H4,iLowest (NULL,PERIOD_H4,MODE_LOW, PeriodForHL,i)))  H4_Up = False;

      	   D1_HiPrice	= iHigh(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,PeriodForHL,i));
      	   D1_LoPrice	= iLow (NULL,PERIOD_D1,iLowest (NULL,PERIOD_D1,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_D1,iLowest (NULL,PERIOD_D1,MODE_LOW, PeriodForHL,i))  <
                     iTime(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,PeriodForHL,i)))  D1_Up = True;
            if      (iTime(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,PeriodForHL,i))  <
                     iTime(NULL,PERIOD_D1,iLowest (NULL,PERIOD_D1,MODE_LOW, PeriodForHL,i)))  D1_Up = False;

      	   W1_HiPrice	= iHigh(NULL,PERIOD_W1,iHighest(NULL,PERIOD_W1,MODE_HIGH,PeriodForHL,i));
      	   W1_LoPrice	= iLow (NULL,PERIOD_W1,iLowest (NULL,PERIOD_W1,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_W1,iLowest (NULL,PERIOD_W1,MODE_LOW, PeriodForHL,i))  <
                     iTime(NULL,PERIOD_W1,iHighest(NULL,PERIOD_W1,MODE_HIGH,PeriodForHL,i)))  W1_Up = True;
            if      (iTime(NULL,PERIOD_W1,iHighest(NULL,PERIOD_W1,MODE_HIGH,PeriodForHL,i))  <
                     iTime(NULL,PERIOD_W1,iLowest (NULL,PERIOD_W1,MODE_LOW, PeriodForHL,i)))  W1_Up = False;

      	   MN1_HiPrice	= iHigh(NULL,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,PeriodForHL,i));
      	   MN1_LoPrice	= iLow (NULL,PERIOD_MN1,iLowest (NULL,PERIOD_MN1,MODE_LOW, PeriodForHL,i));

            if      (iTime(NULL,PERIOD_MN1,iLowest (NULL,PERIOD_MN1,MODE_LOW, PeriodForHL,i))  <
                     iTime(NULL,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,PeriodForHL,i)))  MN1_Up = True;
            if      (iTime(NULL,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,PeriodForHL,i))  <
                     iTime(NULL,PERIOD_MN1,iLowest (NULL,PERIOD_MN1,MODE_LOW, PeriodForHL,i)))  MN1_Up = False;
      	}
//+------------------------------------------------------------------+
      }
//+------------------------------------------------------------------+
   	if((TFCountD1 == 1))
   	{
      	if(TimeDayOfWeek(iTime(NULL,PERIOD_D1,PeriodShiftBegin+PeriodForHL-1)) == 0)
      	{
      		D1_HiPrice = MathMax(D1_HiPrice,iHigh(NULL,PERIOD_D1,1));
      		D1_LoPrice = MathMin(D1_LoPrice,iLow (NULL,PERIOD_D1,1));
      	}
      }
   }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   if(UseZigZagForHL)
   {
         for (i=ZZDepth+200; i>=0; i--)
         {
            int y = iBarShift(NULL,0,Time[i]);
            int x = iBarShift(NULL,0,Time[i+1]);
               if (x != y)
               {
                     if(ShowZigZag)
                         ZZBuffer[i] = iCustom(NULL,0,         "ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     M1_ZZBuffer[i]  = iCustom(NULL,PERIOD_M1, "ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     M5_ZZBuffer[i]  = iCustom(NULL,PERIOD_M5, "ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     M15_ZZBuffer[i] = iCustom(NULL,PERIOD_M15,"ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     M30_ZZBuffer[i] = iCustom(NULL,PERIOD_M30,"ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     H1_ZZBuffer[i]  = iCustom(NULL,PERIOD_H1, "ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     H4_ZZBuffer[i]  = iCustom(NULL,PERIOD_H4, "ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     D1_ZZBuffer[i]  = iCustom(NULL,PERIOD_D1, "ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     W1_ZZBuffer[i]  = iCustom(NULL,PERIOD_W1, "ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
                     MN1_ZZBuffer[i] = iCustom(NULL,PERIOD_MN1,"ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,y);
               }
               else
               {
                     if(ShowZigZag)
                         ZZBuffer[i] = 0;
                     M1_ZZBuffer[i]  = 0;
                     M5_ZZBuffer[i]  = 0;
                     M15_ZZBuffer[i] = 0;
                     M30_ZZBuffer[i] = 0;
                     H1_ZZBuffer[i]  = 0;
                     H4_ZZBuffer[i]  = 0;
                     D1_ZZBuffer[i]  = 0;
                     W1_ZZBuffer[i]  = 0;
                     MN1_ZZBuffer[i] = 0;
               }
         }
        	i=0; h=0; while(M1_ZZBuffer[h] ==0) { h++; } M1_LastZigZag     =h;
              h++; while(M1_ZZBuffer[h] ==0) { h++; } M1_PreviousZigZag =h;
        	i=0; h=0; while(M5_ZZBuffer[h] ==0) { h++; } M5_LastZigZag     =h;
              h++; while(M5_ZZBuffer[h] ==0) { h++; } M5_PreviousZigZag =h;
        	i=0; h=0; while(M15_ZZBuffer[h]==0) { h++; } M15_LastZigZag    =h;
              h++; while(M15_ZZBuffer[h]==0) { h++; } M15_PreviousZigZag=h;
        	i=0; h=0; while(M30_ZZBuffer[h]==0) { h++; } M30_LastZigZag    =h;
              h++; while(M30_ZZBuffer[h]==0) { h++; } M30_PreviousZigZag=h;
        	i=0; h=0; while(H1_ZZBuffer[h] ==0) { h++; } H1_LastZigZag     =h;
              h++; while(H1_ZZBuffer[h] ==0) { h++; } H1_PreviousZigZag =h;
        	i=0; h=0; while(H4_ZZBuffer[h] ==0) { h++; } H4_LastZigZag     =h;
              h++; while(H4_ZZBuffer[h] ==0) { h++; } H4_PreviousZigZag =h;
        	i=0; h=0; while(D1_ZZBuffer[h] ==0) { h++; } D1_LastZigZag     =h;
              h++; while(D1_ZZBuffer[h] ==0) { h++; } D1_PreviousZigZag =h;
        	i=0; h=0; while(W1_ZZBuffer[h] ==0) { h++; } W1_LastZigZag     =h;
              h++; while(W1_ZZBuffer[h] ==0) { h++; } W1_PreviousZigZag =h;
        	i=0; h=0; while(MN1_ZZBuffer[h]==0) { h++; } MN1_LastZigZag    =h;
              h++; while(MN1_ZZBuffer[h]==0) { h++; } MN1_PreviousZigZag=h;
//+------------------------------------------------------------------+
         if (M1_OldLastZigZag != M1_LastZigZag || M1_OldPreviousZigZag != M1_PreviousZigZag)
         {
             M1_OldLastZigZag  = M1_LastZigZag;   M1_OldPreviousZigZag  = M1_PreviousZigZag;

            if(!SwitchFibo) { M1_HiPrice =  M1_ZZBuffer[M1_PreviousZigZag];  M1_LoPrice  =  M1_ZZBuffer[M1_LastZigZag];     }
            else            { M1_LoPrice =  M1_ZZBuffer[M1_LastZigZag];      M1_HiPrice  =  M1_ZZBuffer[M1_PreviousZigZag]; }
            
                 if(M1_ZZBuffer[M1_PreviousZigZag] < M1_ZZBuffer[M1_LastZigZag]) M1_Up = True;
            else if(M1_ZZBuffer[M1_PreviousZigZag] > M1_ZZBuffer[M1_LastZigZag]) M1_Up = False;
         }
//+------------------------------------------------------------------+
         if (M5_OldLastZigZag != M5_LastZigZag || M5_OldPreviousZigZag != M5_PreviousZigZag)
         {
             M5_OldLastZigZag  = M5_LastZigZag;   M5_OldPreviousZigZag  = M5_PreviousZigZag;

            if(!SwitchFibo) { M5_HiPrice =  M5_ZZBuffer[M5_PreviousZigZag];  M5_LoPrice  =  M5_ZZBuffer[M5_LastZigZag];     }
            else            { M5_LoPrice =  M5_ZZBuffer[M5_LastZigZag];      M5_HiPrice  =  M5_ZZBuffer[M5_PreviousZigZag]; }
            
                 if(M5_ZZBuffer[M5_PreviousZigZag] < M5_ZZBuffer[M5_LastZigZag]) M5_Up = True;
            else if(M5_ZZBuffer[M5_PreviousZigZag] > M5_ZZBuffer[M5_LastZigZag]) M5_Up = False;
         }
//+------------------------------------------------------------------+
         if (M15_OldLastZigZag != M15_LastZigZag || M15_OldPreviousZigZag != M15_PreviousZigZag)
         {
             M15_OldLastZigZag  = M15_LastZigZag;   M15_OldPreviousZigZag  = M15_PreviousZigZag;

            if(!SwitchFibo) { M15_HiPrice =  M15_ZZBuffer[M15_PreviousZigZag];  M15_LoPrice  =  M15_ZZBuffer[M15_LastZigZag];     }
            else            { M15_LoPrice =  M15_ZZBuffer[M15_LastZigZag];      M15_HiPrice  =  M15_ZZBuffer[M15_PreviousZigZag]; }
            
                 if(M15_ZZBuffer[M15_PreviousZigZag] < M15_ZZBuffer[M15_LastZigZag]) M15_Up = True;
            else if(M15_ZZBuffer[M15_PreviousZigZag] > M15_ZZBuffer[M15_LastZigZag]) M15_Up = False;
         }
//+------------------------------------------------------------------+
         if (M30_OldLastZigZag != M30_LastZigZag || M30_OldPreviousZigZag != M30_PreviousZigZag)
         {
             M30_OldLastZigZag  = M30_LastZigZag;   M30_OldPreviousZigZag  = M30_PreviousZigZag;

            if(!SwitchFibo) { M30_HiPrice =  M30_ZZBuffer[M30_PreviousZigZag];  M30_LoPrice  =  M30_ZZBuffer[M30_LastZigZag];     }
            else            { M30_LoPrice =  M30_ZZBuffer[M30_LastZigZag];      M30_HiPrice  =  M30_ZZBuffer[M30_PreviousZigZag]; }
            
                 if(M30_ZZBuffer[M30_PreviousZigZag] < M30_ZZBuffer[M30_LastZigZag]) M30_Up = True;
            else if(M30_ZZBuffer[M30_PreviousZigZag] > M30_ZZBuffer[M30_LastZigZag]) M30_Up = False;
         }
//+------------------------------------------------------------------+
         if (H1_OldLastZigZag != H1_LastZigZag || H1_OldPreviousZigZag != H1_PreviousZigZag)
         {
             H1_OldLastZigZag  = H1_LastZigZag;   H1_OldPreviousZigZag  = H1_PreviousZigZag;

            if(!SwitchFibo) { H1_HiPrice =  H1_ZZBuffer[H1_PreviousZigZag];  H1_LoPrice  =  H1_ZZBuffer[H1_LastZigZag];     }
            else            { H1_LoPrice =  H1_ZZBuffer[H1_LastZigZag];      H1_HiPrice  =  H1_ZZBuffer[H1_PreviousZigZag]; }
            
                 if(H1_ZZBuffer[H1_PreviousZigZag] < H1_ZZBuffer[H1_LastZigZag]) H1_Up = True;
            else if(H1_ZZBuffer[H1_PreviousZigZag] > H1_ZZBuffer[H1_LastZigZag]) H1_Up = False;
         }
//+------------------------------------------------------------------+
         if (H4_OldLastZigZag != H4_LastZigZag || H4_OldPreviousZigZag != H4_PreviousZigZag)
         {
             H4_OldLastZigZag  = H4_LastZigZag;   H4_OldPreviousZigZag  = H4_PreviousZigZag;

            if(!SwitchFibo) { H4_HiPrice  =  H4_ZZBuffer[H4_PreviousZigZag];  H4_LoPrice  =  H4_ZZBuffer[H4_LastZigZag];     }
            else            { H4_LoPrice  =  H4_ZZBuffer[H4_LastZigZag];      H4_HiPrice  =  H4_ZZBuffer[H4_PreviousZigZag]; }
            
                 if(H4_ZZBuffer[H4_PreviousZigZag] < H4_ZZBuffer[H4_LastZigZag]) H4_Up = True;
            else if(H4_ZZBuffer[H4_PreviousZigZag] > H4_ZZBuffer[H4_LastZigZag]) H4_Up = False;
         }
//+------------------------------------------------------------------+
         if (D1_OldLastZigZag != D1_LastZigZag || D1_OldPreviousZigZag != D1_PreviousZigZag)
         {
             D1_OldLastZigZag  = D1_LastZigZag;   D1_OldPreviousZigZag  = D1_PreviousZigZag;

            if(!SwitchFibo) { D1_HiPrice =  D1_ZZBuffer[D1_PreviousZigZag];  D1_LoPrice  =  D1_ZZBuffer[D1_LastZigZag];     }
            else            { D1_LoPrice =  D1_ZZBuffer[D1_LastZigZag];      D1_HiPrice  =  D1_ZZBuffer[D1_PreviousZigZag]; }
            
                 if(D1_ZZBuffer[D1_PreviousZigZag] < D1_ZZBuffer[D1_LastZigZag]) D1_Up = True;
            else if(D1_ZZBuffer[D1_PreviousZigZag] > D1_ZZBuffer[D1_LastZigZag]) D1_Up = False;
         }
//+------------------------------------------------------------------+
         if (W1_OldLastZigZag != W1_LastZigZag || W1_OldPreviousZigZag != W1_PreviousZigZag)
         {
             W1_OldLastZigZag  = W1_LastZigZag;   W1_OldPreviousZigZag  = W1_PreviousZigZag;

            if(!SwitchFibo) { W1_HiPrice =  W1_ZZBuffer[W1_PreviousZigZag];  W1_LoPrice  =  W1_ZZBuffer[W1_LastZigZag];     }
            else            { W1_LoPrice =  W1_ZZBuffer[W1_LastZigZag];      W1_HiPrice  =  W1_ZZBuffer[W1_PreviousZigZag]; }
            
                 if(W1_ZZBuffer[W1_PreviousZigZag] < W1_ZZBuffer[W1_LastZigZag]) W1_Up = True;
            else if(W1_ZZBuffer[W1_PreviousZigZag] > W1_ZZBuffer[W1_LastZigZag]) W1_Up = False;
         }
//+------------------------------------------------------------------+
         if (MN1_OldLastZigZag != MN1_LastZigZag || MN1_OldPreviousZigZag != MN1_PreviousZigZag)
         {
             MN1_OldLastZigZag  = MN1_LastZigZag;   MN1_OldPreviousZigZag  = MN1_PreviousZigZag;

            if(!SwitchFibo) { MN1_HiPrice =  MN1_ZZBuffer[MN1_PreviousZigZag];  MN1_LoPrice  =  MN1_ZZBuffer[MN1_LastZigZag];     }
            else            { MN1_LoPrice =  MN1_ZZBuffer[MN1_LastZigZag];      MN1_HiPrice  =  MN1_ZZBuffer[MN1_PreviousZigZag]; }
            
                 if(MN1_ZZBuffer[MN1_PreviousZigZag] < MN1_ZZBuffer[MN1_LastZigZag]) MN1_Up = True;
            else if(MN1_ZZBuffer[MN1_PreviousZigZag] > MN1_ZZBuffer[MN1_LastZigZag]) MN1_Up = False;
         }
   }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && M1_Up) || (SwitchFibo && !M1_Up))
      {
         M1_Range   = M1_HiPrice - M1_LoPrice;
         
         M1_Price_0 = M1_HiPrice - (M1_Range * _0_Level  / 100);
         M1_Price_1 = M1_HiPrice - (M1_Range * _1stLevel / 100);
         M1_Price_2 = M1_HiPrice - (M1_Range * _2ndLevel / 100);
         M1_Price_3 = M1_HiPrice - (M1_Range * _3rdLevel / 100);
         M1_Price_4 = M1_HiPrice - (M1_Range * _4thLevel / 100);
         M1_Price_5 = M1_HiPrice - (M1_Range * _5thLevel / 100);
         M1_Price_6 = M1_HiPrice - (M1_Range * _6thLevel / 100);
         
         M1_Label_0 = _0_Level;  M1_Label_1 = _1stLevel; M1_Label_2 = _2ndLevel; M1_Label_3 = _3rdLevel;
         M1_Label_4 = _4thLevel; M1_Label_5 = _5thLevel; M1_Label_6 = _6thLevel;
      }
      else
      {
         M1_Range   = M1_HiPrice - M1_LoPrice;
         
         M1_Price_0 = M1_LoPrice + (M1_Range * _6thLevel / 100);
         M1_Price_1 = M1_LoPrice + (M1_Range * _5thLevel / 100);
         M1_Price_2 = M1_LoPrice + (M1_Range * _4thLevel / 100);
         M1_Price_3 = M1_LoPrice + (M1_Range * _3rdLevel / 100);
         M1_Price_4 = M1_LoPrice + (M1_Range * _2ndLevel / 100);
         M1_Price_5 = M1_LoPrice + (M1_Range * _1stLevel / 100);
         M1_Price_6 = M1_LoPrice + (M1_Range * _0_Level  / 100);
         
         M1_Label_0 = _6thLevel;  M1_Label_1 = _5thLevel; M1_Label_2 = _4thLevel; M1_Label_3 = _3rdLevel;
         M1_Label_4 = _2ndLevel;  M1_Label_5 = _1stLevel; M1_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         M1_Range   = M1_HiPrice - M1_LoPrice;
         
         M1_Price_0 = M1_LoPrice + (M1_Range * _6thLevel / 100);
         M1_Price_1 = M1_LoPrice + (M1_Range * _5thLevel / 100);
         M1_Price_2 = M1_LoPrice + (M1_Range * _4thLevel / 100);
         M1_Price_3 = M1_LoPrice + (M1_Range * _3rdLevel / 100);
         M1_Price_4 = M1_LoPrice + (M1_Range * _2ndLevel / 100);
         M1_Price_5 = M1_LoPrice + (M1_Range * _1stLevel / 100);
         M1_Price_6 = M1_LoPrice + (M1_Range * _0_Level  / 100);
         
         M1_Label_0 = _6thLevel;  M1_Label_1 = _5thLevel; M1_Label_2 = _4thLevel; M1_Label_3 = _3rdLevel;
         M1_Label_4 = _2ndLevel;  M1_Label_5 = _1stLevel; M1_Label_6 = _0_Level;
      }
      else
      {
         M1_Range   = M1_HiPrice - M1_LoPrice;
         
         M1_Price_0 = M1_HiPrice - (M1_Range * _0_Level  / 100);
         M1_Price_1 = M1_HiPrice - (M1_Range * _1stLevel / 100);
         M1_Price_2 = M1_HiPrice - (M1_Range * _2ndLevel / 100);
         M1_Price_3 = M1_HiPrice - (M1_Range * _3rdLevel / 100);
         M1_Price_4 = M1_HiPrice - (M1_Range * _4thLevel / 100);
         M1_Price_5 = M1_HiPrice - (M1_Range * _5thLevel / 100);
         M1_Price_6 = M1_HiPrice - (M1_Range * _6thLevel / 100);
         
         M1_Label_0 = _0_Level;  M1_Label_1 = _1stLevel; M1_Label_2 = _2ndLevel; M1_Label_3 = _3rdLevel;
         M1_Label_4 = _4thLevel; M1_Label_5 = _5thLevel; M1_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && M5_Up) || (SwitchFibo && !M5_Up))
      {
         M5_Range   = M5_HiPrice - M5_LoPrice;
         
         M5_Price_0 = M5_HiPrice - (M5_Range * _0_Level  / 100);
         M5_Price_1 = M5_HiPrice - (M5_Range * _1stLevel / 100);
         M5_Price_2 = M5_HiPrice - (M5_Range * _2ndLevel / 100);
         M5_Price_3 = M5_HiPrice - (M5_Range * _3rdLevel / 100);
         M5_Price_4 = M5_HiPrice - (M5_Range * _4thLevel / 100);
         M5_Price_5 = M5_HiPrice - (M5_Range * _5thLevel / 100);
         M5_Price_6 = M5_HiPrice - (M5_Range * _6thLevel / 100);
         
         M5_Label_0 = _0_Level;  M5_Label_1 = _1stLevel; M5_Label_2 = _2ndLevel; M5_Label_3 = _3rdLevel;
         M5_Label_4 = _4thLevel; M5_Label_5 = _5thLevel; M5_Label_6 = _6thLevel;
      }
      else
      {
         M5_Range   = M5_HiPrice - M5_LoPrice;
         
         M5_Price_0 = M5_LoPrice + (M5_Range * _6thLevel / 100);
         M5_Price_1 = M5_LoPrice + (M5_Range * _5thLevel / 100);
         M5_Price_2 = M5_LoPrice + (M5_Range * _4thLevel / 100);
         M5_Price_3 = M5_LoPrice + (M5_Range * _3rdLevel / 100);
         M5_Price_4 = M5_LoPrice + (M5_Range * _2ndLevel / 100);
         M5_Price_5 = M5_LoPrice + (M5_Range * _1stLevel / 100);
         M5_Price_6 = M5_LoPrice + (M5_Range * _0_Level  / 100);
         
         M5_Label_0 = _6thLevel;  M5_Label_1 = _5thLevel; M5_Label_2 = _4thLevel; M5_Label_3 = _3rdLevel;
         M5_Label_4 = _2ndLevel;  M5_Label_5 = _1stLevel; M5_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         M5_Range   = M5_HiPrice - M5_LoPrice;
         
         M5_Price_0 = M5_LoPrice + (M5_Range * _6thLevel / 100);
         M5_Price_1 = M5_LoPrice + (M5_Range * _5thLevel / 100);
         M5_Price_2 = M5_LoPrice + (M5_Range * _4thLevel / 100);
         M5_Price_3 = M5_LoPrice + (M5_Range * _3rdLevel / 100);
         M5_Price_4 = M5_LoPrice + (M5_Range * _2ndLevel / 100);
         M5_Price_5 = M5_LoPrice + (M5_Range * _1stLevel / 100);
         M5_Price_6 = M5_LoPrice + (M5_Range * _0_Level  / 100);
         
         M5_Label_0 = _6thLevel;  M5_Label_1 = _5thLevel; M5_Label_2 = _4thLevel; M5_Label_3 = _3rdLevel;
         M5_Label_4 = _2ndLevel;  M5_Label_5 = _1stLevel; M5_Label_6 = _0_Level;
      }
      else
      {
         M5_Range   = M5_HiPrice - M5_LoPrice;
         
         M5_Price_0 = M5_HiPrice - (M5_Range * _0_Level  / 100);
         M5_Price_1 = M5_HiPrice - (M5_Range * _1stLevel / 100);
         M5_Price_2 = M5_HiPrice - (M5_Range * _2ndLevel / 100);
         M5_Price_3 = M5_HiPrice - (M5_Range * _3rdLevel / 100);
         M5_Price_4 = M5_HiPrice - (M5_Range * _4thLevel / 100);
         M5_Price_5 = M5_HiPrice - (M5_Range * _5thLevel / 100);
         M5_Price_6 = M5_HiPrice - (M5_Range * _6thLevel / 100);
         
         M5_Label_0 = _0_Level;  M5_Label_1 = _1stLevel; M5_Label_2 = _2ndLevel; M5_Label_3 = _3rdLevel;
         M5_Label_4 = _4thLevel; M5_Label_5 = _5thLevel; M5_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && M15_Up) || (SwitchFibo && !M15_Up))
      {
         M15_Range   = M15_HiPrice - M15_LoPrice;
         
         M15_Price_0 = M15_HiPrice - (M15_Range * _0_Level  / 100);
         M15_Price_1 = M15_HiPrice - (M15_Range * _1stLevel / 100);
         M15_Price_2 = M15_HiPrice - (M15_Range * _2ndLevel / 100);
         M15_Price_3 = M15_HiPrice - (M15_Range * _3rdLevel / 100);
         M15_Price_4 = M15_HiPrice - (M15_Range * _4thLevel / 100);
         M15_Price_5 = M15_HiPrice - (M15_Range * _5thLevel / 100);
         M15_Price_6 = M15_HiPrice - (M15_Range * _6thLevel / 100);
         
         M15_Label_0 = _0_Level;  M15_Label_1 = _1stLevel; M15_Label_2 = _2ndLevel; M15_Label_3 = _3rdLevel;
         M15_Label_4 = _4thLevel; M15_Label_5 = _5thLevel; M15_Label_6 = _6thLevel;
      }
      else
      {
         M15_Range   = M15_HiPrice - M15_LoPrice;
         
         M15_Price_0 = M15_LoPrice + (M15_Range * _6thLevel / 100);
         M15_Price_1 = M15_LoPrice + (M15_Range * _5thLevel / 100);
         M15_Price_2 = M15_LoPrice + (M15_Range * _4thLevel / 100);
         M15_Price_3 = M15_LoPrice + (M15_Range * _3rdLevel / 100);
         M15_Price_4 = M15_LoPrice + (M15_Range * _2ndLevel / 100);
         M15_Price_5 = M15_LoPrice + (M15_Range * _1stLevel / 100);
         M15_Price_6 = M15_LoPrice + (M15_Range * _0_Level  / 100);
         
         M15_Label_0 = _6thLevel;  M15_Label_1 = _5thLevel; M15_Label_2 = _4thLevel; M15_Label_3 = _3rdLevel;
         M15_Label_4 = _2ndLevel;  M15_Label_5 = _1stLevel; M15_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         M15_Range   = M15_HiPrice - M15_LoPrice;
         
         M15_Price_0 = M15_LoPrice + (M15_Range * _6thLevel / 100);
         M15_Price_1 = M15_LoPrice + (M15_Range * _5thLevel / 100);
         M15_Price_2 = M15_LoPrice + (M15_Range * _4thLevel / 100);
         M15_Price_3 = M15_LoPrice + (M15_Range * _3rdLevel / 100);
         M15_Price_4 = M15_LoPrice + (M15_Range * _2ndLevel / 100);
         M15_Price_5 = M15_LoPrice + (M15_Range * _1stLevel / 100);
         M15_Price_6 = M15_LoPrice + (M15_Range * _0_Level  / 100);
         
         M15_Label_0 = _6thLevel;  M15_Label_1 = _5thLevel; M15_Label_2 = _4thLevel; M15_Label_3 = _3rdLevel;
         M15_Label_4 = _2ndLevel;  M15_Label_5 = _1stLevel; M15_Label_6 = _0_Level;
      }
      else
      {
         M15_Range   = M15_HiPrice - M15_LoPrice;
         
         M15_Price_0 = M15_HiPrice - (M15_Range * _0_Level  / 100);
         M15_Price_1 = M15_HiPrice - (M15_Range * _1stLevel / 100);
         M15_Price_2 = M15_HiPrice - (M15_Range * _2ndLevel / 100);
         M15_Price_3 = M15_HiPrice - (M15_Range * _3rdLevel / 100);
         M15_Price_4 = M15_HiPrice - (M15_Range * _4thLevel / 100);
         M15_Price_5 = M15_HiPrice - (M15_Range * _5thLevel / 100);
         M15_Price_6 = M15_HiPrice - (M15_Range * _6thLevel / 100);
         
         M15_Label_0 = _0_Level;  M15_Label_1 = _1stLevel; M15_Label_2 = _2ndLevel; M15_Label_3 = _3rdLevel;
         M15_Label_4 = _4thLevel; M15_Label_5 = _5thLevel; M15_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && M30_Up) || (SwitchFibo && !M30_Up))
      {
         M30_Range   = M30_HiPrice - M30_LoPrice;
         
         M30_Price_0 = M30_HiPrice - (M30_Range * _0_Level  / 100);
         M30_Price_1 = M30_HiPrice - (M30_Range * _1stLevel / 100);
         M30_Price_2 = M30_HiPrice - (M30_Range * _2ndLevel / 100);
         M30_Price_3 = M30_HiPrice - (M30_Range * _3rdLevel / 100);
         M30_Price_4 = M30_HiPrice - (M30_Range * _4thLevel / 100);
         M30_Price_5 = M30_HiPrice - (M30_Range * _5thLevel / 100);
         M30_Price_6 = M30_HiPrice - (M30_Range * _6thLevel / 100);
         
         M30_Label_0 = _0_Level;  M30_Label_1 = _1stLevel; M30_Label_2 = _2ndLevel; M30_Label_3 = _3rdLevel;
         M30_Label_4 = _4thLevel; M30_Label_5 = _5thLevel; M30_Label_6 = _6thLevel;
      }
      else
      {
         M30_Range   = M30_HiPrice - M30_LoPrice;
         
         M30_Price_0 = M30_LoPrice + (M30_Range * _6thLevel / 100);
         M30_Price_1 = M30_LoPrice + (M30_Range * _5thLevel / 100);
         M30_Price_2 = M30_LoPrice + (M30_Range * _4thLevel / 100);
         M30_Price_3 = M30_LoPrice + (M30_Range * _3rdLevel / 100);
         M30_Price_4 = M30_LoPrice + (M30_Range * _2ndLevel / 100);
         M30_Price_5 = M30_LoPrice + (M30_Range * _1stLevel / 100);
         M30_Price_6 = M30_LoPrice + (M30_Range * _0_Level  / 100);
         
         M30_Label_0 = _6thLevel;  M30_Label_1 = _5thLevel; M30_Label_2 = _4thLevel; M30_Label_3 = _3rdLevel;
         M30_Label_4 = _2ndLevel;  M30_Label_5 = _1stLevel; M30_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         M30_Range   = M30_HiPrice - M30_LoPrice;
         
         M30_Price_0 = M30_LoPrice + (M30_Range * _6thLevel / 100);
         M30_Price_1 = M30_LoPrice + (M30_Range * _5thLevel / 100);
         M30_Price_2 = M30_LoPrice + (M30_Range * _4thLevel / 100);
         M30_Price_3 = M30_LoPrice + (M30_Range * _3rdLevel / 100);
         M30_Price_4 = M30_LoPrice + (M30_Range * _2ndLevel / 100);
         M30_Price_5 = M30_LoPrice + (M30_Range * _1stLevel / 100);
         M30_Price_6 = M30_LoPrice + (M30_Range * _0_Level  / 100);
         
         M30_Label_0 = _6thLevel;  M30_Label_1 = _5thLevel; M30_Label_2 = _4thLevel; M30_Label_3 = _3rdLevel;
         M30_Label_4 = _2ndLevel;  M30_Label_5 = _1stLevel; M30_Label_6 = _0_Level;
      }
      else
      {
         M30_Range   = M30_HiPrice - M30_LoPrice;
         
         M30_Price_0 = M30_HiPrice - (M30_Range * _0_Level  / 100);
         M30_Price_1 = M30_HiPrice - (M30_Range * _1stLevel / 100);
         M30_Price_2 = M30_HiPrice - (M30_Range * _2ndLevel / 100);
         M30_Price_3 = M30_HiPrice - (M30_Range * _3rdLevel / 100);
         M30_Price_4 = M30_HiPrice - (M30_Range * _4thLevel / 100);
         M30_Price_5 = M30_HiPrice - (M30_Range * _5thLevel / 100);
         M30_Price_6 = M30_HiPrice - (M30_Range * _6thLevel / 100);
         
         M30_Label_0 = _0_Level;  M30_Label_1 = _1stLevel; M30_Label_2 = _2ndLevel; M30_Label_3 = _3rdLevel;
         M30_Label_4 = _4thLevel; M30_Label_5 = _5thLevel; M30_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && H1_Up) || (SwitchFibo && !H1_Up))
      {
         H1_Range   = H1_HiPrice - H1_LoPrice;
         
         H1_Price_0 = H1_HiPrice - (H1_Range * _0_Level  / 100);
         H1_Price_1 = H1_HiPrice - (H1_Range * _1stLevel / 100);
         H1_Price_2 = H1_HiPrice - (H1_Range * _2ndLevel / 100);
         H1_Price_3 = H1_HiPrice - (H1_Range * _3rdLevel / 100);
         H1_Price_4 = H1_HiPrice - (H1_Range * _4thLevel / 100);
         H1_Price_5 = H1_HiPrice - (H1_Range * _5thLevel / 100);
         H1_Price_6 = H1_HiPrice - (H1_Range * _6thLevel / 100);
         
         H1_Label_0 = _0_Level;  H1_Label_1 = _1stLevel; H1_Label_2 = _2ndLevel; H1_Label_3 = _3rdLevel;
         H1_Label_4 = _4thLevel; H1_Label_5 = _5thLevel; H1_Label_6 = _6thLevel;
      }
      else
      {
         H1_Range   = H1_HiPrice - H1_LoPrice;
         
         H1_Price_0 = H1_LoPrice + (H1_Range * _6thLevel / 100);
         H1_Price_1 = H1_LoPrice + (H1_Range * _5thLevel / 100);
         H1_Price_2 = H1_LoPrice + (H1_Range * _4thLevel / 100);
         H1_Price_3 = H1_LoPrice + (H1_Range * _3rdLevel / 100);
         H1_Price_4 = H1_LoPrice + (H1_Range * _2ndLevel / 100);
         H1_Price_5 = H1_LoPrice + (H1_Range * _1stLevel / 100);
         H1_Price_6 = H1_LoPrice + (H1_Range * _0_Level  / 100);
         
         H1_Label_0 = _6thLevel;  H1_Label_1 = _5thLevel; H1_Label_2 = _4thLevel; H1_Label_3 = _3rdLevel;
         H1_Label_4 = _2ndLevel;  H1_Label_5 = _1stLevel; H1_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         H1_Range   = H1_HiPrice - H1_LoPrice;
         
         H1_Price_0 = H1_LoPrice + (H1_Range * _6thLevel / 100);
         H1_Price_1 = H1_LoPrice + (H1_Range * _5thLevel / 100);
         H1_Price_2 = H1_LoPrice + (H1_Range * _4thLevel / 100);
         H1_Price_3 = H1_LoPrice + (H1_Range * _3rdLevel / 100);
         H1_Price_4 = H1_LoPrice + (H1_Range * _2ndLevel / 100);
         H1_Price_5 = H1_LoPrice + (H1_Range * _1stLevel / 100);
         H1_Price_6 = H1_LoPrice + (H1_Range * _0_Level  / 100);
         
         H1_Label_0 = _6thLevel;  H1_Label_1 = _5thLevel; H1_Label_2 = _4thLevel; H1_Label_3 = _3rdLevel;
         H1_Label_4 = _2ndLevel;  H1_Label_5 = _1stLevel; H1_Label_6 = _0_Level;
      }
      else
      {
         H1_Range   = H1_HiPrice - H1_LoPrice;
         
         H1_Price_0 = H1_HiPrice - (H1_Range * _0_Level  / 100);
         H1_Price_1 = H1_HiPrice - (H1_Range * _1stLevel / 100);
         H1_Price_2 = H1_HiPrice - (H1_Range * _2ndLevel / 100);
         H1_Price_3 = H1_HiPrice - (H1_Range * _3rdLevel / 100);
         H1_Price_4 = H1_HiPrice - (H1_Range * _4thLevel / 100);
         H1_Price_5 = H1_HiPrice - (H1_Range * _5thLevel / 100);
         H1_Price_6 = H1_HiPrice - (H1_Range * _6thLevel / 100);
         
         H1_Label_0 = _0_Level;  H1_Label_1 = _1stLevel; H1_Label_2 = _2ndLevel; H1_Label_3 = _3rdLevel;
         H1_Label_4 = _4thLevel; H1_Label_5 = _5thLevel; H1_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && H4_Up) || (SwitchFibo && !H4_Up))
      {
         H4_Range   = H4_HiPrice - H4_LoPrice;
         
         H4_Price_0 = H4_HiPrice - (H4_Range * _0_Level  / 100);
         H4_Price_1 = H4_HiPrice - (H4_Range * _1stLevel / 100);
         H4_Price_2 = H4_HiPrice - (H4_Range * _2ndLevel / 100);
         H4_Price_3 = H4_HiPrice - (H4_Range * _3rdLevel / 100);
         H4_Price_4 = H4_HiPrice - (H4_Range * _4thLevel / 100);
         H4_Price_5 = H4_HiPrice - (H4_Range * _5thLevel / 100);
         H4_Price_6 = H4_HiPrice - (H4_Range * _6thLevel / 100);
         
         H4_Label_0 = _0_Level;  H4_Label_1 = _1stLevel; H4_Label_2 = _2ndLevel; H4_Label_3 = _3rdLevel;
         H4_Label_4 = _4thLevel; H4_Label_5 = _5thLevel; H4_Label_6 = _6thLevel;
      }
      else
      {
         H4_Range   = H4_HiPrice - H4_LoPrice;
         
         H4_Price_0 = H4_LoPrice + (H4_Range * _6thLevel / 100);
         H4_Price_1 = H4_LoPrice + (H4_Range * _5thLevel / 100);
         H4_Price_2 = H4_LoPrice + (H4_Range * _4thLevel / 100);
         H4_Price_3 = H4_LoPrice + (H4_Range * _3rdLevel / 100);
         H4_Price_4 = H4_LoPrice + (H4_Range * _2ndLevel / 100);
         H4_Price_5 = H4_LoPrice + (H4_Range * _1stLevel / 100);
         H4_Price_6 = H4_LoPrice + (H4_Range * _0_Level  / 100);
         
         H4_Label_0 = _6thLevel;  H4_Label_1 = _5thLevel; H4_Label_2 = _4thLevel; H4_Label_3 = _3rdLevel;
         H4_Label_4 = _2ndLevel;  H4_Label_5 = _1stLevel; H4_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         H4_Range   = H4_HiPrice - H4_LoPrice;
         
         H4_Price_0 = H4_LoPrice + (H4_Range * _6thLevel / 100);
         H4_Price_1 = H4_LoPrice + (H4_Range * _5thLevel / 100);
         H4_Price_2 = H4_LoPrice + (H4_Range * _4thLevel / 100);
         H4_Price_3 = H4_LoPrice + (H4_Range * _3rdLevel / 100);
         H4_Price_4 = H4_LoPrice + (H4_Range * _2ndLevel / 100);
         H4_Price_5 = H4_LoPrice + (H4_Range * _1stLevel / 100);
         H4_Price_6 = H4_LoPrice + (H4_Range * _0_Level  / 100);
         
         H4_Label_0 = _6thLevel;  H4_Label_1 = _5thLevel; H4_Label_2 = _4thLevel; H4_Label_3 = _3rdLevel;
         H4_Label_4 = _2ndLevel;  H4_Label_5 = _1stLevel; H4_Label_6 = _0_Level;
      }
      else
      {
         H4_Range   = H4_HiPrice - H4_LoPrice;
         
         H4_Price_0 = H4_HiPrice - (H4_Range * _0_Level  / 100);
         H4_Price_1 = H4_HiPrice - (H4_Range * _1stLevel / 100);
         H4_Price_2 = H4_HiPrice - (H4_Range * _2ndLevel / 100);
         H4_Price_3 = H4_HiPrice - (H4_Range * _3rdLevel / 100);
         H4_Price_4 = H4_HiPrice - (H4_Range * _4thLevel / 100);
         H4_Price_5 = H4_HiPrice - (H4_Range * _5thLevel / 100);
         H4_Price_6 = H4_HiPrice - (H4_Range * _6thLevel / 100);
         
         H4_Label_0 = _0_Level;  H4_Label_1 = _1stLevel; H4_Label_2 = _2ndLevel; H4_Label_3 = _3rdLevel;
         H4_Label_4 = _4thLevel; H4_Label_5 = _5thLevel; H4_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && D1_Up) || (SwitchFibo && !D1_Up))
      {
         D1_Range   = D1_HiPrice - D1_LoPrice;
         
         D1_Price_0 = D1_HiPrice - (D1_Range * _0_Level  / 100);
         D1_Price_1 = D1_HiPrice - (D1_Range * _1stLevel / 100);
         D1_Price_2 = D1_HiPrice - (D1_Range * _2ndLevel / 100);
         D1_Price_3 = D1_HiPrice - (D1_Range * _3rdLevel / 100);
         D1_Price_4 = D1_HiPrice - (D1_Range * _4thLevel / 100);
         D1_Price_5 = D1_HiPrice - (D1_Range * _5thLevel / 100);
         D1_Price_6 = D1_HiPrice - (D1_Range * _6thLevel / 100);
         
         D1_Label_0 = _0_Level;  D1_Label_1 = _1stLevel; D1_Label_2 = _2ndLevel; D1_Label_3 = _3rdLevel;
         D1_Label_4 = _4thLevel; D1_Label_5 = _5thLevel; D1_Label_6 = _6thLevel;
      }
      else
      {
         D1_Range   = D1_HiPrice - D1_LoPrice;
         
         D1_Price_0 = D1_LoPrice + (D1_Range * _6thLevel / 100);
         D1_Price_1 = D1_LoPrice + (D1_Range * _5thLevel / 100);
         D1_Price_2 = D1_LoPrice + (D1_Range * _4thLevel / 100);
         D1_Price_3 = D1_LoPrice + (D1_Range * _3rdLevel / 100);
         D1_Price_4 = D1_LoPrice + (D1_Range * _2ndLevel / 100);
         D1_Price_5 = D1_LoPrice + (D1_Range * _1stLevel / 100);
         D1_Price_6 = D1_LoPrice + (D1_Range * _0_Level  / 100);
         
         D1_Label_0 = _6thLevel;  D1_Label_1 = _5thLevel; D1_Label_2 = _4thLevel; D1_Label_3 = _3rdLevel;
         D1_Label_4 = _2ndLevel;  D1_Label_5 = _1stLevel; D1_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         D1_Range   = D1_HiPrice - D1_LoPrice;
         
         D1_Price_0 = D1_LoPrice + (D1_Range * _6thLevel / 100);
         D1_Price_1 = D1_LoPrice + (D1_Range * _5thLevel / 100);
         D1_Price_2 = D1_LoPrice + (D1_Range * _4thLevel / 100);
         D1_Price_3 = D1_LoPrice + (D1_Range * _3rdLevel / 100);
         D1_Price_4 = D1_LoPrice + (D1_Range * _2ndLevel / 100);
         D1_Price_5 = D1_LoPrice + (D1_Range * _1stLevel / 100);
         D1_Price_6 = D1_LoPrice + (D1_Range * _0_Level  / 100);
         
         D1_Label_0 = _6thLevel;  D1_Label_1 = _5thLevel; D1_Label_2 = _4thLevel; D1_Label_3 = _3rdLevel;
         D1_Label_4 = _2ndLevel;  D1_Label_5 = _1stLevel; D1_Label_6 = _0_Level;
      }
      else
      {
         D1_Range   = D1_HiPrice - D1_LoPrice;
         
         D1_Price_0 = D1_HiPrice - (D1_Range * _0_Level  / 100);
         D1_Price_1 = D1_HiPrice - (D1_Range * _1stLevel / 100);
         D1_Price_2 = D1_HiPrice - (D1_Range * _2ndLevel / 100);
         D1_Price_3 = D1_HiPrice - (D1_Range * _3rdLevel / 100);
         D1_Price_4 = D1_HiPrice - (D1_Range * _4thLevel / 100);
         D1_Price_5 = D1_HiPrice - (D1_Range * _5thLevel / 100);
         D1_Price_6 = D1_HiPrice - (D1_Range * _6thLevel / 100);
         
         D1_Label_0 = _0_Level;  D1_Label_1 = _1stLevel; D1_Label_2 = _2ndLevel; D1_Label_3 = _3rdLevel;
         D1_Label_4 = _4thLevel; D1_Label_5 = _5thLevel; D1_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && W1_Up) || (SwitchFibo && !W1_Up))
      {
         W1_Range   = W1_HiPrice - W1_LoPrice;
         
         W1_Price_0 = W1_HiPrice - (W1_Range * _0_Level  / 100);
         W1_Price_1 = W1_HiPrice - (W1_Range * _1stLevel / 100);
         W1_Price_2 = W1_HiPrice - (W1_Range * _2ndLevel / 100);
         W1_Price_3 = W1_HiPrice - (W1_Range * _3rdLevel / 100);
         W1_Price_4 = W1_HiPrice - (W1_Range * _4thLevel / 100);
         W1_Price_5 = W1_HiPrice - (W1_Range * _5thLevel / 100);
         W1_Price_6 = W1_HiPrice - (W1_Range * _6thLevel / 100);
         
         W1_Label_0 = _0_Level;  W1_Label_1 = _1stLevel; W1_Label_2 = _2ndLevel; W1_Label_3 = _3rdLevel;
         W1_Label_4 = _4thLevel; W1_Label_5 = _5thLevel; W1_Label_6 = _6thLevel;
      }
      else
      {
         W1_Range   = W1_HiPrice - W1_LoPrice;
         
         W1_Price_0 = W1_LoPrice + (W1_Range * _6thLevel / 100);
         W1_Price_1 = W1_LoPrice + (W1_Range * _5thLevel / 100);
         W1_Price_2 = W1_LoPrice + (W1_Range * _4thLevel / 100);
         W1_Price_3 = W1_LoPrice + (W1_Range * _3rdLevel / 100);
         W1_Price_4 = W1_LoPrice + (W1_Range * _2ndLevel / 100);
         W1_Price_5 = W1_LoPrice + (W1_Range * _1stLevel / 100);
         W1_Price_6 = W1_LoPrice + (W1_Range * _0_Level  / 100);
         
         W1_Label_0 = _6thLevel;  W1_Label_1 = _5thLevel; W1_Label_2 = _4thLevel; W1_Label_3 = _3rdLevel;
         W1_Label_4 = _2ndLevel;  W1_Label_5 = _1stLevel; W1_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         W1_Range   = W1_HiPrice - W1_LoPrice;
         
         W1_Price_0 = W1_LoPrice + (W1_Range * _6thLevel / 100);
         W1_Price_1 = W1_LoPrice + (W1_Range * _5thLevel / 100);
         W1_Price_2 = W1_LoPrice + (W1_Range * _4thLevel / 100);
         W1_Price_3 = W1_LoPrice + (W1_Range * _3rdLevel / 100);
         W1_Price_4 = W1_LoPrice + (W1_Range * _2ndLevel / 100);
         W1_Price_5 = W1_LoPrice + (W1_Range * _1stLevel / 100);
         W1_Price_6 = W1_LoPrice + (W1_Range * _0_Level  / 100);
         
         W1_Label_0 = _6thLevel;  W1_Label_1 = _5thLevel; W1_Label_2 = _4thLevel; W1_Label_3 = _3rdLevel;
         W1_Label_4 = _2ndLevel;  W1_Label_5 = _1stLevel; W1_Label_6 = _0_Level;
      }
      else
      {
         W1_Range   = W1_HiPrice - W1_LoPrice;
         
         W1_Price_0 = W1_HiPrice - (W1_Range * _0_Level  / 100);
         W1_Price_1 = W1_HiPrice - (W1_Range * _1stLevel / 100);
         W1_Price_2 = W1_HiPrice - (W1_Range * _2ndLevel / 100);
         W1_Price_3 = W1_HiPrice - (W1_Range * _3rdLevel / 100);
         W1_Price_4 = W1_HiPrice - (W1_Range * _4thLevel / 100);
         W1_Price_5 = W1_HiPrice - (W1_Range * _5thLevel / 100);
         W1_Price_6 = W1_HiPrice - (W1_Range * _6thLevel / 100);
         
         W1_Label_0 = _0_Level;  W1_Label_1 = _1stLevel; W1_Label_2 = _2ndLevel; W1_Label_3 = _3rdLevel;
         W1_Label_4 = _4thLevel; W1_Label_5 = _5thLevel; W1_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
   if(!UseZigZagForHL)
   {
      if((!SwitchFibo && MN1_Up) || (SwitchFibo && !MN1_Up))
      {
         MN1_Range   = MN1_HiPrice - MN1_LoPrice;
         
         MN1_Price_0 = MN1_HiPrice - (MN1_Range * _0_Level  / 100);
         MN1_Price_1 = MN1_HiPrice - (MN1_Range * _1stLevel / 100);
         MN1_Price_2 = MN1_HiPrice - (MN1_Range * _2ndLevel / 100);
         MN1_Price_3 = MN1_HiPrice - (MN1_Range * _3rdLevel / 100);
         MN1_Price_4 = MN1_HiPrice - (MN1_Range * _4thLevel / 100);
         MN1_Price_5 = MN1_HiPrice - (MN1_Range * _5thLevel / 100);
         MN1_Price_6 = MN1_HiPrice - (MN1_Range * _6thLevel / 100);
         
         MN1_Label_0 = _0_Level;  MN1_Label_1 = _1stLevel; MN1_Label_2 = _2ndLevel; MN1_Label_3 = _3rdLevel;
         MN1_Label_4 = _4thLevel; MN1_Label_5 = _5thLevel; MN1_Label_6 = _6thLevel;
      }
      else
      {
         MN1_Range   = MN1_HiPrice - MN1_LoPrice;
         
         MN1_Price_0 = MN1_LoPrice + (MN1_Range * _6thLevel / 100);
         MN1_Price_1 = MN1_LoPrice + (MN1_Range * _5thLevel / 100);
         MN1_Price_2 = MN1_LoPrice + (MN1_Range * _4thLevel / 100);
         MN1_Price_3 = MN1_LoPrice + (MN1_Range * _3rdLevel / 100);
         MN1_Price_4 = MN1_LoPrice + (MN1_Range * _2ndLevel / 100);
         MN1_Price_5 = MN1_LoPrice + (MN1_Range * _1stLevel / 100);
         MN1_Price_6 = MN1_LoPrice + (MN1_Range * _0_Level  / 100);
         
         MN1_Label_0 = _6thLevel;  MN1_Label_1 = _5thLevel; MN1_Label_2 = _4thLevel; MN1_Label_3 = _3rdLevel;
         MN1_Label_4 = _2ndLevel;  MN1_Label_5 = _1stLevel; MN1_Label_6 = _0_Level;
      }
   }
   else
   {
      if(!SwitchFibo)
      {
         MN1_Range   = MN1_HiPrice - MN1_LoPrice;
         
         MN1_Price_0 = MN1_LoPrice + (MN1_Range * _6thLevel / 100);
         MN1_Price_1 = MN1_LoPrice + (MN1_Range * _5thLevel / 100);
         MN1_Price_2 = MN1_LoPrice + (MN1_Range * _4thLevel / 100);
         MN1_Price_3 = MN1_LoPrice + (MN1_Range * _3rdLevel / 100);
         MN1_Price_4 = MN1_LoPrice + (MN1_Range * _2ndLevel / 100);
         MN1_Price_5 = MN1_LoPrice + (MN1_Range * _1stLevel / 100);
         MN1_Price_6 = MN1_LoPrice + (MN1_Range * _0_Level  / 100);
         
         MN1_Label_0 = _6thLevel;  MN1_Label_1 = _5thLevel; MN1_Label_2 = _4thLevel; MN1_Label_3 = _3rdLevel;
         MN1_Label_4 = _2ndLevel;  MN1_Label_5 = _1stLevel; MN1_Label_6 = _0_Level;
      }
      else
      {
         MN1_Range   = MN1_HiPrice - MN1_LoPrice;
         
         MN1_Price_0 = MN1_HiPrice - (MN1_Range * _0_Level  / 100);
         MN1_Price_1 = MN1_HiPrice - (MN1_Range * _1stLevel / 100);
         MN1_Price_2 = MN1_HiPrice - (MN1_Range * _2ndLevel / 100);
         MN1_Price_3 = MN1_HiPrice - (MN1_Range * _3rdLevel / 100);
         MN1_Price_4 = MN1_HiPrice - (MN1_Range * _4thLevel / 100);
         MN1_Price_5 = MN1_HiPrice - (MN1_Range * _5thLevel / 100);
         MN1_Price_6 = MN1_HiPrice - (MN1_Range * _6thLevel / 100);
         
         MN1_Label_0 = _0_Level;  MN1_Label_1 = _1stLevel; MN1_Label_2 = _2ndLevel; MN1_Label_3 = _3rdLevel;
         MN1_Label_4 = _4thLevel; MN1_Label_5 = _5thLevel; MN1_Label_6 = _6thLevel;
      }
   }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
if(ShowLabels)
{
//+------------------------------------------------------------------+
   if(TFCountM1 == 1 && Period()<= PERIOD_M1)
   {
      ObjectCreate (Label+"_M1_Label_1",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,M1_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M1_Label_1",M1_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M1_Label_1",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
          ObjectSet(Label+"_M1_Label_1",OBJPROP_PRICE1,M1_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M1_Label_2",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,M1_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M1_Label_2",M1_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M1_Label_2",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
          ObjectSet(Label+"_M1_Label_2",OBJPROP_PRICE1,M1_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M1_Label_3",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,M1_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M1_Label_3",M1_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M1_Label_3",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
          ObjectSet(Label+"_M1_Label_3",OBJPROP_PRICE1,M1_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M1_Label_4",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,M1_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M1_Label_4",M1_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M1_Label_4",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
          ObjectSet(Label+"_M1_Label_4",OBJPROP_PRICE1,M1_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M1_Label_5",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,M1_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M1_Label_5",M1_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M1_Label_5",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
          ObjectSet(Label+"_M1_Label_5",OBJPROP_PRICE1,M1_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M1_Label_6",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,M1_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M1_Label_6",M1_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M1_Label_6",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
          ObjectSet(Label+"_M1_Label_6",OBJPROP_PRICE1,M1_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M1_Label_7",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,M1_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M1_Label_7",M1_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M1_Label_7",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
          ObjectSet(Label+"_M1_Label_7",OBJPROP_PRICE1,M1_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountM5 == 1 && Period()<= PERIOD_M5)
   {
      ObjectCreate (Label+"_M5_Label_1",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,M5_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M5_Label_1",M5_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M5_Label_1",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
          ObjectSet(Label+"_M5_Label_1",OBJPROP_PRICE1,M5_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M5_Label_2",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,M5_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M5_Label_2",M5_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M5_Label_2",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
          ObjectSet(Label+"_M5_Label_2",OBJPROP_PRICE1,M5_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M5_Label_3",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,M5_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M5_Label_3",M5_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M5_Label_3",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
          ObjectSet(Label+"_M5_Label_3",OBJPROP_PRICE1,M5_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M5_Label_4",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,M5_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M5_Label_4",M5_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M5_Label_4",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
          ObjectSet(Label+"_M5_Label_4",OBJPROP_PRICE1,M5_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M5_Label_5",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,M5_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M5_Label_5",M5_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M5_Label_5",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
          ObjectSet(Label+"_M5_Label_5",OBJPROP_PRICE1,M5_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M5_Label_6",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,M5_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M5_Label_6",M5_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M5_Label_6",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
          ObjectSet(Label+"_M5_Label_6",OBJPROP_PRICE1,M5_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M5_Label_7",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,M5_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M5_Label_7",M5_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M5_Label_7",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
          ObjectSet(Label+"_M5_Label_7",OBJPROP_PRICE1,M5_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountM15 == 1 && Period()<= PERIOD_M15)
   {
      ObjectCreate (Label+"_M15_Label_1",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,M15_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M15_Label_1",M15_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M15_Label_1",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
          ObjectSet(Label+"_M15_Label_1",OBJPROP_PRICE1,M15_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M15_Label_2",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,M15_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M15_Label_2",M15_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M15_Label_2",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
          ObjectSet(Label+"_M15_Label_2",OBJPROP_PRICE1,M15_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M15_Label_3",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,M15_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M15_Label_3",M15_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M15_Label_3",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
          ObjectSet(Label+"_M15_Label_3",OBJPROP_PRICE1,M15_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M15_Label_4",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,M15_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M15_Label_4",M15_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M15_Label_4",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
          ObjectSet(Label+"_M15_Label_4",OBJPROP_PRICE1,M15_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M15_Label_5",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,M15_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M15_Label_5",M15_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M15_Label_5",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
          ObjectSet(Label+"_M15_Label_5",OBJPROP_PRICE1,M15_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M15_Label_6",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,M15_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M15_Label_6",M15_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M15_Label_6",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
          ObjectSet(Label+"_M15_Label_6",OBJPROP_PRICE1,M15_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M15_Label_7",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,M15_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M15_Label_7",M15_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M15_Label_7",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
          ObjectSet(Label+"_M15_Label_7",OBJPROP_PRICE1,M15_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountM30 == 1 && Period()<= PERIOD_M30)
   {
      ObjectCreate (Label+"_M30_Label_1",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,M30_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M30_Label_1",M30_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M30_Label_1",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
          ObjectSet(Label+"_M30_Label_1",OBJPROP_PRICE1,M30_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M30_Label_2",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,M30_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M30_Label_2",M30_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M30_Label_2",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
          ObjectSet(Label+"_M30_Label_2",OBJPROP_PRICE1,M30_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M30_Label_3",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,M30_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M30_Label_3",M30_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M30_Label_3",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
          ObjectSet(Label+"_M30_Label_3",OBJPROP_PRICE1,M30_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M30_Label_4",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,M30_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M30_Label_4",M30_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M30_Label_4",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
          ObjectSet(Label+"_M30_Label_4",OBJPROP_PRICE1,M30_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M30_Label_5",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,M30_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M30_Label_5",M30_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M30_Label_5",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
          ObjectSet(Label+"_M30_Label_5",OBJPROP_PRICE1,M30_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M30_Label_6",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,M30_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M30_Label_6",M30_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M30_Label_6",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
          ObjectSet(Label+"_M30_Label_6",OBJPROP_PRICE1,M30_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_M30_Label_7",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,M30_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_M30_Label_7",M30_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_M30_Label_7",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
          ObjectSet(Label+"_M30_Label_7",OBJPROP_PRICE1,M30_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountH1 == 1 && Period()<= PERIOD_H1)
   {
      ObjectCreate (Label+"_H1_Label_1",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,H1_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H1_Label_1",H1_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H1_Label_1",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
          ObjectSet(Label+"_H1_Label_1",OBJPROP_PRICE1,H1_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H1_Label_2",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,H1_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H1_Label_2",H1_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H1_Label_2",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
          ObjectSet(Label+"_H1_Label_2",OBJPROP_PRICE1,H1_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H1_Label_3",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,H1_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H1_Label_3",H1_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H1_Label_3",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
          ObjectSet(Label+"_H1_Label_3",OBJPROP_PRICE1,H1_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H1_Label_4",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,H1_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H1_Label_4",H1_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H1_Label_4",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
          ObjectSet(Label+"_H1_Label_4",OBJPROP_PRICE1,H1_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H1_Label_5",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,H1_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H1_Label_5",H1_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H1_Label_5",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
          ObjectSet(Label+"_H1_Label_5",OBJPROP_PRICE1,H1_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H1_Label_6",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,H1_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H1_Label_6",H1_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H1_Label_6",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
          ObjectSet(Label+"_H1_Label_6",OBJPROP_PRICE1,H1_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H1_Label_7",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,H1_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H1_Label_7",H1_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H1_Label_7",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
          ObjectSet(Label+"_H1_Label_7",OBJPROP_PRICE1,H1_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountH4 == 1 && Period()<= PERIOD_H4)
   {
      ObjectCreate (Label+"_H4_Label_1",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,H4_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H4_Label_1",H4_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H4_Label_1",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
          ObjectSet(Label+"_H4_Label_1",OBJPROP_PRICE1,H4_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H4_Label_2",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,H4_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H4_Label_2",H4_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H4_Label_2",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
          ObjectSet(Label+"_H4_Label_2",OBJPROP_PRICE1,H4_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H4_Label_3",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,H4_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H4_Label_3",H4_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H4_Label_3",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
          ObjectSet(Label+"_H4_Label_3",OBJPROP_PRICE1,H4_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H4_Label_4",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,H4_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H4_Label_4",H4_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H4_Label_4",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
          ObjectSet(Label+"_H4_Label_4",OBJPROP_PRICE1,H4_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H4_Label_5",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,H4_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H4_Label_5",H4_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H4_Label_5",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
          ObjectSet(Label+"_H4_Label_5",OBJPROP_PRICE1,H4_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H4_Label_6",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,H4_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H4_Label_6",H4_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H4_Label_6",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
          ObjectSet(Label+"_H4_Label_6",OBJPROP_PRICE1,H4_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_H4_Label_7",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,H4_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_H4_Label_7",H4_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_H4_Label_7",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
          ObjectSet(Label+"_H4_Label_7",OBJPROP_PRICE1,H4_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountD1 == 1 && Period()<= PERIOD_D1)
   {
      ObjectCreate (Label+"_D1_Label_1",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,D1_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_D1_Label_1",D1_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_D1_Label_1",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
          ObjectSet(Label+"_D1_Label_1",OBJPROP_PRICE1,D1_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_D1_Label_2",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,D1_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_D1_Label_2",D1_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_D1_Label_2",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
          ObjectSet(Label+"_D1_Label_2",OBJPROP_PRICE1,D1_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_D1_Label_3",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,D1_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_D1_Label_3",D1_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_D1_Label_3",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
          ObjectSet(Label+"_D1_Label_3",OBJPROP_PRICE1,D1_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_D1_Label_4",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,D1_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_D1_Label_4",D1_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_D1_Label_4",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
          ObjectSet(Label+"_D1_Label_4",OBJPROP_PRICE1,D1_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_D1_Label_5",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,D1_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_D1_Label_5",D1_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_D1_Label_5",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
          ObjectSet(Label+"_D1_Label_5",OBJPROP_PRICE1,D1_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_D1_Label_6",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,D1_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_D1_Label_6",D1_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_D1_Label_6",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
          ObjectSet(Label+"_D1_Label_6",OBJPROP_PRICE1,D1_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_D1_Label_7",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,D1_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_D1_Label_7",D1_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_D1_Label_7",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
          ObjectSet(Label+"_D1_Label_7",OBJPROP_PRICE1,D1_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountW1 == 1 && Period()<= PERIOD_W1)
   {
      ObjectCreate (Label+"_W1_Label_1",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,W1_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_W1_Label_1",W1_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_W1_Label_1",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
          ObjectSet(Label+"_W1_Label_1",OBJPROP_PRICE1,W1_Price_0+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_W1_Label_2",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,W1_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_W1_Label_2",W1_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_W1_Label_2",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
          ObjectSet(Label+"_W1_Label_2",OBJPROP_PRICE1,W1_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_W1_Label_3",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,W1_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_W1_Label_3",W1_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_W1_Label_3",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
          ObjectSet(Label+"_W1_Label_3",OBJPROP_PRICE1,W1_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_W1_Label_4",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,W1_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_W1_Label_4",W1_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_W1_Label_4",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
          ObjectSet(Label+"_W1_Label_4",OBJPROP_PRICE1,W1_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_W1_Label_5",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,W1_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_W1_Label_5",W1_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_W1_Label_5",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
          ObjectSet(Label+"_W1_Label_5",OBJPROP_PRICE1,W1_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_W1_Label_6",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,W1_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_W1_Label_6",W1_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_W1_Label_6",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
          ObjectSet(Label+"_W1_Label_6",OBJPROP_PRICE1,W1_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_W1_Label_7",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,W1_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_W1_Label_7",W1_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_W1_Label_7",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
          ObjectSet(Label+"_W1_Label_7",OBJPROP_PRICE1,W1_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
   if(TFCountMN1 == 1 && Period()<= PERIOD_MN1)
   {
      ObjectCreate (Label+"_MN1_Label_1",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,MN1_Price_0+LabelsShiftVert*Point);
      ObjectSetText(Label+"_MN1_Label_1",MN1_Label_0,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_MN1_Label_1",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
          ObjectSet(Label+"_MN1_Label_1",OBJPROP_PRICE1,MN1_Price_0+LabelsShiftVert*Point);
      
      ObjectCreate (Label+"_MN1_Label_2",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,MN1_Price_1+LabelsShiftVert*Point);
      ObjectSetText(Label+"_MN1_Label_2",MN1_Label_1,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_MN1_Label_2",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
          ObjectSet(Label+"_MN1_Label_2",OBJPROP_PRICE1,MN1_Price_1+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_MN1_Label_3",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,MN1_Price_2+LabelsShiftVert*Point);
      ObjectSetText(Label+"_MN1_Label_3",MN1_Label_2,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_MN1_Label_3",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
          ObjectSet(Label+"_MN1_Label_3",OBJPROP_PRICE1,MN1_Price_2+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_MN1_Label_4",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,MN1_Price_3+LabelsShiftVert*Point);
      ObjectSetText(Label+"_MN1_Label_4",MN1_Label_3,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_MN1_Label_4",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
          ObjectSet(Label+"_MN1_Label_4",OBJPROP_PRICE1,MN1_Price_3+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_MN1_Label_5",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,MN1_Price_4+LabelsShiftVert*Point);
      ObjectSetText(Label+"_MN1_Label_5",MN1_Label_4,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_MN1_Label_5",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
          ObjectSet(Label+"_MN1_Label_5",OBJPROP_PRICE1,MN1_Price_4+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_MN1_Label_6",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,MN1_Price_5+LabelsShiftVert*Point);
      ObjectSetText(Label+"_MN1_Label_6",MN1_Label_5,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_MN1_Label_6",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
          ObjectSet(Label+"_MN1_Label_6",OBJPROP_PRICE1,MN1_Price_5+LabelsShiftVert*Point);
   
      ObjectCreate (Label+"_MN1_Label_7",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,MN1_Price_6+LabelsShiftVert*Point);
      ObjectSetText(Label+"_MN1_Label_7",MN1_Label_6,LabelsFontWidth,NULL,LabelsColor);
          ObjectSet(Label+"_MN1_Label_7",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
          ObjectSet(Label+"_MN1_Label_7",OBJPROP_PRICE1,MN1_Price_6+LabelsShiftVert*Point);
   }
//+------------------------------------------------------------------+
      for(i=1; i<8; i++)
      {
         ObjectSet(Label+"_M1_Label_"+i, OBJPROP_ANCHOR,ANCHOR_LOWER);
         ObjectSet(Label+"_M5_Label_"+i, OBJPROP_ANCHOR,ANCHOR_LOWER);
         ObjectSet(Label+"_M15_Label_"+i,OBJPROP_ANCHOR,ANCHOR_LOWER);
         ObjectSet(Label+"_M30_Label_"+i,OBJPROP_ANCHOR,ANCHOR_LOWER);
         ObjectSet(Label+"_H1_Label_"+i, OBJPROP_ANCHOR,ANCHOR_LOWER);
         ObjectSet(Label+"_H4_Label_"+i, OBJPROP_ANCHOR,ANCHOR_LOWER);
         ObjectSet(Label+"_D1_Label_"+i, OBJPROP_ANCHOR,ANCHOR_LOWER);
         ObjectSet(Label+"_W1_Label_"+i, OBJPROP_ANCHOR,ANCHOR_LOWER);
      	ObjectSet(Label+"_MN1_Label_"+i,OBJPROP_ANCHOR,ANCHOR_LOWER);
   	}
}
//+------------------------------------------------------------------+
else
{
   for(i=ObjectsTotal()-1; i>=0; i--)
   {
       string name  = "Label";
       string label = ObjectName(i);
       if(StringSubstr(label,0,StringLen(name)) != name)
           continue;
       ObjectDelete(label);
   }
}
//+------------------------------------------------------------------+
if(ShowTFDescription)
{
      double Price_Description = iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,ChartScaleDescription,0));

   	if(TFCountM1 == 1 && Period() <= PERIOD_M1)
   	{
      	 ObjectCreate(Label+"_Description_1",OBJ_TEXT,0,(M1_Time_3+M1_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_1",StringM1,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_1",OBJPROP_TIME1,(M1_Time_3+M1_Time_2)/2);
      	    ObjectSet(Label+"_Description_1",OBJPROP_PRICE1,Price_Description);
   	}

   	if(TFCountM5 == 1 && Period() <= PERIOD_M5)
   	{
      	 ObjectCreate(Label+"_Description_2",OBJ_TEXT,0,(M5_Time_3+M5_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_2",StringM5,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_2",OBJPROP_TIME1,(M5_Time_3+M5_Time_2)/2);
      	    ObjectSet(Label+"_Description_2",OBJPROP_PRICE1,Price_Description);
   	}
   	
   	if(TFCountM15 == 1 && Period() <= PERIOD_M15)
   	{
      	 ObjectCreate(Label+"_Description_3",OBJ_TEXT,0,(M15_Time_3+M15_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_3",StringM15,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_3",OBJPROP_TIME1,(M15_Time_3+M15_Time_2)/2);
      	    ObjectSet(Label+"_Description_3",OBJPROP_PRICE1,Price_Description);
   	}
   	
   	if(TFCountM30 == 1 && Period() <= PERIOD_M30)
   	{
      	 ObjectCreate(Label+"_Description_4",OBJ_TEXT,0,(M30_Time_3+M30_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_4",StringM30,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_4",OBJPROP_TIME1,(M30_Time_3+M30_Time_2)/2);
      	    ObjectSet(Label+"_Description_4",OBJPROP_PRICE1,Price_Description);
   	}
   	
   	if(TFCountH1 == 1 && Period() <= PERIOD_H1)
   	{
      	 ObjectCreate(Label+"_Description_5",OBJ_TEXT,0,(H1_Time_3+H1_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_5",StringH1,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_5",OBJPROP_TIME1,(H1_Time_3+H1_Time_2)/2);
      	    ObjectSet(Label+"_Description_5",OBJPROP_PRICE1,Price_Description);
   	}
   	
   	if(TFCountH4 == 1 && Period() <= PERIOD_H4)
   	{
      	 ObjectCreate(Label+"_Description_6",OBJ_TEXT,0,(H4_Time_3+H4_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_6",StringH4,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_6",OBJPROP_TIME1,(H4_Time_3+H4_Time_2)/2);
      	    ObjectSet(Label+"_Description_6",OBJPROP_PRICE1,Price_Description);
   	}
   	
   	if(TFCountD1 == 1 && Period() <= PERIOD_D1)
   	{
      	 ObjectCreate(Label+"_Description_7",OBJ_TEXT,0,(D1_Time_3+D1_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_7",StringD1,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_7",OBJPROP_TIME1,(D1_Time_3+D1_Time_2)/2);
      	    ObjectSet(Label+"_Description_7",OBJPROP_PRICE1,Price_Description);
   	}
   	
   	if(TFCountW1 == 1 && Period() <= PERIOD_W1)
   	{
      	 ObjectCreate(Label+"_Description_8",OBJ_TEXT,0,(W1_Time_3+W1_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_8",StringW1,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_8",OBJPROP_TIME1,(W1_Time_3+W1_Time_2)/2);
      	    ObjectSet(Label+"_Description_8",OBJPROP_PRICE1,Price_Description);
   	}
   	
   	if(TFCountMN1 == 1 && Period() <= PERIOD_MN1)
   	{
      	 ObjectCreate(Label+"_Description_9",OBJ_TEXT,0,(MN1_Time_3+MN1_Time_2)/2,Price_Description);
         ObjectSetText(Label+"_Description_9",StringMN1,TFDescriptionFontWidth,NULL,TFDescriptionColor);
      	    ObjectSet(Label+"_Description_9",OBJPROP_TIME1,(MN1_Time_3+MN1_Time_2)/2);
      	    ObjectSet(Label+"_Description_9",OBJPROP_PRICE1,Price_Description);
   	}
}
//+------------------------------------------------------------------+
else
{
   for(i=ObjectsTotal()-1; i>=0; i--)
   {
       string name3  = "Description";
       string label3 = ObjectName(i);
       if(StringSubstr(label3,0,StringLen(name3)) != name3)
           continue;
       ObjectDelete(label3);
   }
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   if(TFCountM1 == 1 && Period()<= PERIOD_M1)
   {
      ObjectCreate(Label+"_M1_1",OBJ_TREND,0,M1_Time_1,M1_Price_0,M1_Time_2,M1_Price_0);
         ObjectSet(Label+"_M1_1",OBJPROP_TIME1, M1_Time_1);
         ObjectSet(Label+"_M1_1",OBJPROP_PRICE1,M1_Price_0);
         ObjectSet(Label+"_M1_1",OBJPROP_TIME2, M1_Time_2);
         ObjectSet(Label+"_M1_1",OBJPROP_PRICE2,M1_Price_0);
   
      ObjectCreate(Label+"_M1_2",OBJ_TREND,0,M1_Time_1,M1_Price_1,M1_Time_2,M1_Price_1);
         ObjectSet(Label+"_M1_2",OBJPROP_TIME1, M1_Time_1);
         ObjectSet(Label+"_M1_2",OBJPROP_PRICE1,M1_Price_1);
         ObjectSet(Label+"_M1_2",OBJPROP_TIME2, M1_Time_2);
         ObjectSet(Label+"_M1_2",OBJPROP_PRICE2,M1_Price_1);
   
      ObjectCreate(Label+"_M1_3",OBJ_TREND,0,M1_Time_1,M1_Price_2,M1_Time_2,M1_Price_2);
         ObjectSet(Label+"_M1_3",OBJPROP_TIME1, M1_Time_1);
         ObjectSet(Label+"_M1_3",OBJPROP_PRICE1,M1_Price_2);
         ObjectSet(Label+"_M1_3",OBJPROP_TIME2, M1_Time_2);
         ObjectSet(Label+"_M1_3",OBJPROP_PRICE2,M1_Price_2);
   
      ObjectCreate(Label+"_M1_4",OBJ_TREND,0,M1_Time_1,M1_Price_3,M1_Time_2,M1_Price_3);
         ObjectSet(Label+"_M1_4",OBJPROP_TIME1, M1_Time_1);
         ObjectSet(Label+"_M1_4",OBJPROP_PRICE1,M1_Price_3);
         ObjectSet(Label+"_M1_4",OBJPROP_TIME2, M1_Time_2);
         ObjectSet(Label+"_M1_4",OBJPROP_PRICE2,M1_Price_3);
   
      ObjectCreate(Label+"_M1_5",OBJ_TREND,0,M1_Time_1,M1_Price_4,M1_Time_2,M1_Price_4);
         ObjectSet(Label+"_M1_5",OBJPROP_TIME1, M1_Time_1);
         ObjectSet(Label+"_M1_5",OBJPROP_PRICE1,M1_Price_4);
         ObjectSet(Label+"_M1_5",OBJPROP_TIME2, M1_Time_2);
         ObjectSet(Label+"_M1_5",OBJPROP_PRICE2,M1_Price_4);
   
      ObjectCreate(Label+"_M1_6",OBJ_TREND,0,M1_Time_1,M1_Price_5,M1_Time_2,M1_Price_5);
         ObjectSet(Label+"_M1_6",OBJPROP_TIME1, M1_Time_1);
         ObjectSet(Label+"_M1_6",OBJPROP_PRICE1,M1_Price_5);
         ObjectSet(Label+"_M1_6",OBJPROP_TIME2, M1_Time_2);
         ObjectSet(Label+"_M1_6",OBJPROP_PRICE2,M1_Price_5);
            
      ObjectCreate(Label+"_M1_7",OBJ_TREND,0,M1_Time_1,M1_Price_6,M1_Time_2,M1_Price_6);
         ObjectSet(Label+"_M1_7",OBJPROP_TIME1, M1_Time_1);
         ObjectSet(Label+"_M1_7",OBJPROP_PRICE1,M1_Price_6);
         ObjectSet(Label+"_M1_7",OBJPROP_TIME2, M1_Time_2);
         ObjectSet(Label+"_M1_7",OBJPROP_PRICE2,M1_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountM5 == 1 && Period()<= PERIOD_M5)
   {
      ObjectCreate(Label+"_M5_1",OBJ_TREND,0,M5_Time_1,M5_Price_0,M5_Time_2,M5_Price_0);
         ObjectSet(Label+"_M5_1",OBJPROP_TIME1, M5_Time_1);
         ObjectSet(Label+"_M5_1",OBJPROP_PRICE1,M5_Price_0);
         ObjectSet(Label+"_M5_1",OBJPROP_TIME2, M5_Time_2);
         ObjectSet(Label+"_M5_1",OBJPROP_PRICE2,M5_Price_0);
   
      ObjectCreate(Label+"_M5_2",OBJ_TREND,0,M5_Time_1,M5_Price_1,M5_Time_2,M5_Price_1);
         ObjectSet(Label+"_M5_2",OBJPROP_TIME1, M5_Time_1);
         ObjectSet(Label+"_M5_2",OBJPROP_PRICE1,M5_Price_1);
         ObjectSet(Label+"_M5_2",OBJPROP_TIME2, M5_Time_2);
         ObjectSet(Label+"_M5_2",OBJPROP_PRICE2,M5_Price_1);
   
      ObjectCreate(Label+"_M5_3",OBJ_TREND,0,M5_Time_1,M5_Price_2,M5_Time_2,M5_Price_2);
         ObjectSet(Label+"_M5_3",OBJPROP_TIME1, M5_Time_1);
         ObjectSet(Label+"_M5_3",OBJPROP_PRICE1,M5_Price_2);
         ObjectSet(Label+"_M5_3",OBJPROP_TIME2, M5_Time_2);
         ObjectSet(Label+"_M5_3",OBJPROP_PRICE2,M5_Price_2);
   
      ObjectCreate(Label+"_M5_4",OBJ_TREND,0,M5_Time_1,M5_Price_3,M5_Time_2,M5_Price_3);
         ObjectSet(Label+"_M5_4",OBJPROP_TIME1, M5_Time_1);
         ObjectSet(Label+"_M5_4",OBJPROP_PRICE1,M5_Price_3);
         ObjectSet(Label+"_M5_4",OBJPROP_TIME2, M5_Time_2);
         ObjectSet(Label+"_M5_4",OBJPROP_PRICE2,M5_Price_3);
   
      ObjectCreate(Label+"_M5_5",OBJ_TREND,0,M5_Time_1,M5_Price_4,M5_Time_2,M5_Price_4);
         ObjectSet(Label+"_M5_5",OBJPROP_TIME1, M5_Time_1);
         ObjectSet(Label+"_M5_5",OBJPROP_PRICE1,M5_Price_4);
         ObjectSet(Label+"_M5_5",OBJPROP_TIME2, M5_Time_2);
         ObjectSet(Label+"_M5_5",OBJPROP_PRICE2,M5_Price_4);
   
      ObjectCreate(Label+"_M5_6",OBJ_TREND,0,M5_Time_1,M5_Price_5,M5_Time_2,M5_Price_5);
         ObjectSet(Label+"_M5_6",OBJPROP_TIME1, M5_Time_1);
         ObjectSet(Label+"_M5_6",OBJPROP_PRICE1,M5_Price_5);
         ObjectSet(Label+"_M5_6",OBJPROP_TIME2, M5_Time_2);
         ObjectSet(Label+"_M5_6",OBJPROP_PRICE2,M5_Price_5);
            
      ObjectCreate(Label+"_M5_7",OBJ_TREND,0,M5_Time_1,M5_Price_6,M5_Time_2,M5_Price_6);
         ObjectSet(Label+"_M5_7",OBJPROP_TIME1, M5_Time_1);
         ObjectSet(Label+"_M5_7",OBJPROP_PRICE1,M5_Price_6);
         ObjectSet(Label+"_M5_7",OBJPROP_TIME2, M5_Time_2);
         ObjectSet(Label+"_M5_7",OBJPROP_PRICE2,M5_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountM15 == 1 && Period()<= PERIOD_M15)
   {
      ObjectCreate(Label+"_M15_1",OBJ_TREND,0,M15_Time_1,M15_Price_0,M15_Time_2,M15_Price_0);
         ObjectSet(Label+"_M15_1",OBJPROP_TIME1, M15_Time_1);
         ObjectSet(Label+"_M15_1",OBJPROP_PRICE1,M15_Price_0);
         ObjectSet(Label+"_M15_1",OBJPROP_TIME2, M15_Time_2);
         ObjectSet(Label+"_M15_1",OBJPROP_PRICE2,M15_Price_0);
   
      ObjectCreate(Label+"_M15_2",OBJ_TREND,0,M15_Time_1,M15_Price_1,M15_Time_2,M15_Price_1);
         ObjectSet(Label+"_M15_2",OBJPROP_TIME1, M15_Time_1);
         ObjectSet(Label+"_M15_2",OBJPROP_PRICE1,M15_Price_1);
         ObjectSet(Label+"_M15_2",OBJPROP_TIME2, M15_Time_2);
         ObjectSet(Label+"_M15_2",OBJPROP_PRICE2,M15_Price_1);
   
      ObjectCreate(Label+"_M15_3",OBJ_TREND,0,M15_Time_1,M15_Price_2,M15_Time_2,M15_Price_2);
         ObjectSet(Label+"_M15_3",OBJPROP_TIME1, M15_Time_1);
         ObjectSet(Label+"_M15_3",OBJPROP_PRICE1,M15_Price_2);
         ObjectSet(Label+"_M15_3",OBJPROP_TIME2, M15_Time_2);
         ObjectSet(Label+"_M15_3",OBJPROP_PRICE2,M15_Price_2);
   
      ObjectCreate(Label+"_M15_4",OBJ_TREND,0,M15_Time_1,M15_Price_3,M15_Time_2,M15_Price_3);
         ObjectSet(Label+"_M15_4",OBJPROP_TIME1, M15_Time_1);
         ObjectSet(Label+"_M15_4",OBJPROP_PRICE1,M15_Price_3);
         ObjectSet(Label+"_M15_4",OBJPROP_TIME2, M15_Time_2);
         ObjectSet(Label+"_M15_4",OBJPROP_PRICE2,M15_Price_3);
   
      ObjectCreate(Label+"_M15_5",OBJ_TREND,0,M15_Time_1,M15_Price_4,M15_Time_2,M15_Price_4);
         ObjectSet(Label+"_M15_5",OBJPROP_TIME1, M15_Time_1);
         ObjectSet(Label+"_M15_5",OBJPROP_PRICE1,M15_Price_4);
         ObjectSet(Label+"_M15_5",OBJPROP_TIME2, M15_Time_2);
         ObjectSet(Label+"_M15_5",OBJPROP_PRICE2,M15_Price_4);
   
      ObjectCreate(Label+"_M15_6",OBJ_TREND,0,M15_Time_1,M15_Price_5,M15_Time_2,M15_Price_5);
         ObjectSet(Label+"_M15_6",OBJPROP_TIME1, M15_Time_1);
         ObjectSet(Label+"_M15_6",OBJPROP_PRICE1,M15_Price_5);
         ObjectSet(Label+"_M15_6",OBJPROP_TIME2, M15_Time_2);
         ObjectSet(Label+"_M15_6",OBJPROP_PRICE2,M15_Price_5);
            
      ObjectCreate(Label+"_M15_7",OBJ_TREND,0,M15_Time_1,M15_Price_6,M15_Time_2,M15_Price_6);
         ObjectSet(Label+"_M15_7",OBJPROP_TIME1, M15_Time_1);
         ObjectSet(Label+"_M15_7",OBJPROP_PRICE1,M15_Price_6);
         ObjectSet(Label+"_M15_7",OBJPROP_TIME2, M15_Time_2);
         ObjectSet(Label+"_M15_7",OBJPROP_PRICE2,M15_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountM30 == 1 && Period()<= PERIOD_M30)
   {   
      ObjectCreate(Label+"_M30_1",OBJ_TREND,0,M30_Time_1,M30_Price_0,M30_Time_2,M30_Price_0);
         ObjectSet(Label+"_M30_1",OBJPROP_TIME1, M30_Time_1);
         ObjectSet(Label+"_M30_1",OBJPROP_PRICE1,M30_Price_0);
         ObjectSet(Label+"_M30_1",OBJPROP_TIME2, M30_Time_2);
         ObjectSet(Label+"_M30_1",OBJPROP_PRICE2,M30_Price_0);
   
      ObjectCreate(Label+"_M30_2",OBJ_TREND,0,M30_Time_1,M30_Price_1,M30_Time_2,M30_Price_1);
         ObjectSet(Label+"_M30_2",OBJPROP_TIME1, M30_Time_1);
         ObjectSet(Label+"_M30_2",OBJPROP_PRICE1,M30_Price_1);
         ObjectSet(Label+"_M30_2",OBJPROP_TIME2, M30_Time_2);
         ObjectSet(Label+"_M30_2",OBJPROP_PRICE2,M30_Price_1);
   
      ObjectCreate(Label+"_M30_3",OBJ_TREND,0,M30_Time_1,M30_Price_2,M30_Time_2,M30_Price_2);
         ObjectSet(Label+"_M30_3",OBJPROP_TIME1, M30_Time_1);
         ObjectSet(Label+"_M30_3",OBJPROP_PRICE1,M30_Price_2);
         ObjectSet(Label+"_M30_3",OBJPROP_TIME2, M30_Time_2);
         ObjectSet(Label+"_M30_3",OBJPROP_PRICE2,M30_Price_2);
   
      ObjectCreate(Label+"_M30_4",OBJ_TREND,0,M30_Time_1,M30_Price_3,M30_Time_2,M30_Price_3);
         ObjectSet(Label+"_M30_4",OBJPROP_TIME1, M30_Time_1);
         ObjectSet(Label+"_M30_4",OBJPROP_PRICE1,M30_Price_3);
         ObjectSet(Label+"_M30_4",OBJPROP_TIME2, M30_Time_2);
         ObjectSet(Label+"_M30_4",OBJPROP_PRICE2,M30_Price_3);
   
      ObjectCreate(Label+"_M30_5",OBJ_TREND,0,M30_Time_1,M30_Price_4,M30_Time_2,M30_Price_4);
         ObjectSet(Label+"_M30_5",OBJPROP_TIME1, M30_Time_1);
         ObjectSet(Label+"_M30_5",OBJPROP_PRICE1,M30_Price_4);
         ObjectSet(Label+"_M30_5",OBJPROP_TIME2, M30_Time_2);
         ObjectSet(Label+"_M30_5",OBJPROP_PRICE2,M30_Price_4);
   
      ObjectCreate(Label+"_M30_6",OBJ_TREND,0,M30_Time_1,M30_Price_5,M30_Time_2,M30_Price_5);
         ObjectSet(Label+"_M30_6",OBJPROP_TIME1, M30_Time_1);
         ObjectSet(Label+"_M30_6",OBJPROP_PRICE1,M30_Price_5);
         ObjectSet(Label+"_M30_6",OBJPROP_TIME2, M30_Time_2);
         ObjectSet(Label+"_M30_6",OBJPROP_PRICE2,M30_Price_5);
            
      ObjectCreate(Label+"_M30_7",OBJ_TREND,0,M30_Time_1,M30_Price_6,M30_Time_2,M30_Price_6);
         ObjectSet(Label+"_M30_7",OBJPROP_TIME1, M30_Time_1);
         ObjectSet(Label+"_M30_7",OBJPROP_PRICE1,M30_Price_6);
         ObjectSet(Label+"_M30_7",OBJPROP_TIME2, M30_Time_2);
         ObjectSet(Label+"_M30_7",OBJPROP_PRICE2,M30_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountH1 == 1 && Period()<= PERIOD_H1)
   {
      ObjectCreate(Label+"_H1_1",OBJ_TREND,0,H1_Time_1,H1_Price_0,H1_Time_2,H1_Price_0);
         ObjectSet(Label+"_H1_1",OBJPROP_TIME1, H1_Time_1);
         ObjectSet(Label+"_H1_1",OBJPROP_PRICE1,H1_Price_0);
         ObjectSet(Label+"_H1_1",OBJPROP_TIME2, H1_Time_2);
         ObjectSet(Label+"_H1_1",OBJPROP_PRICE2,H1_Price_0);
   
      ObjectCreate(Label+"_H1_2",OBJ_TREND,0,H1_Time_1,H1_Price_1,H1_Time_2,H1_Price_1);
         ObjectSet(Label+"_H1_2",OBJPROP_TIME1, H1_Time_1);
         ObjectSet(Label+"_H1_2",OBJPROP_PRICE1,H1_Price_1);
         ObjectSet(Label+"_H1_2",OBJPROP_TIME2, H1_Time_2);
         ObjectSet(Label+"_H1_2",OBJPROP_PRICE2,H1_Price_1);
   
      ObjectCreate(Label+"_H1_3",OBJ_TREND,0,H1_Time_1,H1_Price_2,H1_Time_2,H1_Price_2);
         ObjectSet(Label+"_H1_3",OBJPROP_TIME1, H1_Time_1);
         ObjectSet(Label+"_H1_3",OBJPROP_PRICE1,H1_Price_2);
         ObjectSet(Label+"_H1_3",OBJPROP_TIME2, H1_Time_2);
         ObjectSet(Label+"_H1_3",OBJPROP_PRICE2,H1_Price_2);
   
      ObjectCreate(Label+"_H1_4",OBJ_TREND,0,H1_Time_1,H1_Price_3,H1_Time_2,H1_Price_3);
         ObjectSet(Label+"_H1_4",OBJPROP_TIME1, H1_Time_1);
         ObjectSet(Label+"_H1_4",OBJPROP_PRICE1,H1_Price_3);
         ObjectSet(Label+"_H1_4",OBJPROP_TIME2, H1_Time_2);
         ObjectSet(Label+"_H1_4",OBJPROP_PRICE2,H1_Price_3);
   
      ObjectCreate(Label+"_H1_5",OBJ_TREND,0,H1_Time_1,H1_Price_4,H1_Time_2,H1_Price_4);
         ObjectSet(Label+"_H1_5",OBJPROP_TIME1, H1_Time_1);
         ObjectSet(Label+"_H1_5",OBJPROP_PRICE1,H1_Price_4);
         ObjectSet(Label+"_H1_5",OBJPROP_TIME2, H1_Time_2);
         ObjectSet(Label+"_H1_5",OBJPROP_PRICE2,H1_Price_4);
   
      ObjectCreate(Label+"_H1_6",OBJ_TREND,0,H1_Time_1,H1_Price_5,H1_Time_2,H1_Price_5);
         ObjectSet(Label+"_H1_6",OBJPROP_TIME1, H1_Time_1);
         ObjectSet(Label+"_H1_6",OBJPROP_PRICE1,H1_Price_5);
         ObjectSet(Label+"_H1_6",OBJPROP_TIME2, H1_Time_2);
         ObjectSet(Label+"_H1_6",OBJPROP_PRICE2,H1_Price_5);
            
      ObjectCreate(Label+"_H1_7",OBJ_TREND,0,H1_Time_1,H1_Price_6,H1_Time_2,H1_Price_6);
         ObjectSet(Label+"_H1_7",OBJPROP_TIME1, H1_Time_1);
         ObjectSet(Label+"_H1_7",OBJPROP_PRICE1,H1_Price_6);
         ObjectSet(Label+"_H1_7",OBJPROP_TIME2, H1_Time_2);
         ObjectSet(Label+"_H1_7",OBJPROP_PRICE2,H1_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountH4 == 1 && Period()<= PERIOD_H4)
   {
      ObjectCreate(Label+"_H4_1",OBJ_TREND,0,H4_Time_1,H4_Price_0,H4_Time_2,H4_Price_0);
         ObjectSet(Label+"_H4_1",OBJPROP_TIME1, H4_Time_1);
         ObjectSet(Label+"_H4_1",OBJPROP_PRICE1,H4_Price_0);
         ObjectSet(Label+"_H4_1",OBJPROP_TIME2, H4_Time_2);
         ObjectSet(Label+"_H4_1",OBJPROP_PRICE2,H4_Price_0);
   
      ObjectCreate(Label+"_H4_2",OBJ_TREND,0,H4_Time_1,H4_Price_1,H4_Time_2,H4_Price_1);
         ObjectSet(Label+"_H4_2",OBJPROP_TIME1, H4_Time_1);
         ObjectSet(Label+"_H4_2",OBJPROP_PRICE1,H4_Price_1);
         ObjectSet(Label+"_H4_2",OBJPROP_TIME2, H4_Time_2);
         ObjectSet(Label+"_H4_2",OBJPROP_PRICE2,H4_Price_1);
   
      ObjectCreate(Label+"_H4_3",OBJ_TREND,0,H4_Time_1,H4_Price_2,H4_Time_2,H4_Price_2);
         ObjectSet(Label+"_H4_3",OBJPROP_TIME1, H4_Time_1);
         ObjectSet(Label+"_H4_3",OBJPROP_PRICE1,H4_Price_2);
         ObjectSet(Label+"_H4_3",OBJPROP_TIME2, H4_Time_2);
         ObjectSet(Label+"_H4_3",OBJPROP_PRICE2,H4_Price_2);
   
      ObjectCreate(Label+"_H4_4",OBJ_TREND,0,H4_Time_1,H4_Price_3,H4_Time_2,H4_Price_3);
         ObjectSet(Label+"_H4_4",OBJPROP_TIME1, H4_Time_1);
         ObjectSet(Label+"_H4_4",OBJPROP_PRICE1,H4_Price_3);
         ObjectSet(Label+"_H4_4",OBJPROP_TIME2, H4_Time_2);
         ObjectSet(Label+"_H4_4",OBJPROP_PRICE2,H4_Price_3);
   
      ObjectCreate(Label+"_H4_5",OBJ_TREND,0,H4_Time_1,H4_Price_4,H4_Time_2,H4_Price_4);
         ObjectSet(Label+"_H4_5",OBJPROP_TIME1, H4_Time_1);
         ObjectSet(Label+"_H4_5",OBJPROP_PRICE1,H4_Price_4);
         ObjectSet(Label+"_H4_5",OBJPROP_TIME2, H4_Time_2);
         ObjectSet(Label+"_H4_5",OBJPROP_PRICE2,H4_Price_4);
   
      ObjectCreate(Label+"_H4_6",OBJ_TREND,0,H4_Time_1,H4_Price_5,H4_Time_2,H4_Price_5);
         ObjectSet(Label+"_H4_6",OBJPROP_TIME1, H4_Time_1);
         ObjectSet(Label+"_H4_6",OBJPROP_PRICE1,H4_Price_5);
         ObjectSet(Label+"_H4_6",OBJPROP_TIME2, H4_Time_2);
         ObjectSet(Label+"_H4_6",OBJPROP_PRICE2,H4_Price_5);
            
      ObjectCreate(Label+"_H4_7",OBJ_TREND,0,H4_Time_1,H4_Price_6,H4_Time_2,H4_Price_6);
         ObjectSet(Label+"_H4_7",OBJPROP_TIME1, H4_Time_1);
         ObjectSet(Label+"_H4_7",OBJPROP_PRICE1,H4_Price_6);
         ObjectSet(Label+"_H4_7",OBJPROP_TIME2, H4_Time_2);
         ObjectSet(Label+"_H4_7",OBJPROP_PRICE2,H4_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountD1 == 1 && Period()<= PERIOD_D1)
   {
      ObjectCreate(Label+"_D1_1",OBJ_TREND,0,D1_Time_1,D1_Price_0,D1_Time_2,D1_Price_0);
         ObjectSet(Label+"_D1_1",OBJPROP_TIME1, D1_Time_1);
         ObjectSet(Label+"_D1_1",OBJPROP_PRICE1,D1_Price_0);
         ObjectSet(Label+"_D1_1",OBJPROP_TIME2, D1_Time_2);
         ObjectSet(Label+"_D1_1",OBJPROP_PRICE2,D1_Price_0);
   
      ObjectCreate(Label+"_D1_2",OBJ_TREND,0,D1_Time_1,D1_Price_1,D1_Time_2,D1_Price_1);
         ObjectSet(Label+"_D1_2",OBJPROP_TIME1, D1_Time_1);
         ObjectSet(Label+"_D1_2",OBJPROP_PRICE1,D1_Price_1);
         ObjectSet(Label+"_D1_2",OBJPROP_TIME2, D1_Time_2);
         ObjectSet(Label+"_D1_2",OBJPROP_PRICE2,D1_Price_1);
   
      ObjectCreate(Label+"_D1_3",OBJ_TREND,0,D1_Time_1,D1_Price_2,D1_Time_2,D1_Price_2);
         ObjectSet(Label+"_D1_3",OBJPROP_TIME1, D1_Time_1);
         ObjectSet(Label+"_D1_3",OBJPROP_PRICE1,D1_Price_2);
         ObjectSet(Label+"_D1_3",OBJPROP_TIME2, D1_Time_2);
         ObjectSet(Label+"_D1_3",OBJPROP_PRICE2,D1_Price_2);
   
      ObjectCreate(Label+"_D1_4",OBJ_TREND,0,D1_Time_1,D1_Price_3,D1_Time_2,D1_Price_3);
         ObjectSet(Label+"_D1_4",OBJPROP_TIME1, D1_Time_1);
         ObjectSet(Label+"_D1_4",OBJPROP_PRICE1,D1_Price_3);
         ObjectSet(Label+"_D1_4",OBJPROP_TIME2, D1_Time_2);
         ObjectSet(Label+"_D1_4",OBJPROP_PRICE2,D1_Price_3);
   
      ObjectCreate(Label+"_D1_5",OBJ_TREND,0,D1_Time_1,D1_Price_4,D1_Time_2,D1_Price_4);
         ObjectSet(Label+"_D1_5",OBJPROP_TIME1, D1_Time_1);
         ObjectSet(Label+"_D1_5",OBJPROP_PRICE1,D1_Price_4);
         ObjectSet(Label+"_D1_5",OBJPROP_TIME2, D1_Time_2);
         ObjectSet(Label+"_D1_5",OBJPROP_PRICE2,D1_Price_4);
   
      ObjectCreate(Label+"_D1_6",OBJ_TREND,0,D1_Time_1,D1_Price_5,D1_Time_2,D1_Price_5);
         ObjectSet(Label+"_D1_6",OBJPROP_TIME1, D1_Time_1);
         ObjectSet(Label+"_D1_6",OBJPROP_PRICE1,D1_Price_5);
         ObjectSet(Label+"_D1_6",OBJPROP_TIME2, D1_Time_2);
         ObjectSet(Label+"_D1_6",OBJPROP_PRICE2,D1_Price_5);
            
      ObjectCreate(Label+"_D1_7",OBJ_TREND,0,D1_Time_1,D1_Price_6,D1_Time_2,D1_Price_6);
         ObjectSet(Label+"_D1_7",OBJPROP_TIME1, D1_Time_1);
         ObjectSet(Label+"_D1_7",OBJPROP_PRICE1,D1_Price_6);
         ObjectSet(Label+"_D1_7",OBJPROP_TIME2, D1_Time_2);
         ObjectSet(Label+"_D1_7",OBJPROP_PRICE2,D1_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountW1 == 1 && Period()<= PERIOD_W1)
   {
      ObjectCreate(Label+"_W1_1",OBJ_TREND,0,W1_Time_1,W1_Price_0,W1_Time_2,W1_Price_0);
         ObjectSet(Label+"_W1_1",OBJPROP_TIME1, W1_Time_1);
         ObjectSet(Label+"_W1_1",OBJPROP_PRICE1,W1_Price_0);
         ObjectSet(Label+"_W1_1",OBJPROP_TIME2, W1_Time_2);
         ObjectSet(Label+"_W1_1",OBJPROP_PRICE2,W1_Price_0);
   
      ObjectCreate(Label+"_W1_2",OBJ_TREND,0,W1_Time_1,W1_Price_1,W1_Time_2,W1_Price_1);
         ObjectSet(Label+"_W1_2",OBJPROP_TIME1, W1_Time_1);
         ObjectSet(Label+"_W1_2",OBJPROP_PRICE1,W1_Price_1);
         ObjectSet(Label+"_W1_2",OBJPROP_TIME2, W1_Time_2);
         ObjectSet(Label+"_W1_2",OBJPROP_PRICE2,W1_Price_1);
   
      ObjectCreate(Label+"_W1_3",OBJ_TREND,0,W1_Time_1,W1_Price_2,W1_Time_2,W1_Price_2);
         ObjectSet(Label+"_W1_3",OBJPROP_TIME1, W1_Time_1);
         ObjectSet(Label+"_W1_3",OBJPROP_PRICE1,W1_Price_2);
         ObjectSet(Label+"_W1_3",OBJPROP_TIME2, W1_Time_2);
         ObjectSet(Label+"_W1_3",OBJPROP_PRICE2,W1_Price_2);
   
      ObjectCreate(Label+"_W1_4",OBJ_TREND,0,W1_Time_1,W1_Price_3,W1_Time_2,W1_Price_3);
         ObjectSet(Label+"_W1_4",OBJPROP_TIME1, W1_Time_1);
         ObjectSet(Label+"_W1_4",OBJPROP_PRICE1,W1_Price_3);
         ObjectSet(Label+"_W1_4",OBJPROP_TIME2, W1_Time_2);
         ObjectSet(Label+"_W1_4",OBJPROP_PRICE2,W1_Price_3);
   
      ObjectCreate(Label+"_W1_5",OBJ_TREND,0,W1_Time_1,W1_Price_4,W1_Time_2,W1_Price_4);
         ObjectSet(Label+"_W1_5",OBJPROP_TIME1, W1_Time_1);
         ObjectSet(Label+"_W1_5",OBJPROP_PRICE1,W1_Price_4);
         ObjectSet(Label+"_W1_5",OBJPROP_TIME2, W1_Time_2);
         ObjectSet(Label+"_W1_5",OBJPROP_PRICE2,W1_Price_4);
   
      ObjectCreate(Label+"_W1_6",OBJ_TREND,0,W1_Time_1,W1_Price_5,W1_Time_2,W1_Price_5);
         ObjectSet(Label+"_W1_6",OBJPROP_TIME1, W1_Time_1);
         ObjectSet(Label+"_W1_6",OBJPROP_PRICE1,W1_Price_5);
         ObjectSet(Label+"_W1_6",OBJPROP_TIME2, W1_Time_2);
         ObjectSet(Label+"_W1_6",OBJPROP_PRICE2,W1_Price_5);
            
      ObjectCreate(Label+"_W1_7",OBJ_TREND,0,W1_Time_1,W1_Price_6,W1_Time_2,W1_Price_6);
         ObjectSet(Label+"_W1_7",OBJPROP_TIME1, W1_Time_1);
         ObjectSet(Label+"_W1_7",OBJPROP_PRICE1,W1_Price_6);
         ObjectSet(Label+"_W1_7",OBJPROP_TIME2, W1_Time_2);
         ObjectSet(Label+"_W1_7",OBJPROP_PRICE2,W1_Price_6);
   }
//+------------------------------------------------------------------+
   if(TFCountMN1 == 1 && Period()<= PERIOD_MN1)
   {
      ObjectCreate(Label+"_MN1_1",OBJ_TREND,0,MN1_Time_1,MN1_Price_0,MN1_Time_2,MN1_Price_0);
         ObjectSet(Label+"_MN1_1",OBJPROP_TIME1, MN1_Time_1);
         ObjectSet(Label+"_MN1_1",OBJPROP_PRICE1,MN1_Price_0);
         ObjectSet(Label+"_MN1_1",OBJPROP_TIME2, MN1_Time_2);
         ObjectSet(Label+"_MN1_1",OBJPROP_PRICE2,MN1_Price_0);
   
      ObjectCreate(Label+"_MN1_2",OBJ_TREND,0,MN1_Time_1,MN1_Price_1,MN1_Time_2,MN1_Price_1);
         ObjectSet(Label+"_MN1_2",OBJPROP_TIME1, MN1_Time_1);
         ObjectSet(Label+"_MN1_2",OBJPROP_PRICE1,MN1_Price_1);
         ObjectSet(Label+"_MN1_2",OBJPROP_TIME2, MN1_Time_2);
         ObjectSet(Label+"_MN1_2",OBJPROP_PRICE2,MN1_Price_1);
   
      ObjectCreate(Label+"_MN1_3",OBJ_TREND,0,MN1_Time_1,MN1_Price_2,MN1_Time_2,MN1_Price_2);
         ObjectSet(Label+"_MN1_3",OBJPROP_TIME1, MN1_Time_1);
         ObjectSet(Label+"_MN1_3",OBJPROP_PRICE1,MN1_Price_2);
         ObjectSet(Label+"_MN1_3",OBJPROP_TIME2, MN1_Time_2);
         ObjectSet(Label+"_MN1_3",OBJPROP_PRICE2,MN1_Price_2);
   
      ObjectCreate(Label+"_MN1_4",OBJ_TREND,0,MN1_Time_1,MN1_Price_3,MN1_Time_2,MN1_Price_3);
         ObjectSet(Label+"_MN1_4",OBJPROP_TIME1, MN1_Time_1);
         ObjectSet(Label+"_MN1_4",OBJPROP_PRICE1,MN1_Price_3);
         ObjectSet(Label+"_MN1_4",OBJPROP_TIME2, MN1_Time_2);
         ObjectSet(Label+"_MN1_4",OBJPROP_PRICE2,MN1_Price_3);
   
      ObjectCreate(Label+"_MN1_5",OBJ_TREND,0,MN1_Time_1,MN1_Price_4,MN1_Time_2,MN1_Price_4);
         ObjectSet(Label+"_MN1_5",OBJPROP_TIME1, MN1_Time_1);
         ObjectSet(Label+"_MN1_5",OBJPROP_PRICE1,MN1_Price_4);
         ObjectSet(Label+"_MN1_5",OBJPROP_TIME2, MN1_Time_2);
         ObjectSet(Label+"_MN1_5",OBJPROP_PRICE2,MN1_Price_4);
   
      ObjectCreate(Label+"_MN1_6",OBJ_TREND,0,MN1_Time_1,MN1_Price_5,MN1_Time_2,MN1_Price_5);
         ObjectSet(Label+"_MN1_6",OBJPROP_TIME1, MN1_Time_1);
         ObjectSet(Label+"_MN1_6",OBJPROP_PRICE1,MN1_Price_5);
         ObjectSet(Label+"_MN1_6",OBJPROP_TIME2, MN1_Time_2);
         ObjectSet(Label+"_MN1_6",OBJPROP_PRICE2,MN1_Price_5);
            
      ObjectCreate(Label+"_MN1_7",OBJ_TREND,0,MN1_Time_1,MN1_Price_6,MN1_Time_2,MN1_Price_6);
         ObjectSet(Label+"_MN1_7",OBJPROP_TIME1, MN1_Time_1);
         ObjectSet(Label+"_MN1_7",OBJPROP_PRICE1,MN1_Price_6);
         ObjectSet(Label+"_MN1_7",OBJPROP_TIME2, MN1_Time_2);
         ObjectSet(Label+"_MN1_7",OBJPROP_PRICE2,MN1_Price_6);
   }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
      for(i=1; i<8; i++)
      {
      	ObjectSet(Label+"_M1_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_M1_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(M1_Up) ObjectSet(Label+"_M1_"+i,OBJPROP_COLOR,ColorUp);
      	                        else ObjectSet(Label+"_M1_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)           ObjectSet(Label+"_M1_"+i,OBJPROP_COLOR,ColorM1);
      	if(AutomaticallySetLineWidth)ObjectSet(Label+"_M1_"+i,OBJPROP_WIDTH,WidthM1);
      	                        else ObjectSet(Label+"_M1_"+i,OBJPROP_WIDTH,LineWidthM1);
      	
      	ObjectSet(Label+"_M5_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_M5_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(M5_Up) ObjectSet(Label+"_M5_"+i,OBJPROP_COLOR,ColorUp);
      	                        else ObjectSet(Label+"_M5_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)           ObjectSet(Label+"_M5_"+i,OBJPROP_COLOR,ColorM5);
      	if(AutomaticallySetLineWidth)ObjectSet(Label+"_M5_"+i,OBJPROP_WIDTH,WidthM5);
      	                        else ObjectSet(Label+"_M5_"+i,OBJPROP_WIDTH,LineWidthM5);
      	
      	ObjectSet(Label+"_M15_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_M15_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(M15_Up) ObjectSet(Label+"_M15_"+i,OBJPROP_COLOR,ColorUp);
      	                         else ObjectSet(Label+"_M15_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)            ObjectSet(Label+"_M15_"+i,OBJPROP_COLOR,ColorM15);
      	if(AutomaticallySetLineWidth) ObjectSet(Label+"_M15_"+i,OBJPROP_WIDTH,WidthM15);
      	                         else ObjectSet(Label+"_M15_"+i,OBJPROP_WIDTH,LineWidthM15);
      	
      	ObjectSet(Label+"_M30_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_M30_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(M30_Up) ObjectSet(Label+"_M30_"+i,OBJPROP_COLOR,ColorUp);
      	                         else ObjectSet(Label+"_M30_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)            ObjectSet(Label+"_M30_"+i,OBJPROP_COLOR,ColorM30);
      	if(AutomaticallySetLineWidth) ObjectSet(Label+"_M30_"+i,OBJPROP_WIDTH,WidthM30);
      	                         else ObjectSet(Label+"_M30_"+i,OBJPROP_WIDTH,LineWidthM30);
      	
      	ObjectSet(Label+"_H1_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_H1_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(H1_Up) ObjectSet(Label+"_H1_"+i,OBJPROP_COLOR,ColorUp);
      	                        else ObjectSet(Label+"_H1_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)           ObjectSet(Label+"_H1_"+i,OBJPROP_COLOR,ColorH1);
      	if(AutomaticallySetLineWidth)ObjectSet(Label+"_H1_"+i,OBJPROP_WIDTH,WidthH1);
      	                        else ObjectSet(Label+"_H1_"+i,OBJPROP_WIDTH,LineWidthH1);
      	
      	ObjectSet(Label+"_H4_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_H4_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(H4_Up) ObjectSet(Label+"_H4_"+i,OBJPROP_COLOR,ColorUp);
      	                        else ObjectSet(Label+"_H4_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)           ObjectSet(Label+"_H4_"+i,OBJPROP_COLOR,ColorH4);
      	if(AutomaticallySetLineWidth)ObjectSet(Label+"_H4_"+i,OBJPROP_WIDTH,WidthH4);
      	                        else ObjectSet(Label+"_H4_"+i,OBJPROP_WIDTH,LineWidthH4);
      	
      	ObjectSet(Label+"_D1_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_D1_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(D1_Up) ObjectSet(Label+"_D1_"+i,OBJPROP_COLOR,ColorUp);
      	                        else ObjectSet(Label+"_D1_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)           ObjectSet(Label+"_D1_"+i,OBJPROP_COLOR,ColorD1);
      	if(AutomaticallySetLineWidth)ObjectSet(Label+"_D1_"+i,OBJPROP_WIDTH,WidthD1);
      	                        else ObjectSet(Label+"_D1_"+i,OBJPROP_WIDTH,LineWidthD1);
      	
      	ObjectSet(Label+"_W1_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_W1_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(W1_Up) ObjectSet(Label+"_W1_"+i,OBJPROP_COLOR,ColorUp);
      	                        else ObjectSet(Label+"_W1_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)           ObjectSet(Label+"_W1_"+i,OBJPROP_COLOR,ColorW1);
      	if(AutomaticallySetLineWidth)ObjectSet(Label+"_W1_"+i,OBJPROP_WIDTH,WidthW1);
      	                        else ObjectSet(Label+"_W1_"+i,OBJPROP_WIDTH,LineWidthW1);
      	
      	ObjectSet(Label+"_MN1_"+i,OBJPROP_RAY,RayRightOn);
      	ObjectSet(Label+"_MN1_"+i,OBJPROP_BACK,ObjectsInBG);
      	if(ColorMode == 0) if(MN1_Up) ObjectSet(Label+"_MN1_"+i,OBJPROP_COLOR,ColorUp);
      	                         else ObjectSet(Label+"_MN1_"+i,OBJPROP_COLOR,ColorDn);
      	if(ColorMode == 1)            ObjectSet(Label+"_MN1_"+i,OBJPROP_COLOR,ColorMN1);
      	if(AutomaticallySetLineWidth) ObjectSet(Label+"_MN1_"+i,OBJPROP_WIDTH,WidthMN1);
      	                         else ObjectSet(Label+"_MN1_"+i,OBJPROP_WIDTH,LineWidthMN1);
   	}
//+------------------------------------------------------------------+
if(ShowLines)
{
   	if(TFCountM1 == 1 && Period()<= PERIOD_M1)
   	{
      	ObjectCreate(Label+"_Line_1",OBJ_VLINE,0,M1_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_1",OBJPROP_TIME1,M1_Time_3);
      	   ObjectSet(Label+"_Line_1",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_1",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_1",OBJPROP_COLOR,LabelsVertLinesColor);
   	}
   	
   	if(TFCountM5 == 1 && Period()<= PERIOD_M5)
   	{
      	ObjectCreate(Label+"_Line_2",OBJ_VLINE,0,M5_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_2",OBJPROP_TIME1,M5_Time_3);
      	   ObjectSet(Label+"_Line_2",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_2",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_2",OBJPROP_COLOR,LabelsVertLinesColor);
      }
      
   	if(TFCountM15 == 1 && Period()<= PERIOD_M15)
   	{
      	ObjectCreate(Label+"_Line_3",OBJ_VLINE,0,M15_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_3",OBJPROP_TIME1,M15_Time_3);
      	   ObjectSet(Label+"_Line_3",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_3",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_3",OBJPROP_COLOR,LabelsVertLinesColor);
      }
      
   	if(TFCountM30 == 1 && Period()<= PERIOD_M30)
   	{
      	ObjectCreate(Label+"_Line_4",OBJ_VLINE,0,M30_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_4",OBJPROP_TIME1,M30_Time_3);
      	   ObjectSet(Label+"_Line_4",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_4",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_4",OBJPROP_COLOR,LabelsVertLinesColor);
      }
      
   	if(TFCountH1 == 1 && Period()<= PERIOD_H1)
   	{
      	ObjectCreate(Label+"_Line_5",OBJ_VLINE,0,H1_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_5",OBJPROP_TIME1,H1_Time_3);
      	   ObjectSet(Label+"_Line_5",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_5",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_5",OBJPROP_COLOR,LabelsVertLinesColor);
      }
      
   	if(TFCountH4 == 1 && Period()<= PERIOD_H4)
   	{
      	ObjectCreate(Label+"_Line_6",OBJ_VLINE,0,H4_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_6",OBJPROP_TIME1,H4_Time_3);
      	   ObjectSet(Label+"_Line_6",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_6",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_6",OBJPROP_COLOR,LabelsVertLinesColor);
      }
      
   	if(TFCountD1 == 1 && Period()<= PERIOD_D1)
   	{
      	ObjectCreate(Label+"_Line_7",OBJ_VLINE,0,D1_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_7",OBJPROP_TIME1,D1_Time_3);
      	   ObjectSet(Label+"_Line_7",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_7",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_7",OBJPROP_COLOR,LabelsVertLinesColor);
      }
      
   	if(TFCountW1 == 1 && Period()<= PERIOD_W1)
   	{
      	ObjectCreate(Label+"_Line_8",OBJ_VLINE,0,W1_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_8",OBJPROP_TIME1,W1_Time_3);
      	   ObjectSet(Label+"_Line_8",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_8",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_8",OBJPROP_COLOR,LabelsVertLinesColor);
      }
      
   	if(TFCountMN1 == 1 && Period()<= PERIOD_MN1)
   	{
      	ObjectCreate(Label+"_Line_9",OBJ_VLINE,0,MN1_Time_3,Close[0]);
      	   ObjectSet(Label+"_Line_9",OBJPROP_TIME1,MN1_Time_3);
      	   ObjectSet(Label+"_Line_9",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_9",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_9",OBJPROP_COLOR,LabelsVertLinesColor);
      }
         	
   	if(TFCountMN1 == 1 && Period()<= PERIOD_MN1)
   	{
      	ObjectCreate(Label+"_Line_10",OBJ_VLINE,0,MN1_Time_2,Close[0]);
      	   ObjectSet(Label+"_Line_10",OBJPROP_TIME1,MN1_Time_2);
      	   ObjectSet(Label+"_Line_10",OBJPROP_WIDTH,LabelsVertLinesWidth);
      	   ObjectSet(Label+"_Line_10",OBJPROP_STYLE,LabelsVertLinesStyle);
      	   ObjectSet(Label+"_Line_10",OBJPROP_COLOR,LabelsVertLinesColor);
      }
}
else
{
   for(i=ObjectsTotal()-1; i>=0; i--)
   {
       string name2  = "Line";
       string label2 = ObjectName(i);
       if(StringSubstr(label2,0,StringLen(name2)) != name2)
           continue;
       ObjectDelete(label2);
   }
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
	return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

int stringToTimeFrame(string tfs)
{
   int tf=0;
       tfs = StringUpperCase(tfs);

         if (tfs=="M1"  || tfs=="1")     tf=PERIOD_M1;
         if (tfs=="M5"  || tfs=="5")     tf=PERIOD_M5;
         if (tfs=="M15" || tfs=="15")    tf=PERIOD_M15;
         if (tfs=="M30" || tfs=="30")    tf=PERIOD_M30;
         if (tfs=="H1"  || tfs=="60")    tf=PERIOD_H1;
         if (tfs=="H4"  || tfs=="240")   tf=PERIOD_H4;
         if (tfs=="D1"  || tfs=="1440")  tf=PERIOD_D1;
         if (tfs=="W1"  || tfs=="10080") tf=PERIOD_W1;
         if (tfs=="MN1" || tfs=="43200") tf=PERIOD_MN1;

   return(tf);
}

string TimeFrameToString(int tf)
{
   string tfs="Current Time Frame";
   switch(tf)
   {
      case PERIOD_M1:  tfs="M1"  ; break;
      case PERIOD_M5:  tfs="M5"  ; break;
      case PERIOD_M15: tfs="M15" ; break;
      case PERIOD_M30: tfs="M30" ; break;
      case PERIOD_H1:  tfs="H1"  ; break;
      case PERIOD_H4:  tfs="H4"  ; break;
      case PERIOD_D1:  tfs="D1"  ; break;
      case PERIOD_W1:  tfs="W1"  ; break;
      case PERIOD_MN1: tfs="MN1" ;
   }
   return(tfs);
}

string StringUpperCase(string str)
{
   string   s = str;
   int      length = StringLen(str) - 1;
   int      Char;

   while(length >= 0)
   {
         Char = StringGetChar(s,length);

         if((Char > 96 && Char < 123) || (Char > 223 && Char < 256))
                  s = StringSetChar(s,length,Char - 32);
          else 
              if(Char > -33 && Char < 0)
                  s = StringSetChar(s,length,Char + 224);
                                 
         length--;
   }
   return(s);
}

void DeleteObjects()
{
   for(i=ObjectsTotal()-1; i>=0; i--)
   {
       string name  = UniqueID;
       string label = ObjectName(i);
       if(StringSubstr(label,0,StringLen(name)) != name)
           continue;
       ObjectDelete(label);
   }   
}