
#property indicator_chart_window
extern int    font_size = 10;
extern color  ColorBull = DodgerBlue;
extern color  ColorBear = Red;
extern string font_name = "Arial";

extern int MinWeekBar = 500;
extern int MaxWeekBar = 2000;



int MinWeekBar2 = 0 - MinWeekBar;
int MaxWeekBar2 = 0 - MaxWeekBar;
//+------------------------------------------------------------------+
int start()
{
   double shadow=0;
   double k=(WindowPriceMax()-WindowPriceMin())/20;
   for(int i=WindowFirstVisibleBar(); i>=0; i--)
   {
      double rs = (NormalizeDouble(Open[i],Digits)-NormalizeDouble(Close[i],Digits))/Point;
      
      if(Open[i] < Close[i])
      {
         shadow = (NormalizeDouble(High[i],Digits)-NormalizeDouble(Close[i],Digits))/Point;
      }
      else
      {
         shadow = (NormalizeDouble(Close[i],Digits)-NormalizeDouble(Low[i],Digits))/Point;
      }
      
      
      if (rs<0 && rs < MinWeekBar2 && rs > MaxWeekBar2) drawtext(i, High[i]+k, (DoubleToStr(rs*(-1),0) + "(" + DoubleToStr(shadow/rs*(-1)*100,0) +"%)"), ColorBull);
      if (rs>0 && rs > MinWeekBar && rs < MaxWeekBar) drawtext(i, Low[i]-k, (DoubleToStr(rs,0) + "(" + DoubleToStr(shadow/rs*100,0) +"%)"), ColorBear);
   }
   return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
   ObjectsDeleteAll(0,OBJ_TEXT);
   return(0);  
}
//+------------------------------------------------------------------+
void drawtext(int n, double Y1, string l,color c)
{
   string Name=TimeToStr(Time[n],TIME_DATE|TIME_MINUTES);
   ObjectDelete (Name);
   ObjectCreate (Name, OBJ_TEXT,0,Time[n],Y1,0,0,0,0);
   ObjectSetText(Name, l,font_size,font_name);
   ObjectSet    (Name, OBJPROP_COLOR, c);
}
//+------------------------------------------------------------------+

