
#property copyright "Domas4 amd Traderathome - public domain code"
#property link      "n/a"

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 Green
#property indicator_color2 FireBrick
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_color5 CLR_NONE

extern bool Indicator_On? = TRUE;
extern string Part_1 = "Shift Tz & Select Pivot Formula:";
extern int HrsServerTzFromGMT = 0;
extern int HrsChoiceTzFromGMT = 0;
extern int Show_1Daily_2FibonacciPivots = 2;
extern string Part_2 = "Session Box Colors & Day Candle:";
extern bool ShowTodayBoxColor = FALSE;
extern color TodayBoxColor = C'0x1E,0x21,0x24';
extern bool ShowYesterdayBoxColor = TRUE;
extern color YesterdayBoxColor = C'0x37,0x37,0x37';
extern bool Show_DayCandle = TRUE;
extern bool Show_DayCandle_PriceLabel = FALSE;
extern color PriceLabel_StaticColor = CornflowerBlue;
extern color PriceLabel_UPColor = LimeGreen;
extern color PriceLabel_DOWNColor = Red;
extern color PriceLabel_PointerColor = White;
extern int PriceLabel_FontSize = 16;
extern int Shift_DayCandle_Right = 6;
extern int Shift_PriceLabel_Right = 21;
extern int Shift_PricePointer_Right = 8;
extern string Part_3 = "Pivot lines placement and colors, etc:";
extern string Note1 = "Start with fullscreen lines, enter \'1\'";
extern string Note2 = "Start lines at Day Separator, enter \'2\'";
extern string Note3 = "Start lines at current candle, enter \'3\'";
extern int Enter_LinePlacement_Number = 2;
extern string Note4 = "LinePlacements 1 & 2, can end at";
extern string Note5 = "current candle instead of right margin.";
extern bool Limit_Lines_To_Current_Candle = FALSE;
extern color CentralPivotColor = Gray;
extern int CentralPivotLineStyle_01234 = 0;
extern int CentralPivotSolidLineThickness = 2;
extern color R_Color = FireBrick;
extern int R_LineStyle_01234 = 0;
extern int R_SolidLineThickness = 1;
extern color S_Color = Green;
extern int S_LineStyle_01234 = 0;
extern int S_SolidLineThickness = 1;
extern color MidPivotsColor = C'0x6C,0x6C,0x00';
extern int MidPivotsLineStyle_01234 = 2;
extern int MidPivotsLineThickness = 1;
extern bool ShowMidPivots = TRUE;
extern color QtrPivotsColor = C'0x5C,0x4E,0xB1';
extern int QtrPivotsLineStyle_01234 = 2;
extern int QtrPivotsLineThickness = 1;
extern bool ShowQtrPivots = FALSE;
extern color TodayOpenColor = MediumVioletRed;
extern int TodayOpenLineStyle_01234 = 2;
extern int TodayOpenSolidLineThickness = 1;
extern bool ShowTodayOpen = TRUE;
extern color CamarillaColor = C'0x2B,0xA8,0xA5';
extern int CamarillaLineStyle_01234 = 2;
extern int CamarillaSolidLineThickness = 1;
extern bool ShowCamarilla = FALSE;
extern color YesterdayHighLowColor = C'0x01,0x95,0xAF';
extern int HighLowLineStyle_01234 = 0;
extern int HighLowSolidLineThickness = 1;
extern string Note6 = "Settings for \'Today Zone\'can be";
extern string Note7 = "different with LinePlacement 2 & 3.";
extern int Today_yHL_LineStyle_01234 = 2;
extern int Today_yHL_SolidLineThickness = 1;
extern bool Ignore_MaxRight_LinePlacement = TRUE;
extern bool ShowYesterdayHighLow = TRUE;
extern string Part_4 = "Pivot labels color & placement, etc:";
extern color PivotLabelsColor = DimGray;
extern string Input_PivotLabelsFontStyle = "Arial Bold";
extern int PivotLabelsFontSize = 9;
extern bool Subordinate_PivotLabels = FALSE;
extern bool Show_Price_in_LineLabels = FALSE;
extern string Note8 = "Fullscreen_items_work only when";
extern string Note9 = "lines are full screen wide.";
extern bool Fullscreen_MarginLabels = FALSE;
extern int Fullscreen_shift_lineLabels_LR = 0;
extern string Note10 = "Labels_MaxRightOverride works";
extern string Note11 = "on all LinePlacement choices.";
extern bool Labels_MaxRight_Override = FALSE;
extern string Note12 = "Shift for yH-yL-Camarilla labels works";
extern string Note13 = "even with Labels_MaxrRightOverride.";
extern int Shift_yH_yL_labels_left = 0;
extern int Shift_CamarillaLabels_left = 0;
extern bool Scroll_Compensator = TRUE;
extern int Scroll_Left_Adjustment = 140;
extern int Relabeler_Adjustment = 10;
extern string Part_5 = "Period Separator lines & labels:";
extern color PeriodSeparatorLinesColor = C'0x6C,0x6C,0x00';
extern int SeparatorLinesStyle_01234 = 0;
extern int SeparatorLinesThickness = 1;
extern bool ShowTodaySeparatorLine = TRUE;
extern bool ShowYesterdaySeparatorLine = TRUE;
extern color PeriodSeparatorsLabelsColor = Gray;
extern string Input_SeparatorFontStyle = "Verdana Bold";
extern int SeparatorLabelFontSize = 9;
extern bool Subordinate_SeparatorLabels = FALSE;
extern int PlaceAt_TopBot_12_OfChart = 1;
extern int Label_Simple_or_Detailed_12 = 2;
extern bool ShowPeriodSeparatorLabels = TRUE;
extern string Part_7 = "Debug Section:";
extern bool Show_Relabeler_Comment = FALSE;
extern bool Show_Data_Comment = FALSE;
extern color CommentBox_BackgroundColor = Black;
int gi_556;
bool gi_560;
bool gi_564;
int gi_568;
string gs_572;
string gs_580;
double g_ibuf_588[];
double g_ibuf_592[];
double g_ibuf_596[];
double g_ibuf_600[];
int g_shift_604;
double g_bid_612;

