Как сохранить значения переменных при перезагрузке терминала

 

Здравствуйте! Друзья, помогите советом: ситуация в том, что при перезагрузке сервера обнуляются две переменные, которым присволись значения в процессе работы советника из-за этого при повторном запуске терминала советник, если есть открытые ордера, работает не по алгоритму... Как при перезагрузке сервера сохранить значения переменных, если есть открытые ранее (до перезагрузки) ордера?

 
http://docs.mql4.com/ru/globals
Глобальные переменные клиентского терминала - Документация на MQL4
  • docs.mql4.com
Глобальные переменные клиентского терминала - Документация на MQL4
 
Aleksandr Glebov:

Здравствуйте! Друзья, помогите советом: ситуация в том, что при перезагрузке сервера обнуляются две переменные, которым присволись значения в процессе работы советника из-за этого при повторном запуске терминала советник, если есть открытые ордера, работает не по алгоритму... Как при перезагрузке сервера сохранить значения переменных, если есть открытые ранее (до перезагрузки) ордера?

Правильно было бы восстанавливать информацию о торговом окружении в момент запуска советника, а не использовать некие переменные.
 
я обычно сохраняю переменные которые могут обнулиться при перезапуске терминала в файл.
 

Вот примерный код такой функции

void SaveParametres()
  {
   int handle=FileOpen("Название советника_"+(string)Magic+"_"+_Symbol+".csv",FILE_CSV|FILE_WRITE);

   if(handle>0)
     {
      FileWrite(handle,tiket);
      FileWrite(handle,flag_series);
      FileWrite(handle,TP);
      FileWrite(handle,SL);

      FileClose(handle);
     }
   else Print("Error saving data № - ",GetLastError(),"Magic = ",Magic," ",_Symbol);

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void LoadParametres()
  {
   Print("*******************************************");
   Print("Start downloading data Magic = ",Magic," ",_Symbol);
   Print("*******************************************");
   int handle=FileOpen("Название советника_"+(string)Magic+"_"+_Symbol+".csv",FILE_CSV|FILE_READ);
   if(handle>0)
     {

      tiket=(int)FileReadNumber(handle);
      flag_series=FileReadNumber(handle);
      TP = FileReadNumber(handle);
      SL = FileReadNumber(handle);


      FileClose(handle);
      Print("*******************************************");
      Print("Loading data completed Magic = ",Magic," ",_Symbol);
      Print("*******************************************");
     }
  }
//+------------------------------------------------------------------+
 
Sergey Gritsay:

Вот примерный код такой функции

Спасибо за пример!! Сохраню, как вариант!! Спасибо.))

 

Vladimir Zubov:
http://docs.mql4.com/ru/globals

Вас не затруднит подельтся примером использования этих функций, я не смог с ними самостоятельно разобраться... 

 
Aleksandr Glebov:

Напиши

GlobalVariableSet

нажми в терминале f3(чтобы понять что это такое)

GlobalVariableSet - Документация на MQL4
  • docs.mql4.com
GlobalVariableSet - Документация на MQL4
 
Vasyl Nosal:

Напиши

GlobalVariableSet

нажми в терминале f3(чтобы понять что это такое)

это же банально...

однако я тоже такое же здесь хотел предложить)

 
new-rena:

это же банально...

однако я тоже такое же здесь хотел предложить)

Есть пример использования GlobalVariableSet() ?
GlobalVariableSet - Документация на MQL4
  • docs.mql4.com
GlobalVariableSet - Документация на MQL4
 
Aleksandr Glebov:
Есть пример использования GlobalVariableSet() ?

конечно есть, незаменимая вещь...

double Value=1.234,ArhivValue;

GlobalVariableSet("Value",Value); //сохраняем

ArhivValue=GlobalVariableGet("Value"); //вспоминаем