switch (string) ???

 
double stop(string mode)
   {
   double stop;
   switch(mode)
      {
      case "buy":
         stop=price("buy")-stopLoss*Point;
         break;
      case "sell":
         stop=price("sell")+stopLoss*Point;
         break;
      case "modifyBuy":
         stop=Bid-stopLoss*Point;
         break;
      case "modifySell":
         stop=Ask+stopLoss*Point;
         break;
      default:
         Print("Stop: invalid argument.");
	 return(-1);
         break;
      }
   return(stop);
   }

Ругается: 'switch' - different types in switch statement..."
Почему, а?
 
switch не работает со строками
 
https://docs.mql4.com/ru/basis/operators/switch
<Сравнивает значение выражения с константами во всех вариантах case и передает управление оператору, который соответствует значению выражения. Каждый вариант case может быть помечен целой константой, символьной константой или константным выражением. Константное выражение не может включать переменные или вызовы функций.>
 

Читал, но при наличии отсутствия специального образования, надеялся, что строки попадают под классификацию "символьные константы" или "выражения" :о)

 
Сделаем более чёткое описание
Причина обращения: