Help me with fixing the syntax error (unexpected end of program / unbalanced parentheses (Meta editor MQL4 EA) Void OnTick()

 
void OnTick()

 {

   int ticket = -1;

   double price;   

   double SL;

   double TP;



 double CheckNews=0;

   if(AfterNewsStop>0)

     {

      if(TimeCurrent()-LastUpd>=Upd){Comment("News Loading...");Print("News Loading...");UpdateNews();LastUpd=TimeCurrent();Comment("");}

      WindowRedraw();

      //---Draw a line on the chart news--------------------------------------------

      if(DrawLines)

        {

         for(int i=0;i<NomNews;i++)

           {

            string Name=StringSubstr(TimeToStr(TimeNewsFunck(i),TIME_MINUTES)+"_"+NewsArr[1][i]+"_"+NewsArr[3][i],0,63);

            if(NewsArr[3][i]!="")if(ObjectFind(Name)==0)continue;

            if(StringFind(str1,NewsArr[1][i])<0)continue;

            if(TimeNewsFunck(i)<TimeCurrent() && Next)continue;



            color clrf = clrNONE;

            if(Vhigh && StringFind(NewsArr[2][i],"High")>=0)clrf=highc;

            if(Vmedium && StringFind(NewsArr[2][i],"Moderate")>=0)clrf=mediumc;

            if(Vlow && StringFind(NewsArr[2][i],"Low")>=0)clrf=lowc;



            if(clrf==clrNONE)continue;



            if(NewsArr[3][i]!="")

              {

               ObjectCreate(Name,0,OBJ_VLINE,TimeNewsFunck(i),0);

               ObjectSet(Name,OBJPROP_COLOR,clrf);

               ObjectSet(Name,OBJPROP_STYLE,Style);

               ObjectSetInteger(0,Name,OBJPROP_BACK,true);

              }

           }

        }

        

      //---------------event Processing------------------------------------

      ;

      CheckNews=0;

      for(i=0;i<NomNews;i++)

        {

         int power=0;

         if(Vhigh && StringFind(NewsArr[2][i],"High")>=0)power=1;

         if(Vmedium && StringFind(NewsArr[2][i],"Moderate")>=0)power=2;

         if(Vlow && StringFind(NewsArr[2][i],"Low")>=0)power=3;

         if(power==0)continue;

         if(TimeCurrent()+MinBefore*60>TimeNewsFunck(i) && TimeCurrent()-MinAfter*60<TimeNewsFunck(i) && StringFind(str1,NewsArr[1][i])>=0)

           {

            CheckNews=1;

            break;

           }

         else CheckNews=0;



        }

      if(CheckNews==1 && i!=Now && Signal) { Alert("In ",(int)(TimeNewsFunck(i)-TimeCurrent())/60," minutes released news ",NewsArr[1][i],"_",NewsArr[3][i]);Now=i;}

/***  ***/



   if(CheckNews>0)

     {

      /////  We are doing here if we are in the framework of the news

      Comment("News time");



     }else{

      // We are out of scope of the news release (No News)

      Comment("No news");

     

   

   )

     {

      RefreshRates();

      price = Ask;

      SL = 3 * myPoint; //Stop Loss = value in points (relative to price)

      TP = 5.45 * myPoint; //Take Profit = value in points (relative to price)

      if(TradesCount(OP_BUY) + TradesCount(OP_SELL) > 0 || TimeCurrent() - LastCloseTime() < NextOpenTradeAfterBars * PeriodSeconds()) return; //next open trade after time after previous trade's close   

      if(IsTradeAllowed())

        {

         ticket = myOrderSend(OP_BUY, price, TradeSize, "");

         if(ticket <= 0) return;

        }

      else //not autotrading => only send alert

         myAlert("order", "");

      myOrderModifyRel(ticket, SL, 0);

      myOrderModifyRel(ticket, 0, TP);

     }

     

  }

//+------------------------------------------------------------------+



 string ReadCBOE()

  {



   string cookie=NULL,headers;

   char post[],result[];     string TXT="";

   int res;

//--- to work with the server, you must add the URL "https://www.google.com/finance"  

//--- the list of allowed URL (Main menu-> Tools-> Settings tab "Advisors"):

   string google_url="http://ec.forexprostools.com/?columns=exc_currency,exc_importance&amp;amp;importance=1,2,3&calType=week&timeZone=15&lang=1";

//---

   ResetLastError();

//--- download html-pages

   int timeout=5000; //--- timeout less than 1,000 (1 sec.) is insufficient at a low speed of the Internet

   res=WebRequest("GET",google_url,cookie,NULL,timeout,post,0,result,headers);

//--- error checking

   if(res==-1)

     {

      Print("WebRequest error, err.code  =",GetLastError());

      MessageBox("You must add the address ' "+google_url+"' in the list of allowed URL tab 'Advisors' "," Error ",MB_ICONINFORMATION);

      //--- You must add the address ' "+ google url"' in the list of allowed URL tab 'Advisors' "," Error "

     }

   else

     {

      //--- successful download

      //PrintFormat("File successfully downloaded, the file size in bytes  =%d.",ArraySize(result));

      //--- save the data in the file

      int filehandle=FileOpen("news-log.html",FILE_WRITE|FILE_BIN);

      //--- проверка ошибки

      if(filehandle!=INVALID_HANDLE)

        {

         //---save the contents of the array result [] in file

         FileWriteArray(filehandle,result,0,ArraySize(result));

         //--- close file

         FileClose(filehandle);



         int filehandle2=FileOpen("news-log.html",FILE_READ|FILE_BIN);

         TXT=FileReadString(filehandle2,ArraySize(result));

         FileClose(filehandle2);

        }else{

         Print("Error in FileOpen. Error code =",GetLastError());

        }

     }



   return(TXT);

    }
 
Hossein Rahimi:
Do as it says and check all you bracket pairs match

Which will be easier if you didn’t put multiple lines of code on a single line 
 
And check "highlight matching brackets" inside settings.
And then go into Editor Color scheme and pick a high contrast background color for marked Text.
 
      Comment("No news");

     

   

   ) <<<<<<<<<<<<<<<<<<<<< where is the opening parenthese?

     { <<<<<<<<<<<<<<<<<<< why is this open bracket here?

      RefreshRates();