Не работает конструкция, может кто подскажет причину.

 
extern bool    RESET = false;             // если true - сброс настроек предыдущего сеанса 
int init(){
//----
//+-------
   // счетчик пусков
   string GV_Cnt_Start = Symbol() + "_" + "Cnt_Start";
   
   if(!GlobalVariableCheck(GV_Cnt_Start) || RESET) {
      GlobalVariableSet(GV_Cnt_Start,0);
      if(!RESET) Print(GV_Cnt_Start +" - переменной не существует");
   }
   else {
      double _Cnt_Start = GlobalVariableGet(GV_Cnt_Start);
      if(_Cnt_Start > 0){
         Alert("Внимание! Советник запущен с параметрами предыдущего сеанса!");
         Alert("Если хотите задать новые параметры");
         Alert("Введите новые параметры + параметр RESET = true;");
      }
      GlobalVariableSet(GV_Cnt_Start,_Cnt_Start+1);
      Print("GV_Cnt_Start = "+GlobalVariableGet(GV_Cnt_Start));         
   }
//--------
   return(0);
}
по идее при каждом новом входе должна увеличивать счетчик на GV-переменной, однако не работает, не пойму почему
 
valenok2003:
по идее при каждом новом входе должна увеличивать счетчик на GV-переменной, однако не работает, не пойму почему


Малость поправил. Исправления не существенные вроде бы. Но все работает. Сделал в виде скрипта

#property show_inputs

extern bool    RESET = false;             // если true - сброс настроек предыдущего сеанса 

int init(){
//----
//+-------
   // счетчик пусков
   string GV_Cnt_Start = Symbol() + "_" + "Cnt_Start";
   double _Cnt_Start=0;


   if(!GlobalVariableCheck(GV_Cnt_Start) || RESET) {
      GlobalVariableSet(GV_Cnt_Start,0);
      if(!RESET) Print(GV_Cnt_Start +" - переменной не существует");
   }
   else {
      _Cnt_Start = GlobalVariableGet(GV_Cnt_Start)+1;
      if(_Cnt_Start > 0){
         Alert("Внимание! Советник запущен с параметрами предыдущего сеанса!");
         Alert("Если хотите задать новые параметры");
         Alert("Введите новые параметры + параметр RESET = true;");
      }
      GlobalVariableSet(GV_Cnt_Start,_Cnt_Start);
      Print("GV_Cnt_Start = "+GlobalVariableGet(GV_Cnt_Start));         
   }
//--------
   return(0);
}
 

Виктор, спасибо. Жара, однако, действует. Сам в deinite() все GV удаляю, а потом жду, что счетчик работать будет. Простите за беспокойство.

Причина обращения: