GlobalVariableSet関数の役割・働き
GlobalVariableSet関数は、MT5のクライアント端末(=ユーザ個人のパソコン)で利用可能なGlobal変数に新しい値を設定する役割を果たします。
指定しているGlobal変数がまだ存在していない場合、GlobalVariableSet関数は新しいGlobal変数を作成します。
GlobalVariableSet関数の引数と戻り値は以下のようになっています。
datetime GlobalVariableSet(
string name, // グローバル変数名
double
GlobalVariableSet関数の引数について
GlobalVariableSet関数を使用する際には、以下の2つの引数を提供する必要があります。
GlobalVariableSet関数の戻り値について
GlobalVariableSet関数の戻り値は、操作が成功した場合は変数の最終更新時刻(datetime型)です。操作が失敗した場合、GlobalVariableSet関数は0を返します。エラーの詳細情報が必要な場合は、GetLastError関数を呼び出すことができます。
※GetLastError関数については↓の記事をご参照ください
GlobalVariableSet関数を使う際の注意点
※注意:Global変数はMQL5 EA講座 第27回「グローバル変数について」で取り上げたグローバル変数とは別物になります。
当サイトではMT5をシャットダウン後も、一定期間値の記憶を保つことができる変数をアルファベット表記のGlobal変数、関数の外(=グローバル領域)に作られた(=宣言された)変数のことをカタカナ表記のグローバル変数として区別したいと思います。
MT5操作によるGlobal変数の確認方法
Global変数の存在を確認する方法は、GlobalVariableGet関数を使ったスクリプトでも可能ですが、MT5の操作でも確認可能です。操作手順は以下の通りです。
- MT5を開く
- メニューバーから「ツール」を選択
- 「グローバル変数」メニューをクリック
これで「グローバル変数」ウィンドウが開き、現在クライアント端末に保存されている全てのGlobal変数のリストが表示されます。ここで、変数名、値、最終更新時間などを確認することができます。
GlobalVariableSet関数を使ったサンプルコード
下記のサンプルコードは、GlobalVariableSet関数を使って指定した名前のGlobal変数に値を設定し、結果を確認するプロセスを示しています。成功すれば更新時刻を、失敗すればエラーコードを出力します。
// Global変数に値を設定するサンプルコード
void OnStart() {
// 変数名と値を設定
string varName = "MyGlobalVariable";
double varValue = 123.45;
// Global変数を設定
datetime setTime = GlobalVariableSet(varName, varValue);
// 戻り値を確認
if(setTime != 0) {
// 成功した場合、最終更新時刻を表示
Print("Global変数 '", varName, "' が更新されました。 最終更新時刻: ", setTime);
} else {
// 失敗した場合、エラーを表示
Print("Global変数の設定に失敗しました。エラーコード: ", GetLastError());
}
}
<参照>
Global変数/GlobalVariableCheck関数/GlobalVariableGet関数/GlobalVariableDel関数
————————————————————————————–
※当サイトでは、プログラミング経験ゼロの方でも、プログラミングの基礎から学べる
をメインコンテンツとして展開しています。
第0回から、順を追って勉強していけばプログラミングの経験がなくてもMQL5を使って、MT5用のEAが作れるように書いています。最初は難しいと感じるかもしれませんが、繰り返し勉強していく事で自然とスキルが身についていくはずです。興味ある方は是非ご覧ください。