//+------------------------------------------------------------------+
//|                                               EmptySubWindow.mq4 |
//|                                                        Designerr |
//+------------------------------------------------------------------+

#property copyright "Only creates empty subwindow on chart"

#property indicator_separate_window
#property indicator_maximum 1000
#property indicator_minimum 0
#property indicator_buffers 1

#property indicator_color1 clrNONE
#property indicator_width1 1

extern uint subWindowHeightPixels = 0;

string indName = "EmptySubWindow ("+_Symbol+", "+_Period+")";

double Line[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+

int init(){
   
   if(subWindowHeightPixels  > 0) ChartSetInteger(0, CHART_HEIGHT_IN_PIXELS, ChartWindowFind(), subWindowHeightPixels);
   if(subWindowHeightPixels == 0) ChartSetInteger(0, CHART_HEIGHT_IN_PIXELS, ChartWindowFind(), 0);
   
    SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, Line);
   
   return(0);
}

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+

int deinit(){ return(0); }

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+

int start(){
   
   if(IndicatorCounted() < 0) return(-1);
   
   for (int i = Bars-IndicatorCounted()-1; i >= 0; i--){ Line[i] = indicator_maximum; }
   
   return(0);
}

//+------------------------------------------------------------------+
//| Event and redraw fuction                                         |
//+------------------------------------------------------------------+

void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam){
   
   if(id == CHARTEVENT_CHART_CHANGE && subWindowHeightPixels > 0 && ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS, ChartWindowFind()) != subWindowHeightPixels){
      
      ChartSetInteger(0, CHART_HEIGHT_IN_PIXELS, ChartWindowFind(), subWindowHeightPixels);
   }
}
