【MQL4変数】システム変数(_○○)

【辞書】MQLリファレンス

システム変数(_○○)とは

システム変数(_○○)とは、システムが自動的に取り扱う変数のことで、チャートの情報などが格納されます。

そのため、特に宣言しなくても使える変数が、システム変数と呼ばれます。

逆に言えば、システム変数に何かを代入することはできませんので、ご注意ください。

システム変数と似た変数で、チャート変数という変数があります。

こちらの記事が参考になりますので、ご一読ください。

システム変数(_○○)

変数説明
_Digits現在のチャートの価格の小数点以下の桁数
_Point現在のチャートの価格の小数点値
_LastError直近のエラーコード
_Period現在のチャートの時間軸
_RandomSeed整数の疑似乱数
_StopFlagプログラム停止フラグ
_Symbol現在のチャートの通貨ペア名
_UninitReasonアンイニシャル理由コード

システム変数(_○○)の使い方

システム変数を使うときは、他の変数と同じように使います。

例えば、以下のようなプログラムです。

void OnInit(){
    Print("価格の小数点以下桁数  = ",_Digits);
    Print("価格の小数点値       = ",DoubleToStr(_Point , _Digits ));
    Print("直近エラーコード      = ",_LastError);
    Print("時間軸              = ",_Period);
    Print("乱数整数            = ",_RandomSeed);
    Print("ストップフラグ       = ",_StopFlag);
    Print("通貨ペア名          = ",_Symbol);
    Print("UnInit理由コード    = ",_UninitReason);   
}

上記のように記述することで、以下のような出力を得ることができます。

価格の小数点以下桁数= 5
価格の小数点値 = 0.00001
直近エラーコード = 0
時間軸 = 5
乱数整数 = 8995064
ストップフラグ = 0
通貨ペア名 = EURAUD
UnInit理由コード = 0

 

 

まとめ

システム変数は、システムが自動的に取り扱う変数です。

こちらから何か操作することはできません。

しかし、通貨ペアごとに一定の値になる変数なので、定数として扱っても問題ないと思います。

システム変数といっても、他の変数と同じように使えるので、難しく考えず、とりあえず書いてみましょう!