/*
   Generated by FF
   Website: http://ForexFactory.com
*/

#property indicator_separate_window
#property indicator_minimum -15.0
#property indicator_maximum 15.0
#property indicator_levelcolor Gold
#property indicator_levelstyle 0
#property indicator_buffers 4
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Black
#property indicator_color4 Black
#property indicator_level1 8.0
#property indicator_level2 4.0
#property indicator_level3 -4.0
#property indicator_level4 -8.0

extern int NumBars = 5;
double g_ibuf_80[];
double g_ibuf_84[];
double g_ibuf_88[];
double g_ibuf_92[];

int init() {
   SetIndexStyle(0, DRAW_NONE);
   SetIndexBuffer(0, g_ibuf_80);
   SetIndexStyle(1, DRAW_NONE);
   SetIndexBuffer(1, g_ibuf_92);
   SetIndexStyle(2, DRAW_NONE);
   SetIndexBuffer(2, g_ibuf_84);
   SetIndexStyle(3, DRAW_NONE);
   SetIndexBuffer(3, g_ibuf_88);
   IndicatorShortName(" BELKHAYATE TIMING    ");
   return (0);
}

int deinit() {
   Comment("");
   return (0);
}

int start() {
   double ld_12;
   double ld_20;
   double ld_28;
   string l_name_44;
   string l_name_52;
   if (Year() >= 2032) return (0);
   string ls_0 = " BELKHAYATE TIMING    ";
   int li_8 = WindowFind(ls_0);
   for (int l_index_40 = 0; l_index_40 < 180; l_index_40++) {
      ld_12 = 0;
      for (int l_index_36 = l_index_40; l_index_36 < NumBars + l_index_40; l_index_36++) ld_12 += (High[l_index_36] + Low[l_index_36]) / 2.0;
      ld_20 = ld_12 / NumBars;
      ld_12 = 0;
      for (l_index_36 = l_index_40; l_index_36 < NumBars + l_index_40; l_index_36++) ld_12 += High[l_index_36] - Low[l_index_36];
      ld_28 = 0.2 * (ld_12 / NumBars);
      g_ibuf_80[l_index_40] = (High[l_index_40] - ld_20) / ld_28;
      g_ibuf_92[l_index_40] = (Low[l_index_40] - ld_20) / ld_28;
      g_ibuf_84[l_index_40] = (Open[l_index_40] - ld_20) / ld_28;
      g_ibuf_88[l_index_40] = (Close[l_index_40] - ld_20) / ld_28;
   }
   Sleep(1000);
   ObjectsDeleteAll(li_8);
   for (l_index_36 = 0; l_index_36 <= 180; l_index_36++) {
      l_name_44 = "TimingHL" + l_index_36;
      ObjectCreate(l_name_44, OBJ_TREND, li_8, Time[l_index_36], g_ibuf_80[l_index_36], Time[l_index_36], g_ibuf_92[l_index_36]);
      ObjectSet(l_name_44, OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet(l_name_44, OBJPROP_RAY, FALSE);
      ObjectSet(l_name_44, OBJPROP_WIDTH, 1);
      l_name_52 = "TimingOC" + l_index_36;
      ObjectCreate(l_name_52, OBJ_TREND, li_8, Time[l_index_36], g_ibuf_84[l_index_36], Time[l_index_36], g_ibuf_88[l_index_36]);
      ObjectSet(l_name_52, OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet(l_name_52, OBJPROP_RAY, FALSE);
      ObjectSet(l_name_52, OBJPROP_WIDTH, 3);
      if (Open[l_index_36] <= Close[l_index_36]) {
         ObjectSet(l_name_44, OBJPROP_COLOR, White);
         ObjectSet(l_name_52, OBJPROP_COLOR, White);
      } else {
         ObjectSet(l_name_44, OBJPROP_COLOR, Black);
         ObjectSet(l_name_52, OBJPROP_COLOR, Black);
      }
   }
   ObjectCreate("actual_VCharte", OBJ_HLINE, li_8, 0, g_ibuf_88[0]);
   ObjectSet("actual_Vcharte", OBJPROP_COLOR, DimGray);
   return (0);
}