GlobalVariablesDeleteAll

클라이언트 터미널의 글로벌 변수를 삭제.

int  GlobalVariablesDeleteAll(
   string     prefix_name=NULL,     // 접두사로 시작하는 이름이 포함된 모든 글로벌 변수
   datetime   limit_data=0          // 이 날짜 이전에 변경된 모든 글로벌 변수
   );

매개변수

prefix_name=NULL

[in] 제거할 접두사 글로벌 변수 이름 지정. 접두사 NULL 또는 빈 문자열을 지정하면 데이터 조건을 충족하는 모든 변수가 삭제됩니다.

limit_data=0

[in] 글로벌 변수를 마지막으로 수정한 시점으로 선택할 날짜. 함수는 이 날짜 이전에 변경된 전역 변수를 제거합니다. 매개변수가 0이면 첫 번째 기준(접두사)을 충족하는 모든 변수가 삭제됩니다.

값 반환

삭제된 변수의 수.

주의

두 옵션이 모두 0(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  "스크립트는 클라이언트 터미널의 전역 변수를 삭제합니다."
#property description"제한 날짜: 지정된 날짜 이전의 변수는 삭제됩니다."
#property description"만약 0 이면 Name 접두사 기준과 일치하는 변수가 삭제됩니다."
#property description   "Name 접두사: 변수명 접두사 지정하지 않으면 변수는 제한 날짜 기준에 따라 삭제됩니다."
#property description   "모든 입력 매개변수가 0 이면 모든 전역 변수가 삭제됩니다."
#property description   "두 매개변수가 모두 지정되면 지정된 각 매개변수에 해당하는 전역 변수가 삭제됩니다."
 
//--- 입력 변수
input datetime InpLimitDate=  0;       // 날짜 제한
input string   InpPrefix   =  NULL;    // 이름 접두사
 
//+------------------------------------------------------------------+
//| 스크립트 프로그램 시작 함수                                                |
//+------------------------------------------------------------------+
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
   */
  }