#property indicator_chart_window
#property indicator_buffers 4

extern color bar_up = DeepSkyBlue; //цвет бара вверх
extern color bar_down = Tomato;    //цвет бара вних
extern int shift = 7;              //сдвиг бара от правого края окна на заданное количество баров
extern int period = PERIOD_D1;     //период графика с которого будет проецироваться последний бар

color Color;
double h[], l[], o[], c[]; 

void init()
  {
  SetIndexBuffer(0,h);
  SetIndexBuffer(1,l);
  SetIndexBuffer(2,o);
  SetIndexBuffer(3,c);
  }

void start()
  {
  if(iClose(NULL, period, 0) > iOpen(NULL, period, 0)) Color = bar_up; else Color = bar_down;
  int index = WindowBarsPerChart()-WindowFirstVisibleBar() - shift;
  
  SetIndexStyle (0,DRAW_HISTOGRAM,EMPTY,0,Color); SetIndexShift(0, index);
  SetIndexStyle (1,DRAW_HISTOGRAM,EMPTY,0,Color); SetIndexShift(1, index);
  SetIndexStyle (2,DRAW_HISTOGRAM,EMPTY,3,Color); SetIndexShift(2, index);
  SetIndexStyle (3,DRAW_HISTOGRAM,EMPTY,3,Color); SetIndexShift(3, index);
  
  ArrayInitialize(h,EMPTY_VALUE); h[0] = NormalizeDouble(iHigh (NULL, period, 0),Digits);
  ArrayInitialize(l,EMPTY_VALUE); l[0] = NormalizeDouble(iLow  (NULL, period, 0),Digits);
  ArrayInitialize(o,EMPTY_VALUE); o[0] = NormalizeDouble(iOpen (NULL, period, 0),Digits);
  ArrayInitialize(c,EMPTY_VALUE); c[0] = NormalizeDouble(iClose(NULL, period, 0),Digits);  
  }