GlobalVariablesDeleteAll

Удаляет глобальные переменные клиентского терминала.

int  GlobalVariablesDeleteAll(
   string     prefix_name=NULL,     // все глобальные переменные, чьи имена начинаются с префикса
   datetime   limit_data=0          // все глобальные переменные, которые изменялись ранее ранее указанной даты
   );

Параметры

prefix_name=NULL

[in]  Префикс имени удаляемых глобальных переменных. Если указан префикс NULL либо пустая строка, то под критерий удаления соответствуют все глобальные переменные, соответствующие критерию удаления по дате

limit_data=0

[in]  Дата для отбора глобальных переменных по времени последней модификации. Удаляются глобальные переменные, которые изменялись ранее указанной даты. Если параметр равен нулю, то удаляются все глобальные переменные, соответствующие первому критерию (по префиксу).

Возвращаемое значение

Количество удаленных переменных.

Примечание

Если оба параметра равны нулю (prefix_name=NULL и limit_data=0), то удаляются все глобальные переменные терминала. Если указаны оба параметра, то удаляются глобальные переменные, соответствующие одновременно каждому из указанных параметров.

Глобальные переменные существуют в клиентском терминале 4 недели с момента последнего обращения, после этого автоматически уничтожаются.

Пример:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
 
#property script_show_inputs
 
#property description   "The script deletes global variables of the client terminal."
#property description   "Limit date: Variables before the specified date are deleted."
#property description   "If is zero, then variables that match the Name prefix criterion are deleted."
#property description   "Name prefix: Prefix of the variable name. If not specified, then variables are deleted based on the Limit date criterion."
#property description   "If all input parameters are zero, then all global variables are deleted."
#property description   "If both parameters are specified, then global variables corresponding to each of the specified parameters are deleted."
 
//--- input variables
input datetime InpLimitDate=  0;       // Limit date
input string   InpPrefix   =  NULL;    // Name prefix
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- получаем общее количество глобальных переменных клиентского терминала,
//--- удаляем переменные в соответствии с выбранными в настройках скрипта критериями удаления и
//--- результат удаления распечатываем в журнале
   int total=GlobalVariablesTotal();
   int deleted=GlobalVariablesDeleteAll(InpPrefixInpLimitDate);
   PrintFormat("Of %d global variables, %d have been removed. %d remain"totaldeletedtotal-deleted);
   /*
   результат:
   Of 21 global variables21 have been removed0 remain
   */
  }