Indicator Refresh Broken

 
I've got some code that only refeshes when I compile in the MetaEditor. 
#property strict
#property indicator_separate_window
#property indicator_buffers 1
//---- plot TickVolume
#property indicator_label1  "Percent of Control"
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  White
#property indicator_style1  STYLE_SOLID
#property indicator_width1  3
//--- input parameters
input int      bars=3000;
//--- indicator buffers
double         TickVolumeBuffer[];
int  rates_total, prev_calculated;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,TickVolumeBuffer,INDICATOR_DATA);
   IndicatorSetInteger(INDICATOR_DIGITS,9);
//---
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//---
   if(prev_calculated==0)
     {
      
      
      long timeseries[];
      ArraySetAsSeries(timeseries,true);
      int copied=CopyTickVolume(Symbol(),0,0,bars,timeseries);
      for(int i=rates_total-copied-1;i>copied-1;i--) 
         TickVolumeBuffer[i]=0.0;
      for(int i=0;i<copied;i++) 
      {
         TickVolumeBuffer[i]=((Close[i]-Open[i])*100)/(High[i]-Low[i]);
         Print((string)timeseries[i]);
      }
      Print("We have received the following number of TickVolume values: "+(string)copied);
     }
   else
     {
      long timeseries[];
      int copied=CopyTickVolume(Symbol(),0,0,1,timeseries);
      TickVolumeBuffer[0]=(double)timeseries[0];
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
 
8123004:
I've got some code that only refeshes when I compile in the MetaEditor. 

What sort of code is that?

You seem to have mixed up start() from the old MQL4 and OnCalculate() from MQL5 and newer MQL4 using

prev_calculated

.and 

rates_total

Does it even compile?

Reason: