critical error

 
при попытке смены внешней переменной
extern double    Lots=1.0;
 string   TikSymb="";
 int      cntAddStop;
 int     cnt1;
 int     Trad_B=0,Trad_S=0;
 int     OrdTipe;
 bool   Signal_BUY,Signal_SELL;
 
int init()
{TikSymb=Symbol();
 if(cntMarketOrd()==false) cntAddStop=0;
 return(0);
}
int deinit()
{return(0);}
int start()
{return(0);}

bool cntMarketOrd()
{Trad_B=0; Trad_S=0;
   for(cnt1=0; cnt1<OrdersTotal(); cnt1++)
    {OrderSelect(cnt1,SELECT_BY_POS);
     if(TikSymb==OrderSymbol())
      {OrdTipe=OrderType();
       switch (OrdTipe) 
        {case OP_BUY  : Trad_B++; 
                        if(Signal_BUY==true&&OrderOpenTime()>Time[3]) Signal_BUY=false;
                        //if(Signal_BUY==true)if(OrderOpenTime()>Time[3]) Signal_BUY=false;//OK!
                        break;
         case OP_SELL : Trad_S++; 
                        if(Signal_SELL==true&&OrderOpenTime()>Time[3]) Signal_SELL=false;
                        //if(Signal_SELL==true)if(OrderOpenTime()>Time[3]) Signal_SELL=false;//OK!
                        break;
        }
      }
    }
 if((Trad_B+Trad_S)>0) return(true);
 return(false);
}
 
проверим