GlobalVariablesDeleteAll

Elimina le variabili globali del terminale cliente.

int  GlobalVariablesDeleteAll(
   string     prefix_name=NULL,     // Tutte le variabili globali con nomi che iniziano con il prefisso
   datetime   limit_data=0          // Tutte le variabili globali che sono state modificate prima di tale data
   );

Parametri

prefix_name=NULL

[in] Nome prefisso delle variabili globali da rimuovere. Se si specifica un prefisso NULL o una stringa vuota, allora tutte le variabili che soddisfano il criterio dati, verranno eliminate.

limit_data=0

[in] Data per selezionare le variabili globali al momento della loro ultima modifica. La funzione rimuove le variabili globali, che sono state cambiati prima di questa data. Se il parametro è zero, allora tutte le variabili che soddisfano il primo criterio (prefisso) vengono soppresse.

Valore restituito

Il numero delle variabili eliminate.

Nota

Se entrambe le opzioni sono uguali a zero (prefix_name = NULL e limit_data = 0), allora la funzione elimina tutte le variabili globali del terminale. Se entrambi i parametri vengono specificati, allora elimina le variabili globali corrispondenti ad entrambi i parametri.

Le variabili globali presenti nel terminale client per 4 settimane dopo il loro ultimo uso, poi vengono cancellate automaticamente.

 

Esempio:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
 
#property script_show_inputs
 
#property description   "Lo script elimina le variabili globali del terminale client."
#property description   "Data limite: le variabili precedenti alla data specificata vengono eliminate."
#property description   "Se è zero, le variabili che corrispondono al criterio del prefisso Name vengono eliminate."
#property description   "Prefisso Name: prefisso del nome della variabile. Se non specificate, le variabili vengono eliminate in base al criterio della data limite."
#property description   "Se tutti i parametri di input sono zero, tutte le variabili globali vengono eliminate."
#property description   "Se vengono specificati entrambi i parametri, le variabili globali corrispondenti a ciascuno dei parametri specificati vengono eliminate."
 
//--- variabili di input
input datetime InpLimitDate=  0;       // Data limite
input string   InpPrefix   =  NULL;    // Prefisso del nome
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- ottenere il numero totale di variabili globali del terminale client,
//--- eliminare le variabili in base ai criteri di eliminazione selezionati nelle impostazioni dello script e
//--- stampare il risultato dell'eliminazione nel registro
   int total=GlobalVariablesTotal();
   int deleted=GlobalVariablesDeleteAll(InpPrefixInpLimitDate);
   PrintFormat("Of %d global variables, %d have been removed. %d remain"totaldeletedtotal-deleted);
   /*
   risultato:
   Of 21 global variables21 have been removed0 remain
   */
  }