システム変数(_○○)とは
システム変数(_○○)とは、システムが自動的に取り扱う変数のことで、チャートの情報などが格納されます。
そのため、特に宣言しなくても使える変数が、システム変数と呼ばれます。
逆に言えば、システム変数に何かを代入することはできませんので、ご注意ください。
システム変数と似た変数で、チャート変数という変数があります。
こちらの記事が参考になりますので、ご一読ください。
システム変数(_○○)
変数 | 説明 |
_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
まとめ
システム変数は、システムが自動的に取り扱う変数です。
こちらから何か操作することはできません。
しかし、通貨ペアごとに一定の値になる変数なので、定数として扱っても問題ないと思います。
システム変数といっても、他の変数と同じように使えるので、難しく考えず、とりあえず書いてみましょう!