

#property indicator_separate_window

#property indicator_levelcolor Indigo
#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;
extern color UP = Green;
extern color DOWN = Red;
extern int mèches= 1;
extern int corps = 3;
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(" Value Chart    ");
   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;

   string ls_0 = " Value Chart    ";
   int li_8 = WindowFind(ls_0);
   for (int l_index_40 = 0; l_index_40 < Bars; 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(10000);
   ObjectsDeleteAll(li_8);
   for (l_index_36 = 0; l_index_36 <= Bars; 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, mèches);
      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, corps);
      if (Open[l_index_36] <= Close[l_index_36]) {
         ObjectSet(l_name_44, OBJPROP_COLOR, UP);
         ObjectSet(l_name_52, OBJPROP_COLOR, UP);
      } else {
         ObjectSet(l_name_44, OBJPROP_COLOR, DOWN);
         ObjectSet(l_name_52, OBJPROP_COLOR, DOWN);
      }
   }
    /*//---- alarm bölümü
      static int up = 0;
      if (g_ibuf_80[l_index_40]>=6 && up<=0)
        { Alert("Price is overbought area on","\n",Symbol());
         up = 1 ;}
       static int down = 0;
      if (g_ibuf_92[l_index_40]<=-6 && down<=0)
        { Alert("Price is oversold area on","\n",Symbol());
         down = 1 ;}
       //----
       */
   Sleep(10000);
   return (0);
}