Optimization error ParameterGetRange

 
//--- input parameters
input int      StopLoss=30;      // Stop Loss
input int      TakeProfit=100;   // Take Profit
input int      ADX_Period=8;     // ADX Period
input int      MA_Period=8;      // Moving Average Period
input int      EA_Magic=12345;   // EA Magic Number
input double   Adx_Min=22.0;     // Minimum ADX Value
input double   Lot=0.1;          // Lots to Trade

int OnInit()
  {
   STP = StopLoss;
   TKP = TakeProfit;
   //lotto=0.5;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   //--- L' Expert Advisor è designato per l'operazione solo nello the Strategy Tester
   if(!MQL5InfoInteger(MQL5_OPTIMIZATION))
      {
         MessageBox("Dev'essere lanciato in modalità ottimizzazione dello Strategy Tester!");
         //--- finisce l'operazione dell' Expert Advisor in anticipo e lo rimuove dal chart
         return(INIT_FAILED);
      }
   
//--- create timer
   EventSetTimer(60);
   
//---
//--- completamento dell'inizializzazione, con successo
   return(INIT_SUCCEEDED);
  }


// code ontick

void OnTesterInit()
  {
   double start=1, passo=1,fine=30;
   bool enable=true;
   ParameterGetRange("StopLoss",enable,fine,start,passo,fine);
  }
//+------------------------------------------------------------------+
//| TesterPass function                                              |
//+------------------------------------------------------------------+
void OnTesterPass()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| TesterDeinit function                                            |
//+------------------------------------------------------------------+
void OnTesterDeinit()
  {
//---
   //--- questo messaggio verrà mostrato dopo che l'ottimizzazzione è completata
   Print(__FUNCTION__," Ottimizzazione completata");
  }

Why my code doesn't work?