
MT4 MT4 実行時エラー
4058
- 定数名
ERR_GLOBAL_VARIABLE_NOT_FOUND- メッセージ
global variable not found- 意味
- ターミナルのグローバル変数が見つからない
MT4エラー4058とは
GlobalVariableGet() で、まだ作られていない(または削除された)ターミナルのグローバル変数を読もうとしたときのエラーです。
ログの表示例
GlobalVariableGet error 4058
「エキスパート」タブまたは「操作履歴」タブに表示されます。数値や表記の細部は、ビルド・ブローカー・EAの作りによって異なります。
MT4エラー4058の主な原因
- GlobalVariableSet() で作る前に GlobalVariableGet() している
- 4週間アクセスがなくて自動削除された
- 変数名のつづりが違う(大文字・小文字も区別される)
- バックテストでは、テスト中に作った変数はテスト終了時に消える
MT4エラー4058の対処法
- 読み込む前に GlobalVariableCheck() で存在を確認する
- 存在しなければ初期値で GlobalVariableSet() してから使う
- 変数名は定数にまとめて、つづり違いを防ぐ
コード例(MQL4)
// ターミナルのグローバル変数を安全に読む(エラー4058 対策)(MQL4)
double ReadGlobal(string name, double defaultValue)
{
if(!GlobalVariableCheck(name))
GlobalVariableSet(name, defaultValue); // なければ初期値で作る
return GlobalVariableGet(name);
}MetaEditor(MT4)でコンパイルできることを確認済みです。自分のEAに組み込むときは、変数名や設定値を合わせてください。












