GlobalVariableSetOnCondition 関数
この関数は、指定した現在のクライアントターミナルのグローバル変数の値と3番目の引数が等しい場合、そのグローバル変数に新しい値を設定して trueを取得します。グローバル変数が無い場合は、エラー「ERR_GLOBALVARIABLE_NOT_FOUND (4501)」となり falseを取得します。
(プログラム内で宣言するグローバル変数との違いはこちらを参考にしてください)
この関数は、クライアントターミナルのグローバル変数へ、他の MQL4プログラムに割り込ませないようにするためなどに使われます。
データ型と構成・戻り値
bool GlobalVariableSetOnCondition(①, ②, ③);
戻り値は、処理が成功した場合は true、それ以外は falseが返されます。グローバル変数の現在値が引数③と異なる場合も falseとなります。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [3]
GlobalVariableSetOnCondition関数は 3個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | name | string | - | - | クライアントターミナルのグローバル変数名。 |
② | value | double | - | - | 設定する新しい数値。 |
③ | check_value | double | - | - | グローバル変数の現在値を確認する値。 |
使用例
GlobalVariableSetOnCondition関数によるグローバル変数の条件付き設定
GlobalVariableSetOnCondition関数を使って条件付きでクライアントターミナルのグローバル変数を変更します。
グローバル変数「gvar1」の値が「123.456」の時、値を「100」に変更します。
現在設定しているグローバル変数のリストは次のとおりです。
設定方法は、こちらを参考にしてください。(クライアントターミナルのグローバル変数は、GlobalVariableSet関数からでも設定ができます)
コード
// GlobalVariableSetOnCondition関数によるグローバル変数の条件付き設定
#property strict
void OnInit() {
bool tf = GlobalVariableSetOnCondition("gvar1", 100, 123.456);
Print("グローバル変数の設定の成否:", tf);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)