GlobalVariableName

グローバル変数の名称を序数で返します。

string  GlobalVariableName(
  int  index      // グローバル変数のリスト内の序数
  );

パラメータ

index

[in]  グローバル変数のリスト内の序数0 以上で GlobalVariablesTotal() 未満

戻り値

グローバル変数のリスト内の序数としてのグローバル変数の名称。エラーの詳細については GetLastError() を呼びます。

注意事項

グローバル変数は、最終アクセス後 4 週間クライアント端末に保存されてから自動的に削除されます。

 

例:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link     "https://www.mql5.com"
#property version   "1.00"
 
#define   GV_NAME   "TestGlobalVariableSet"
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                              |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- まずグローバル変数を作成する
  for(int i=0; i<21; i++)
    GlobalVariableSet(GV_NAME+string(i),i);
//--- クライアント端末グローバル変数の数を取得し、ループで名前を表示する
  int total=GlobalVariablesTotal();
  for(int i=total-1; i>=0; i--)
    {
    string name=GlobalVariableName(i);
    if(GetLastError()!=0)
       {
        PrintFormat("Error %d occurred while getting global variable name at index %d", GetLastError(), i);
        ResetLastError();
        continue;
       }
    PrintFormat("GlobalVariableName(%02d) = \"%s\"", i, name);
    }
//--- クリーンアップ
  GlobalVariablesDeleteAll(GV_NAME);
  /*
   結果:
  GlobalVariableName(20) = "TestGlobalVariableSet9"
  GlobalVariableName(19) = "TestGlobalVariableSet8"
  GlobalVariableName(18) = "TestGlobalVariableSet7"
  GlobalVariableName(17) = "TestGlobalVariableSet6"
  GlobalVariableName(16) = "TestGlobalVariableSet5"
  GlobalVariableName(15) = "TestGlobalVariableSet4"
  GlobalVariableName(14) = "TestGlobalVariableSet3"
  GlobalVariableName(13) = "TestGlobalVariableSet20"
  GlobalVariableName(12) = "TestGlobalVariableSet2"
  GlobalVariableName(11) = "TestGlobalVariableSet19"
  GlobalVariableName(10) = "TestGlobalVariableSet18"
  GlobalVariableName(09) = "TestGlobalVariableSet17"
  GlobalVariableName(08) = "TestGlobalVariableSet16"
  GlobalVariableName(07) = "TestGlobalVariableSet15"
  GlobalVariableName(06) = "TestGlobalVariableSet14"
  GlobalVariableName(05) = "TestGlobalVariableSet13"
  GlobalVariableName(04) = "TestGlobalVariableSet12"
  GlobalVariableName(03) = "TestGlobalVariableSet11"
  GlobalVariableName(02) = "TestGlobalVariableSet10"
  GlobalVariableName(01) = "TestGlobalVariableSet1"
  GlobalVariableName(00) = "TestGlobalVariableSet0"
  */
 }