indicator can't attach,. "help me please"

 
someone who is here anyone can help me, why this indicator can not be attached, I was browsing on google and have a lot of files that I downloaded, but all error,. I know this indicator is an indicator of the line but I can not fix it, . maybe anyone can help me then I would be very grateful,. and also I ask how can there are options such as thick and thin lines in use,.
//+------------------------------------------------------------------+
//|                                                   Line_Slope.mq4 |
//|                                         Shimodax, Shurka & Kevin |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Shimodax, based on Line-Channel from Shurka & Kevin"
#property  link     "http://www.strategybuilderfx.com"

#property indicator_chart_window
#property indicator_buffers 4

#property indicator_color1 Gold
#property indicator_color2 DarkGoldenrod
#property indicator_color3 Gold
#property indicator_color4 Red

double UpperLimitBuf[];
double MedLimitBuf[];
double LowerLimitBuf[];
double PriceAlertBuf[];


//---- input parameters
extern bool AlertSlopeChange= false;  // signal changes in slope 
extern bool AlertChannelBreak= false;  // signal changes in slope 
extern int SHIBars= 240;          // bars to use to find a channel
extern int BarsForFract= 0;

#include "fxoe-lib.mql"

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   //---- indicators

   SetIndexStyle(0, DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(0, UpperLimitBuf);
   SetIndexEmptyValue(0, 0.0);
   SetIndexLabel(0, "SHI Channel Upper");      
   
   SetIndexStyle(1, DRAW_LINE,STYLE_DOT);
   SetIndexBuffer(1, MedLimitBuf);
   SetIndexEmptyValue(1, 0.0);
   SetIndexLabel(1, "SHI Channel Median");      
   
   SetIndexStyle(2, DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(2, LowerLimitBuf);
   SetIndexEmptyValue(2, 0.0);
   SetIndexLabel(2, "SHI Channel Lower");      
   
   SetIndexStyle(3,DRAW_ARROW);
   SetIndexArrow(3,164);
   SetIndexBuffer(3,PriceAlertBuf);
   SetIndexEmptyValue(3,0.0);
   
   IndicatorShortName("Line Channel("+SHIBars+" bars)");
        
   return(0);
}


//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{

   return(0);
}



//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   static double lastslope= 0.0;
   static int didbreakalert= false;

   double rcslope, dummy1[100], dummy2[100];
   int counted_bars= IndicatorCounted(),
       rc;

   ArrayInitialize(UpperLimitBuf, 0.0);
   ArrayInitialize(MedLimitBuf, 0.0);
   ArrayInitialize(LowerLimitBuf, 0.0);
   ArrayInitialize(PriceAlertBuf, 0.0);
   
 
   rc= SHIChannels(0, SHIBars, dummy1, dummy2, UpperLimitBuf, MedLimitBuf, LowerLimitBuf, PriceAlertBuf, rcslope, BarsForFract, false);

   Comment(" SHI-Channel(", SHIBars, " bars): Channel Size= ", DoubleToStr(MathAbs(UpperLimitBuf[1] - LowerLimitBuf[1])/Point,0), ", Slope = ", DoubleToStr(rcslope, 2));
 
   if (AlertSlopeChange && rcslope!=lastslope) {
         Alert("FXOE-SHIChannel changed on ", Symbol(),"/",Period());
      lastslope= rcslope;
   }

   if (AlertChannelBreak && PriceAlertBuf[0]!=0) {
      if (!didbreakalert) {
         Alert("FXOE-SHIChannel signals break on ", Symbol(),"/",Period());
         didbreakalert= true;
      }
   }
   else {
      didbreakalert= false;
   }  
   
   return (0);  
}
   
 
Unzip the attached folder then place files within the Indicators_Folder.
Files:
line_slope.zip  15 kb
Reason: