Need help to check if stop levels & freeze level codes are valid

 

Hi guys. 

As show below, I have included stop level and freeze level checks into my EA and yet my EA did not pass the test for EA Market upload (shown in screenshots). Can anyone help to point out how should I edit my code and why my current code does not work? Appreciate your help in advance! 


 //calculate stop loss and take profit

         double sl = InpStopLoss == 0 ? 0 :NormalizeDouble(lastTick.bid - ((range.high-range.low) * InpStopLoss * InpLots),_Digits);

         double tp = InpTakeProfit == 0 ? 0 :NormalizeDouble(lastTick.bid + ((range.high-range.low) * InpTakeProfit * InpLots),_Digits);

         

         //calculate lots

         double lots;

         if(!CalculateLots(lastTick.bid-sl,lots)){return;}

         

         int freezelevel =(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_FREEZE_LEVEL);

         int stoplevel =(int)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL);

         int spread = (int)SymbolInfoInteger(_Symbol,SYMBOL_SPREAD);

         

         if(sl>0 && lastTick.bid - sl < (freezelevel + spread)*_Point )return;

         if(sl>0 && lastTick.bid - sl < (stoplevel + spread)*_Point )return;

         if(tp>0 && tp - lastTick.bid < (freezelevel + spread)*_Point )return;

         if(tp>0 && tp - lastTick.bid < (stoplevel + spread)*_Point )return;

            

         //open buy position

         trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,lots,lastTick.ask,sl,tp,"Time range EA");



 
Ho Khet Yen:
         int freezelevel =(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_FREEZE_LEVEL);
int freezelevel =SYMBOL_TRADE_FREEZE_LEVEL;
Reason: