GlobalVariablesFlush

強制的にディスクに全てのグローバル変数の内容を保存します。

void  GlobalVariablesFlush();

戻り値

なし

注意事項

端末は、作業が終わった時に全てのグローバル変数を書き込みますが、突然のコンピュータ操作の失敗でデータが失われる可能性があります。この関数は、有事の場合に独立してグローバル変数を保存するプロセスを制御することが出来ます。

 

例:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link     "https://www.mql5.com"
#property version   "1.00"
 
#define   GV_NAME   "TestGlobalVariableFlush"
#define   GV_VALUE   1.23456
 
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                              |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- クライアント端末のグローバル変数を作成する
  if(!GlobalVariableSet(GV_NAME, GV_VALUE))
    {
    Print("GlobalVariableSet() failed. Error ", GetLastError());
    return;
    }
  //--- 作成したクライアント端末グローバル変数を使ってプログラム内で処理を行う
  //--- ...
  //--- プログラムの必要なタイミングで、独立したロジックの処理に応じて
  //--- 緊急時にグローバル変数を保存するため
  //--- すべてのグローバル変数の内容を強制的にディスクに書き込む
  GlobalVariablesFlush();
 }