【MQL5】GlobalVariableGet関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

GlobalVariableGet関数の役割・働きについて

GlobalVariableGet関数はクライアント端末(=ユーザ個人のパソコン)に保存されているGlobal変数の値を取得するために使用されます。

つまり、Global変数からデータを「読み込む」際に活用されます

GlobalVariableGet関数は2つの書式をもつオーバーロード関数です。

オーバーロード関数については↓の記事をご参照ください

GlobalVariableGet関数第1書式の引数と戻り値について

GlobalVariableGet関数第1書式の引数戻り値は以下のようになっています。

double  GlobalVariableGet(
  string  name      // グローバル変数名
  );

第1書式では、引数としてGlobal変数の名前を文字列として指定します。戻り値としてGlobal変数に格納されている値を取得するパターンです。戻り値データ型double型です。

GlobalVariableGet関数第2書式の引数と戻り値について

GlobalVariableGet関数第2書式の引数戻り値は以下のようになっています。

bool  GlobalVariableGet(
  string  name,              // グローバル変数名
  double& double_var        // グローバル変数の値を含む変数
  );

第2書式では、第1引数Global変数の名前を文字列として指定します。そして第2引数Global変数に格納されている値を参照渡しで受け取る変数を指定します。

戻り値は成功時にtrue、失敗時にfalseを返すbool型です。

参照渡しについては↓の記事をご参照ください

GlobalVariableGet関数を使う際の注意点

  • 変数名の長さ: Global変数の名前は63文字を超えることはできません。
  • 持続性: Global変数は最後に使用された後、4週間クライアント端末に保存された後に自動的に削除されます。

エラーの詳細情報が必要な場合は、GetLastError関数を呼び出すことができます。

GetLastError関数については↓の記事をご参照ください

※注意:Global変数MQL5 EA講座 第27回「グローバル変数について」で取り上げたグローバル変数とは別物になります。

当サイトではMT5をシャットダウン後も、一定期間値の記憶を保つことができる変数をアルファベット表記のGlobal変数関数の外(=グローバル領域)に作られた(=宣言された)変数のことをカタカナ表記のグローバル変数として区別したいと思います。

MT5操作によるGlobal変数の確認方法

Global変数の存在を確認する方法は、GlobalVariableGet関数を使ったスクリプトでも可能ですが、MT5の操作でも確認可能です。操作手順は以下の通りです。

  1. MT5を開く
  2. メニューバーから「ツール」を選択
  3. 「グローバル変数」メニューをクリック

これで「グローバル変数」ウィンドウが開き、現在クライアント端末に保存されている全てのGlobal変数のリストが表示されます。ここで、変数名、値、最終更新時間などを確認することができます。

GlobalVariableGet関数を使ったサンプルコード

値を直接返すバージョンの使用例(第1書式)↓

double value = GlobalVariableGet("MyGlobalVariable");
if(value == 0 && GetLastError() != 0) {
  // エラー処理
  Print("Global変数の取得に失敗しました。エラーコード: ", GetLastError());
} else {
  // 値の使用
  Print("取得したGlobal変数の値: ", value);
}

参照を通じて値を取得するバージョンの使用例(第2書式)

double value;
if(GlobalVariableGet("MyGlobalVariable", value)) {
  // 値の使用
  Print("取得したGlobal変数の値: ", value);
} else {
  // エラー処理
  Print("Global変数の取得に失敗しました。エラーコード: ", GetLastError());
}

上記のサンプルコードはGlobalVariableGet関数を用いてMT5クライアント端末のGlobal変数から値を取得する方法を示しています。

適切に使用することで、エキスパートアドバイザーやインジケーター間でのデータ共有を効率的に行うことができます。

<参照>

Global変数/GlobalVariableCheck関数/GlobalVariableSet関数/GlobalVariableDel関数

————————————————————————————–

※当サイトでは、プログラミング経験ゼロの方でも、プログラミングの基礎から学べる

<MQL5でEAを作ろう講座>

をメインコンテンツとして展開しています。

【言語基礎編】

【中級実際にEAを作ろう編】

【発展編・MT5用EAを作る工程をカスタマイズしていく】

第0回から、順を追って勉強していけばプログラミングの経験がなくてもMQL5を使って、MT5用のEAが作れるように書いています。最初は難しいと感じるかもしれませんが、繰り返し勉強していく事で自然とスキルが身についていくはずです。興味ある方は是非ご覧ください。

タイトルとURLをコピーしました