int init() {
   if (Ask > 10.0) gi_568 = 2;
   else gi_568 = 4;
   SetIndexBuffer(0, g_ibuf_588);
   SetIndexBuffer(1, g_ibuf_592);
   SetIndexBuffer(2, g_ibuf_600);
   SetIndexBuffer(3, g_ibuf_596);
   if (Show_DayCandle) {
      for (int li_0 = 0; li_0 < 4; li_0++) {
         SetIndexStyle(li_0, DRAW_HISTOGRAM);
         SetIndexShift(li_0, Shift_DayCandle_Right);
         SetIndexLabel(li_0, "[TzPivotsD Day Candle]");
      }
   }
   return (0);
}

int deinit() {
   string l_name_8;
   int li_0 = ObjectsTotal();
   for (int l_objs_total_4 = li_0; l_objs_total_4 >= 0; l_objs_total_4--) {
      l_name_8 = ObjectName(l_objs_total_4);
      if (StringSubstr(l_name_8, 0, 10) == "[TzPivotsD") ObjectDelete(l_name_8);
   }
   gi_560 = FALSE;
   gi_564 = FALSE;
   Comment("");
   return (0);
}

int start() {
   int li_8;
   int li_16;
   double l_iopen_52;
   double l_iclose_68;
   int li_76;
   int li_80;
   int li_84;
   int li_88;
   string l_name_100;
   string l_name_108;
   double l_pips_116;
   double l_iopen_124;
   double l_iclose_132;
   double ld_140;
   int li_148;
   int l_count_152;
   int li_160;
   string l_name_168;
   double l_datetime_176;
   double l_bid_184;
   double l_bid_192;
   color l_color_200;
   color l_color_204;
   int li_208;
   string ls_212;
   string l_dbl2str_220;
   string ls_228;
   string ls_236;
   string l_fontname_244;
   int l_fontsize_252;
   string l_text_256;
   string l_text_264;
   int li_272;
   int li_276;
   int li_280;
   int li_284;
   int li_296;
   string ls_300;
   double ld_308;
   double ld_316;
   double ld_324;
   double ld_332;
   double ld_340;
   double ld_348;
   double ld_380;
   double ld_388;
   double ld_396;
   double ld_404;
   double ld_412;
   double ld_420;
   double ld_428;
   double ld_436;
   double ld_444;
   double ld_452;
   double ld_468;
   double ld_476;
   double ld_484;
   double ld_492;
   int li_500;
   int li_504;
   int li_508;
   int li_512;
   string ls_516;
   string ls_524;
   string ls_532;
   string ls_540;
   int li_548;
   int li_552;
   string ls_556;
   if (Indicator_On? == FALSE) {
      deinit();
      return (0);
   }
   if (Period() > PERIOD_D1) {
      deinit();
      return (-1);
   }
   deinit();
   ComputeDayIndices(HrsServerTzFromGMT, HrsChoiceTzFromGMT, li_76, li_84, li_88);
   int li_0 = Time[1];
   if (Time[0] > iTime(NULL, PERIOD_H1, li_76)) li_0 = iTime(NULL, PERIOD_H1, li_76);
   int l_datetime_4 = iTime(NULL, PERIOD_H1, li_84);
   double ld_44 = -99999;
   double ld_60 = 99999;
   for (int li_92 = li_84; li_92 >= li_88; li_92--) {
      if (l_iopen_52 == 0.0) l_iopen_52 = iOpen(NULL, PERIOD_H1, li_92);
      ld_44 = MathMax(iHigh(NULL, PERIOD_H1, li_92), ld_44);
      ld_60 = MathMin(iLow(NULL, PERIOD_H1, li_92), ld_60);
      l_iclose_68 = iClose(NULL, PERIOD_H1, li_92);
   }
   double l_iopen_36 = iOpen(NULL, PERIOD_H1, li_76);
   double ld_20 = -99999;
   double ld_28 = 99999;
   for (int li_96 = li_76; li_96 >= 0; li_96--) {
      ld_20 = MathMax(ld_20, iHigh(NULL, PERIOD_H1, li_96));
      ld_28 = MathMin(ld_28, iLow(NULL, PERIOD_H1, li_96));
   }
   if (ShowTodayBoxColor) {
      l_name_100 = "[TzPivotsD Today Box]";
      ObjectCreate(l_name_100, OBJ_RECTANGLE, 0, 0, 0);
      ObjectSet(l_name_100, OBJPROP_TIME1, iTime(NULL, PERIOD_H1, li_76));
      ObjectSet(l_name_100, OBJPROP_TIME2, Time[0]);
      ObjectSet(l_name_100, OBJPROP_PRICE1, ld_20);
      ObjectSet(l_name_100, OBJPROP_PRICE2, ld_28);
      ObjectSet(l_name_100, OBJPROP_COLOR, TodayBoxColor);
   }
   if (ShowYesterdayBoxColor) {
      l_name_108 = "[TzPivotsD Yesterday Box]";
      ObjectCreate(l_name_108, OBJ_RECTANGLE, 0, 0, 0);
      ObjectSet(l_name_108, OBJPROP_TIME1, iTime(NULL, PERIOD_H1, li_84));
      ObjectSet(l_name_108, OBJPROP_TIME2, iTime(NULL, PERIOD_H1, li_76));
      ObjectSet(l_name_108, OBJPROP_PRICE1, ld_44);
      ObjectSet(l_name_108, OBJPROP_PRICE2, ld_60);
      ObjectSet(l_name_108, OBJPROP_COLOR, YesterdayBoxColor);
   }
   if (Show_DayCandle) {
      l_pips_116 = 1;
      if (gi_568 == 3 || gi_568 == 5) l_pips_116 = 10.0;
      g_shift_604 = iBarShift(NULL, PERIOD_D1, iTime(NULL, PERIOD_H1, li_76));
      l_iopen_124 = iOpen(NULL, PERIOD_H1, li_76);
      l_iclose_132 = iClose(NULL, PERIOD_H1, li_80);
      ld_140 = (l_iclose_132 - l_iopen_124) / (Point * l_pips_116);
      li_148 = 0;
      if (ld_140 > 0.0) {
         g_ibuf_588[li_148] = ld_20;
         g_ibuf_592[li_148] = ld_28;
      } else {
         g_ibuf_588[li_148] = ld_28;
         g_ibuf_592[li_148] = ld_20;
      }
      g_ibuf_596[li_148] = l_iopen_124 + 0.000001;
      g_ibuf_600[li_148] = l_iclose_132;
      l_count_152 = 0;
      for (int li_156 = Bars - 1; l_count_152 < 4; l_count_152++) SetIndexDrawBegin(l_count_152, li_156);
   }
   if (Show_DayCandle_PriceLabel) {
      li_160 = ObjectsTotal();
      for (int l_objs_total_164 = li_160; l_objs_total_164 >= 0; l_objs_total_164--) {
         l_name_168 = ObjectName(l_objs_total_164);
         if (StringSubstr(l_name_168, 12, 11) == "CandlePrice") ObjectDelete(l_name_168);
         if (StringSubstr(l_name_168, 12, 12) == "PricePointer") ObjectDelete(l_name_168);
      }
      l_datetime_176 = Time[0];
      l_bid_184 = Bid;
      l_bid_192 = Bid;
      l_color_200 = PriceLabel_StaticColor;
      l_color_204 = PriceLabel_PointerColor;
      if (Bid > g_bid_612) l_color_200 = PriceLabel_UPColor;
      if (Bid < g_bid_612) l_color_200 = PriceLabel_DOWNColor;
      g_bid_612 = Bid;
      ls_212 = StringSubstr(Symbol(), 3, 3);
      if (ls_212 == "JPY") li_208 = 2;
      else li_208 = 4;
      l_dbl2str_220 = DoubleToStr(Bid, li_208);
      l_fontname_244 = "Arial Bold";
      l_fontsize_252 = PriceLabel_FontSize;
      for (l_count_152 = 1; l_count_152 <= Shift_PriceLabel_Right; l_count_152++) ls_228 = ls_228 + " ";
      for (li_96 = 1; li_96 <= Shift_PricePointer_Right; li_96++) ls_236 = ls_236 + " ";
      l_text_256 = ls_228 + l_dbl2str_220;
      l_text_264 = ls_236 + "^";
      if (ObjectFind("[TzPivotsD CandlePrice]") != 0) {
         ObjectCreate("[TzPivotsD CandlePrice]", OBJ_TEXT, 0, l_datetime_176, l_bid_184);
         ObjectSetText("[TzPivotsD CandlePrice]", l_text_256, l_fontsize_252, l_fontname_244, l_color_200);
      } else ObjectMove("[TzPivotsD CandlePrice]", 0, l_datetime_176, l_bid_184);
      if (ObjectFind("[TzPivotsD PricePointer]") != 0) {
         ObjectCreate("[TzPivotsD PricePointer]", OBJ_TEXT, 0, l_datetime_176, l_bid_192);
         ObjectSetText("[TzPivotsD PricePointer]", l_text_264, l_fontsize_252, l_fontname_244, l_color_204);
      } else ObjectMove("[TzPivotsD PricePointer]", 0, l_datetime_176, l_bid_192);
   }
   gi_560 = FALSE;
   gi_564 = FALSE;
   if (Enter_LinePlacement_Number == 1) gi_560 = TRUE;
   if (Enter_LinePlacement_Number == 1 && Fullscreen_MarginLabels == TRUE) gi_564 = TRUE;
   if (Enter_LinePlacement_Number != 1) {
      li_272 = WindowFirstVisibleBar();
      li_276 = (Time[0] - iTime(NULL, PERIOD_H1, li_76)) / (60 * Period());
      li_280 = li_272 - li_276;
      li_284 = Relabeler_Adjustment;
      if (li_280 > li_284) gi_560 = FALSE;
      if (li_280 <= li_284) {
         gi_560 = TRUE;
         if (Fullscreen_MarginLabels == TRUE) gi_564 = TRUE;
      }
   }
   string ls_288 = "A = " + gi_560 + ",  ";
   ls_288 = ls_288 + "Current time to Separator = " + li_276 + " candles.";
   ls_288 = ls_288 + "   Separator to Chart left = " + li_280 + " candles.";
   ls_288 = ls_288 + "   Total candles visable = " + li_272 + " candles.";
   ls_288 = ls_288 + "   Relabeler is set to trigger when Separator is  " + li_284 + "  candles from chart left.";
   if (Show_Relabeler_Comment == TRUE) Comment(ls_288);
   else Comment(" ");
   if (Period() < PERIOD_D1) {
      if (ShowTodaySeparatorLine) {
         li_296 = HrsChoiceTzFromGMT;
         ls_300 = "(GMT)        ";
         if (li_296 > 0 && li_296 < 10) ls_300 = "(GMT +" + li_296 + ")   ";
         if (li_296 >= 10) ls_300 = "(GMT +" + li_296 + ") ";
         if (li_296 < 0 && li_296 > -10) ls_300 = "(GMT " + li_296 + ")    ";
         if (li_296 <= -10) ls_300 = "(GMT " + li_296 + ")  ";
         if (SeparatorLinesStyle_01234 > STYLE_SOLID) SeparatorLinesThickness = 1;
         ld_308 = WindowPriceMax();
         ld_316 = WindowPriceMin();
         ld_324 = ld_308 - ld_316;
         ld_332 = ld_324 / 5000.0;
         ld_340 = ld_324 / (350 / SeparatorLabelFontSize);
         ld_348 = ld_308 - ld_332;
         if (PlaceAt_TopBot_12_OfChart == 2) ld_348 = ld_316 + ld_340;
         if (Label_Simple_or_Detailed_12 == 2) SetTimeLine("YesterdayEnd", gs_580 + ls_300, li_76, PeriodSeparatorsLabelsColor, ld_348);
         else SetTimeLine("YesterdayEnd", gs_580, li_76, PeriodSeparatorsLabelsColor, ld_348);
      }
      if (ShowYesterdaySeparatorLine) {
         if (Label_Simple_or_Detailed_12 == 2) SetTimeLine("YesterdayStart", gs_572 + ls_300, li_84, PeriodSeparatorsLabelsColor, ld_348);
         else SetTimeLine("YesterdayStart", gs_572, li_84, PeriodSeparatorsLabelsColor, ld_348);
      }
   }
   double ld_372 = ld_20 - ld_28;
   double ld_364 = ld_44 - ld_60;
   double ld_356 = (ld_44 + ld_60 + l_iclose_68) / 3.0;
   if (Show_1Daily_2FibonacciPivots == 1) {
      ld_380 = 2.0 * ld_356 - ld_60;
      ld_388 = ld_356 + (ld_44 - ld_60);
      ld_396 = 2.0 * ld_356 + (ld_44 - 2.0 * ld_60);
      ld_420 = 2.0 * ld_356 - ld_44;
      ld_428 = ld_356 - (ld_44 - ld_60);
      ld_436 = 2.0 * ld_356 - (2.0 * ld_44 - ld_60);
   }
   if (Show_1Daily_2FibonacciPivots == 2) {
      ld_380 = ld_356 + ld_364 / 2.0;
      ld_388 = ld_356 + 0.618 * ld_364;
      ld_396 = ld_356 + ld_364;
      ld_404 = ld_356 + 1.618 * ld_364;
      ld_412 = ld_356 + 2.618 * ld_364;
      ld_428 = ld_356 - 0.618 * ld_364;
      ld_420 = ld_356 - ld_364 / 2.0;
      ld_436 = ld_356 - ld_364;
      ld_444 = ld_356 - 1.618 * ld_364;
      ld_452 = ld_356 - 2.618 * ld_364;
   }
   gi_556 = WindowFirstVisibleBar() / 2 - Fullscreen_shift_lineLabels_LR;
   string ls_460 = "";
   int li_12 = Time[0];
   if (Enter_LinePlacement_Number == 2 && gi_560 == FALSE) {
      ls_460 = "              ";
      if (Show_Price_in_LineLabels) ls_460 = "                          ";
      li_16 = iTime(NULL, PERIOD_H1, li_76);
      li_8 = li_0;
   }
   if (gi_560 == TRUE) {
      ls_460 = "              ";
      if (Show_Price_in_LineLabels) ls_460 = "                          ";
      li_16 = Time[gi_556];
      li_8 = WindowFirstVisibleBar();
   }
   if (Enter_LinePlacement_Number == 3) {
      ls_460 = "               ";
      if (Show_Price_in_LineLabels) ls_460 = "                          ";
      li_16 = Time[0];
      li_8 = Time[1];
   }
   if (Labels_MaxRight_Override) {
      ls_460 = "                                                   ";
      if (Show_Price_in_LineLabels) ls_460 = "                                                 ";
      li_16 = Time[0];
   }
   if (Scroll_Compensator && iTime(NULL, 0, WindowFirstVisibleBar()) < Time[gi_556 + Scroll_Left_Adjustment]) {
      ls_460 = "                     ";
      if (Show_Price_in_LineLabels) ls_460 = "                                     ";
      li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
      li_8 = WindowFirstVisibleBar();
   }
   if (Show_1Daily_2FibonacciPivots == 1) SetLevel("DPV", ld_356, CentralPivotColor, CentralPivotLineStyle_01234, CentralPivotSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   if (Show_1Daily_2FibonacciPivots == 2) SetLevel("FPV", ld_356, CentralPivotColor, CentralPivotLineStyle_01234, CentralPivotSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   if (Enter_LinePlacement_Number == 2 && gi_560 == FALSE) {
      ls_460 = "                 ";
      if (Show_Price_in_LineLabels) ls_460 = "                            ";
      li_16 = iTime(NULL, PERIOD_H1, li_76);
      li_8 = li_0;
   }
   if (gi_560 == TRUE) {
      ls_460 = "                 ";
      if (Show_Price_in_LineLabels) ls_460 = "                            ";
      li_16 = Time[gi_556];
      li_8 = WindowFirstVisibleBar();
   }
   if (Enter_LinePlacement_Number == 3) {
      ls_460 = "                 ";
      if (Show_Price_in_LineLabels) ls_460 = "                            ";
      li_16 = Time[0];
      li_8 = Time[1];
   }
   if (Labels_MaxRight_Override) {
      ls_460 = "                                                      ";
      if (Show_Price_in_LineLabels) ls_460 = "                                                   ";
      li_16 = Time[0];
   }
   if (Scroll_Compensator && iTime(NULL, 0, WindowFirstVisibleBar()) < Time[gi_556 + Scroll_Left_Adjustment]) {
      ls_460 = "                         ";
      if (Show_Price_in_LineLabels) ls_460 = "                                      ";
      li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
      li_8 = WindowFirstVisibleBar();
   }
   if (R_LineStyle_01234 > 0) R_SolidLineThickness = FALSE;
   if (S_LineStyle_01234 > 0) S_SolidLineThickness = FALSE;
   SetLevel(" R3", ld_396, R_Color, R_LineStyle_01234, R_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   SetLevel(" R2", ld_388, R_Color, R_LineStyle_01234, R_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   SetLevel(" R1", ld_380, R_Color, R_LineStyle_01234, R_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   SetLevel(" S1", ld_420, S_Color, S_LineStyle_01234, S_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   SetLevel(" S2", ld_428, S_Color, S_LineStyle_01234, S_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   SetLevel(" S3", ld_436, S_Color, S_LineStyle_01234, S_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   if (Show_1Daily_2FibonacciPivots == 2) {
      SetLevel(" R5", ld_412, R_Color, R_LineStyle_01234, R_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" R4", ld_404, R_Color, R_LineStyle_01234, R_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" S4", ld_444, S_Color, S_LineStyle_01234, S_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" S5", ld_452, S_Color, S_LineStyle_01234, S_SolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   }
   if (ShowMidPivots == TRUE) {
      ls_460 = "";
      if (Enter_LinePlacement_Number == 2 && gi_560 == FALSE) {
         ls_460 = "             ";
         if (Show_Price_in_LineLabels) ls_460 = "                         ";
         li_16 = iTime(NULL, PERIOD_H1, li_76);
         li_8 = li_0;
      }
      if (gi_560 == TRUE) {
         ls_460 = "             ";
         if (Show_Price_in_LineLabels) ls_460 = "                         ";
         li_16 = Time[gi_556];
         li_8 = WindowFirstVisibleBar();
      }
      if (Enter_LinePlacement_Number == 3) {
         ls_460 = "              ";
         if (Show_Price_in_LineLabels) ls_460 = "                         ";
         li_16 = Time[0];
         li_8 = Time[1];
      }
      if (Labels_MaxRight_Override) {
         ls_460 = "                                                   ";
         if (Show_Price_in_LineLabels) ls_460 = "                                                ";
         li_16 = Time[0];
      }
      if (Scroll_Compensator && iTime(NULL, 0, WindowFirstVisibleBar()) < Time[gi_556 + Scroll_Left_Adjustment]) {
         ls_460 = "                    ";
         if (Show_Price_in_LineLabels) ls_460 = "                                   ";
         li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
         li_8 = WindowFirstVisibleBar();
      }
      if (MidPivotsLineStyle_01234 > 0) MidPivotsLineThickness = FALSE;
      SetLevel(" MR3", (ld_388 + ld_396) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" MR2", (ld_380 + ld_388) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" MR1", (ld_356 + ld_380) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" MS1", (ld_356 + ld_420) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" MS2", (ld_420 + ld_428) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" MS3", (ld_428 + ld_436) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      if (Show_1Daily_2FibonacciPivots == 2) {
         SetLevel(" MR5", (ld_404 + ld_412) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel(" MR4", (ld_396 + ld_404) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel(" MS4", (ld_436 + ld_444) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel(" MS5", (ld_444 + ld_452) / 2.0, MidPivotsColor, MidPivotsLineStyle_01234, MidPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      }
   }
   if (ShowQtrPivots == TRUE) {
      ls_460 = "";
      if (Enter_LinePlacement_Number == 2 && gi_560 == FALSE) {
         ls_460 = "              ";
         if (Show_Price_in_LineLabels) ls_460 = "                         ";
         li_16 = iTime(NULL, PERIOD_H1, li_76);
         li_8 = li_0;
      }
      if (gi_560 == TRUE) {
         ls_460 = "              ";
         if (Show_Price_in_LineLabels) ls_460 = "                         ";
         li_16 = Time[gi_556];
         li_8 = WindowFirstVisibleBar();
      }
      if (Enter_LinePlacement_Number == 3) {
         ls_460 = "              ";
         if (Show_Price_in_LineLabels) ls_460 = "                         ";
         li_16 = Time[0];
         li_8 = Time[1];
      }
      if (Labels_MaxRight_Override) {
         ls_460 = "                                                   ";
         if (Show_Price_in_LineLabels) ls_460 = "                                                ";
         li_16 = Time[0];
      }
      if (Scroll_Compensator && iTime(NULL, 0, WindowFirstVisibleBar()) < Time[gi_556 + Scroll_Left_Adjustment]) {
         ls_460 = "                     ";
         if (Show_Price_in_LineLabels) ls_460 = "                                   ";
         li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
         li_8 = WindowFirstVisibleBar();
      }
      if (QtrPivotsLineStyle_01234 > 0) QtrPivotsLineThickness = FALSE;
      SetLevel("q3R3", ld_388 + 3.0 * ((ld_396 - ld_388) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q1R3", ld_388 + (ld_396 - ld_388) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q3R2", ld_380 + 3.0 * ((ld_388 - ld_380) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q1R2", ld_380 + (ld_388 - ld_380) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q3R1", ld_356 + 3.0 * ((ld_380 - ld_356) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q1R1", ld_356 + (ld_380 - ld_356) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q1S1", ld_356 - (ld_356 - ld_420) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q3S1", ld_356 - 3.0 * ((ld_356 - ld_420) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q1S2", ld_420 - (ld_420 - ld_428) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q3S2", ld_420 - 3.0 * ((ld_420 - ld_428) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q1S3", ld_428 - (ld_428 - ld_436) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel("q3S3", ld_428 - 3.0 * ((ld_428 - ld_436) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      if (Show_1Daily_2FibonacciPivots == 2) {
         SetLevel("q3R5", ld_404 + 3.0 * ((ld_412 - ld_404) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("q1R5", ld_404 + (ld_412 - ld_404) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("q3R4", ld_396 + 3.0 * ((ld_404 - ld_396) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("q1R4", ld_396 + (ld_404 - ld_396) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("q1S4", ld_436 - (ld_436 - ld_444) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("q3S4", ld_436 - 3.0 * ((ld_436 - ld_444) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("q1S5", ld_444 - (ld_444 - ld_452) / 4.0, QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("q3S5", ld_444 - 3.0 * ((ld_444 - ld_452) / 4.0), QtrPivotsColor, QtrPivotsLineStyle_01234, QtrPivotsLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      }
   }
   if (ShowTodayOpen == TRUE) {
      ls_460 = "";
      if (Enter_LinePlacement_Number == 2 && gi_560 == FALSE) {
         ls_460 = "             ";
         if (Show_Price_in_LineLabels) ls_460 = "                        ";
         li_16 = iTime(NULL, PERIOD_H1, li_76);
         li_8 = li_0;
      }
      if (gi_560 == TRUE) {
         ls_460 = "             ";
         if (Show_Price_in_LineLabels) ls_460 = "                        ";
         li_16 = Time[gi_556];
         li_8 = WindowFirstVisibleBar();
      }
      if (Enter_LinePlacement_Number == 3) {
         ls_460 = "             ";
         if (Show_Price_in_LineLabels) ls_460 = "                        ";
         li_16 = Time[0];
         li_8 = Time[1];
      }
      if (Labels_MaxRight_Override) {
         ls_460 = "                                                  ";
         if (Show_Price_in_LineLabels) ls_460 = "                                               ";
         li_16 = Time[0];
      }
      if (Scroll_Compensator && iTime(NULL, 0, WindowFirstVisibleBar()) < Time[gi_556 + Scroll_Left_Adjustment]) {
         ls_460 = "                   ";
         if (Show_Price_in_LineLabels) ls_460 = "                                  ";
         li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
         li_8 = WindowFirstVisibleBar();
      }
      if (TodayOpenLineStyle_01234 > 0) TodayOpenSolidLineThickness = FALSE;
      SetLevel("Open", l_iopen_36, TodayOpenColor, TodayOpenLineStyle_01234, TodayOpenSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   }
   if (ShowCamarilla == TRUE) {
      ls_460 = "";
      if (Shift_CamarillaLabels_left < 0) Shift_CamarillaLabels_left = 0;
      if (Enter_LinePlacement_Number == 2 && gi_560 == FALSE) {
         ls_460 = "               ";
         if (Show_Price_in_LineLabels) ls_460 = "                          ";
         li_16 = iTime(NULL, PERIOD_H1, li_76);
         if (Shift_CamarillaLabels_left > 0) li_16 = iTime(NULL, PERIOD_H1, li_76 + Shift_CamarillaLabels_left);
         li_8 = li_0;
      }
      if (gi_560 == TRUE) {
         ls_460 = "               ";
         if (Show_Price_in_LineLabels) ls_460 = "                          ";
         li_16 = Time[gi_556];
         if (Shift_CamarillaLabels_left > 0) {
            ls_460 = "";
            li_16 = Time[gi_556 + Shift_CamarillaLabels_left];
         }
         li_8 = WindowFirstVisibleBar();
      }
      if (Enter_LinePlacement_Number == 3) {
         ls_460 = "               ";
         if (Show_Price_in_LineLabels) ls_460 = "                          ";
         li_16 = Time[0];
         if (Shift_CamarillaLabels_left > 0) {
            ls_460 = "";
            li_16 = Time[Shift_CamarillaLabels_left + 0];
         }
         li_8 = Time[1];
      }
      if (Labels_MaxRight_Override) {
         ls_460 = "                                                    ";
         if (Show_Price_in_LineLabels) ls_460 = "                                                 ";
         li_16 = Time[0];
         if (Shift_CamarillaLabels_left > 0) {
            ls_460 = "";
            li_16 = Time[Shift_CamarillaLabels_left + 0];
         }
      }
      if (Scroll_Compensator && iTime(NULL, 0, WindowFirstVisibleBar()) < Time[gi_556 + Scroll_Left_Adjustment]) {
         ls_460 = "                      ";
         if (Show_Price_in_LineLabels) ls_460 = "                                    ";
         li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
         li_8 = WindowFirstVisibleBar();
      }
      if (CamarillaLineStyle_01234 > 0) CamarillaSolidLineThickness = FALSE;
      ld_468 = 1.1 * ld_364 / 6.0 + l_iclose_68;
      ld_476 = 1.1 * ld_364 / 12.0 + l_iclose_68;
      ld_484 = l_iclose_68 - 1.1 * ld_364 / 12.0;
      ld_492 = l_iclose_68 - 1.1 * ld_364 / 6.0;
      SetLevel(" cR1", ld_476, CamarillaColor, CamarillaLineStyle_01234, CamarillaSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" cR2", ld_468, CamarillaColor, CamarillaLineStyle_01234, CamarillaSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" cS1", ld_484, CamarillaColor, CamarillaLineStyle_01234, CamarillaSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      SetLevel(" cS2", ld_492, CamarillaColor, CamarillaLineStyle_01234, CamarillaSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
   }
   if (ShowYesterdayHighLow == TRUE) {
      ls_460 = "";
      if (Shift_yH_yL_labels_left < 0) Shift_yH_yL_labels_left = 0;
      if (Enter_LinePlacement_Number == 2 && gi_560 == FALSE) {
         ls_460 = "            ";
         if (Show_Price_in_LineLabels) ls_460 = "                       ";
         li_16 = iTime(NULL, PERIOD_H1, li_84);
         if (iTime(NULL, 0, WindowFirstVisibleBar()) >= iTime(NULL, PERIOD_H1, li_84)) {
            ls_460 = "                         ";
            if (Show_Price_in_LineLabels) ls_460 = "                                       ";
            li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
         }
         if (Shift_yH_yL_labels_left > 0) {
            if (iTime(NULL, 0, WindowFirstVisibleBar()) >= iTime(NULL, PERIOD_H1, li_84) && iTime(NULL, PERIOD_H1, li_76 + Shift_yH_yL_labels_left) >= iTime(NULL, 0, WindowFirstVisibleBar())) {
               ls_460 = "                                       ";
               if (Show_Price_in_LineLabels) ls_460 = "                     ";
               li_16 = iTime(NULL, PERIOD_H1, li_76 + Shift_yH_yL_labels_left);
            }
         }
         li_8 = iTime(NULL, PERIOD_H1, li_84);
      }
      if (gi_560 == TRUE) {
         ls_460 = "                   ";
         if (Show_Price_in_LineLabels) ls_460 = "                             ";
         li_16 = Time[gi_556];
         if (Shift_yH_yL_labels_left > 0) {
            ls_460 = "";
            li_16 = Time[gi_556 + Shift_yH_yL_labels_left];
         }
         li_8 = WindowFirstVisibleBar();
      }
      if (Enter_LinePlacement_Number == 3) {
         ls_460 = "                   ";
         if (Show_Price_in_LineLabels) ls_460 = "                             ";
         li_16 = Time[0];
         if (Shift_yH_yL_labels_left > 0) {
            ls_460 = "";
            li_16 = Time[Shift_yH_yL_labels_left + 0];
         }
         li_8 = Time[1];
         if (Ignore_MaxRight_LinePlacement) li_8 = iTime(NULL, PERIOD_H1, li_84);
      }
      if (Labels_MaxRight_Override) {
         ls_460 = "                                                        ";
         if (Show_Price_in_LineLabels) ls_460 = "                                                    ";
         li_16 = Time[0];
         if (Shift_yH_yL_labels_left > 0) {
            ls_460 = "";
            li_16 = Time[Shift_yH_yL_labels_left + 0];
         }
      }
      if (Scroll_Compensator && iTime(NULL, 0, WindowFirstVisibleBar()) < Time[gi_556 + Scroll_Left_Adjustment]) {
         ls_460 = "                      ";
         if (Show_Price_in_LineLabels) ls_460 = "                                        ";
         li_16 = iTime(NULL, 0, WindowFirstVisibleBar());
         li_8 = WindowFirstVisibleBar();
      }
      if (Enter_LinePlacement_Number == 2 || Enter_LinePlacement_Number == 3 && Ignore_MaxRight_LinePlacement) {
         SetLevel("yH ", ld_44, YesterdayHighLowColor, HighLowLineStyle_01234, HighLowSolidLineThickness, l_datetime_4, li_0, li_16, gi_564, ls_460);
         SetLevel("yL ", ld_60, YesterdayHighLowColor, HighLowLineStyle_01234, HighLowSolidLineThickness, l_datetime_4, li_0, li_16, gi_564, ls_460);
         SetLevel("yHigh", ld_44, YesterdayHighLowColor, Today_yHL_LineStyle_01234, Today_yHL_SolidLineThickness, li_0, li_12, 0, gi_564, ls_460);
         SetLevel("yLow", ld_60, YesterdayHighLowColor, Today_yHL_LineStyle_01234, Today_yHL_SolidLineThickness, li_0, li_12, 0, gi_564, ls_460);
      } else {
         SetLevel("yH", ld_44, YesterdayHighLowColor, HighLowLineStyle_01234, HighLowSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
         SetLevel("yL", ld_60, YesterdayHighLowColor, HighLowLineStyle_01234, HighLowSolidLineThickness, li_8, li_12, li_16, gi_564, ls_460);
      }
   }
   if (Show_Data_Comment) {
      ObjectCreate("[TzPivotsD CommentsBox]", OBJ_LABEL, 0, 0, 0, 0, 0);
      ObjectSetText("[TzPivotsD CommentsBox]", "g", 88, "Webdings");
      ObjectSet("[TzPivotsD CommentsBox]", OBJPROP_CORNER, 0);
      ObjectSet("[TzPivotsD CommentsBox]", OBJPROP_XDISTANCE, 0);
      ObjectSet("[TzPivotsD CommentsBox]", OBJPROP_YDISTANCE, 13);
      ObjectSet("[TzPivotsD CommentsBox]", OBJPROP_COLOR, CommentBox_BackgroundColor);
      ObjectSet("[TzPivotsD CommentsBox]", OBJPROP_BACK, TRUE);
      li_512 = Time[0] + 60 * Period() - TimeCurrent();
      li_508 = li_512 % 60;
      ls_516 = li_508;
      if (li_508 < 10) ls_516 = "0" + ls_516;
      li_504 = (li_512 - li_512 % 60) / 60;
      for (l_count_152 = 0; l_count_152 < 24; l_count_152++) {
         if (li_504 >= 60) {
            li_504 -= 60;
            li_500++;
         }
         ls_524 = li_504;
         if (li_504 < 10) ls_524 = "0" + ls_524;
         ls_532 = li_500;
         if (li_500 < 10) ls_532 = "0" + ls_532;
         ls_540 = ls_524 + ":" + ls_516;
         if (li_500 >= 1) ls_540 = ls_532 + ":" + ls_524 + ":" + ls_516;
         if (Period() > PERIOD_D1) ls_540 = 0;
      }
      li_548 = HrsServerTzFromGMT - HrsChoiceTzFromGMT;
      li_552 = MarketInfo(Symbol(), MODE_SPREAD);
      ls_556 = "\n---------  TzPivotsD  ---------\n";
      ls_556 = ls_556 + "   Range  Today:     " + DoubleToStr(MathRound(ld_372 / Point), 0) 
      + "\n";
      ls_556 = ls_556 + "         Yesterday:     " + DoubleToStr(MathRound(ld_364 / Point), 0) 
      + "\n";
      ls_556 = ls_556 + "Time to next bar:     " + ls_540 
      + "\n";
      ls_556 = ls_556 + "    GMT  Setting:      " + li_548 
      + "\n";
      ls_556 = ls_556 + "             Spread:      " + li_552 
      + "\n";
      ls_556 = ls_556 + "      Swap  Long:      " + DoubleToStr(MarketInfo(Symbol(), MODE_SWAPLONG), 2) 
      + "\n";
      ls_556 = ls_556 + "     Swap  Short:      " + DoubleToStr(MarketInfo(Symbol(), MODE_SWAPSHORT), 2) 
      + "\n";
      Comment(ls_556);
   }
   return (0);
}

void ComputeDayIndices(int ai_0, int ai_4, int &ai_8, int &ai_12, int &ai_16) {
   int li_48;
   int li_56;
   int li_60;
   int li_20 = ai_0 - ai_4;
   int li_24 = 3600 * li_20;
   int li_28 = 24;
   int l_day_of_week_32 = TimeDayOfWeek(iTime(NULL, PERIOD_H1, 0) - li_24);
   int li_36 = -1;
   ai_8 = 0;
   ai_12 = 0;
   ai_16 = 0;
   switch (l_day_of_week_32) {
   case 6:
   case 0:
      li_36 = 5;
      break;
   case 1: break;
   default:
      li_36 = l_day_of_week_32 - 1;
   }
   for (int li_44 = 1; li_44 <= li_28 + 1; li_44++) {
      li_48 = iTime(NULL, PERIOD_H1, li_44) - li_24;
      if (TimeDayOfWeek(li_48) != l_day_of_week_32) {
         ai_8 = li_44 - 1;
         break;
      }
   }
   for (int l_count_52 = 0; l_count_52 <= li_28 * 2 + 1; l_count_52++) {
      li_56 = iTime(NULL, PERIOD_H1, li_44 + l_count_52) - li_24;
      if (TimeDayOfWeek(li_56) == li_36) {
         ai_16 = li_44 + l_count_52;
         break;
      }
   }
   for (l_count_52 = 1; l_count_52 <= li_28; l_count_52++) {
      li_60 = iTime(NULL, PERIOD_H1, ai_16 + l_count_52) - li_24;
      if (TimeDayOfWeek(li_60) != li_36) {
         ai_12 = ai_16 + l_count_52 - 1;
         break;
      }
   }
   if (Label_Simple_or_Detailed_12 == 2) {
      if (li_36 == 1) {
         gs_572 = "      Monday    ";
         gs_580 = "    Tuesday     ";
      }
      if (li_36 == 2) {
         gs_572 = "     Tuesday    ";
         gs_580 = "Wednesday     ";
      }
      if (li_36 == 3) {
         gs_572 = "Wednesday     ";
         gs_580 = "    Thursday    ";
      }
      if (li_36 == 4) {
         gs_572 = "    Thursday    ";
         gs_580 = "        Friday    ";
      }
      if (li_36 != 5) return;
      gs_572 = "        Friday    ";
      gs_580 = "      Monday    ";
      return;
   }
   gs_572 = "Yesterday";
   gs_580 = "Today";
}

void SetLevel(string as_0, double a_price_8, color a_color_16, int a_style_20, int ai_24, int a_datetime_28, int a_datetime_32, int a_datetime_36, int ai_40, string as_44) {
   int li_80;
   string l_name_52 = "[TzPivotsD] " + as_0 + " Line";
   string l_name_60 = "[TzPivotsD] " + as_0 + " Label";
   int l_style_68 = a_style_20;
   int l_width_72 = ai_24;
   int l_width_76 = 1;
   if (l_style_68 == STYLE_SOLID) l_width_76 = l_width_72;
   if (ai_40 == 0) li_80 = 2;
   if (ai_40 == 1) li_80 = 1;
   bool l_bool_84 = TRUE;
   if (Limit_Lines_To_Current_Candle && Enter_LinePlacement_Number != 3) l_bool_84 = FALSE;
   if (StringSubstr(as_0, 0, 3) == "yH " || StringSubstr(as_0, 0, 3) == "yL ") l_bool_84 = FALSE;
   if (ObjectFind(l_name_52) != 0) {
      ObjectCreate(l_name_52, li_80, 0, a_datetime_28, a_price_8, a_datetime_32, a_price_8);
      ObjectSet(l_name_52, OBJPROP_STYLE, a_style_20);
      ObjectSet(l_name_52, OBJPROP_COLOR, a_color_16);
      ObjectSet(l_name_52, OBJPROP_WIDTH, l_width_76);
      ObjectSet(l_name_52, OBJPROP_BACK, FALSE);
      ObjectSet(l_name_52, OBJPROP_RAY, l_bool_84);
   } else {
      ObjectMove(l_name_52, 0, a_datetime_28, a_price_8);
      ObjectMove(l_name_52, 1, a_datetime_32, a_price_8);
   }
   if (PivotLabelsFontSize > 12) PivotLabelsFontSize = 12;
   int l_digits_88 = Digits;
   string ls_92 = StringSubstr(Symbol(), 3, 3);
   if (ls_92 == "JPY") l_digits_88 = 2;
   else l_digits_88 = 4;
   string l_dbl2str_100 = DoubleToStr(a_price_8, l_digits_88);
   if (Show_Price_in_LineLabels && StrToInteger(as_0) == 0) as_0 = as_0 + ":  " + l_dbl2str_100;
   as_0 = as_44 + as_0;
   if (ObjectFind(l_name_60) != 0) {
      ObjectCreate(l_name_60, OBJ_TEXT, 0, a_datetime_36, a_price_8);
      ObjectSetText(l_name_60, as_0, PivotLabelsFontSize, Input_PivotLabelsFontStyle, PivotLabelsColor);
      ObjectSet(l_name_60, OBJPROP_BACK, FALSE);
      if (Subordinate_PivotLabels) ObjectSet(l_name_60, OBJPROP_BACK, TRUE);
   } else ObjectMove(l_name_60, 0, a_datetime_36, a_price_8);
}

void SetTimeLine(string as_0, string a_text_8, int ai_16, int ai_unused_20, double a_price_24) {
   string ls_unused_32;
   string l_name_40 = "[TzPivotsD] " + as_0;
   int l_datetime_48 = iTime(NULL, PERIOD_H1, ai_16);
   if (ObjectFind(l_name_40) != 0) {
      ObjectCreate(l_name_40, OBJ_TREND, 0, l_datetime_48, 0, l_datetime_48, 100);
      ObjectSet(l_name_40, OBJPROP_STYLE, SeparatorLinesStyle_01234);
      ObjectSet(l_name_40, OBJPROP_COLOR, PeriodSeparatorLinesColor);
      ObjectSet(l_name_40, OBJPROP_WIDTH, SeparatorLinesThickness);
      ObjectSet(l_name_40, OBJPROP_BACK, TRUE);
   } else {
      ObjectMove(l_name_40, 0, l_datetime_48, 0);
      ObjectMove(l_name_40, 1, l_datetime_48, 100);
   }
   if (ShowPeriodSeparatorLabels == TRUE) {
      if (ObjectFind(l_name_40 + " Label") != 0) {
         ObjectCreate(l_name_40 + " Label", OBJ_TEXT, 0, l_datetime_48, a_price_24);
         ObjectSetText(l_name_40 + " Label", a_text_8, SeparatorLabelFontSize, Input_SeparatorFontStyle, PeriodSeparatorsLabelsColor);
         ObjectSet(l_name_40, OBJPROP_BACK, FALSE);
         if (Subordinate_SeparatorLabels) ObjectSet(l_name_40, OBJPROP_BACK, TRUE);
      } else ObjectMove(l_name_40 + " Label", 0, l_datetime_48, a_price_24);
   }
}