定義済み変数

int _AppliedTo

_AppliedTo変数を使用すると、指標計算に使用されるデータの型を見つけることができます。

データ型

意味

指標計算に使用されるデータの説明

0

この指標ではOnCalculate()2番目の呼び出し形式を使用し、計算のためのデータはデータ配列のバッファでは指定されません。

Close

1

終値

Open

2

始値

High

3

高値

Low

4

安値

Median Price (HL/2)

5

Median price = (高値+安値)/2

Typical Price (HLC/3)

6

Typical price = (高値+安値+終値)/3

Weighted Price (HLCC/4)

7

Weighted price = (始値+高値+安値+終値)/4

1つ前の指標データ

8

チャートでこの指標の前に起動された指標のデータ

1番目の指標データ

9

チャートで1番目に起動された指標のデータ

指標ハンドル

10+

指標ハンドルを通してiCustom()関数に渡された指標のデータ_AppliedTo値は指標ハンドルを含みます。

 

例:

//+——————————————————————+
//| カスタム指標初期化関数                         |
//+——————————————————————+
int OnInit()
{
//— 指標バッファマッピング
SetIndexBuffer(0,Label1Buffer,INDICATOR_DATA);
// 指標計算に使用されるデータの取得
Print(“_AppliedTo=”,_AppliedTo);
Print(getIndicatorDataDescription(_AppliedTo));
//—
return(INIT_SUCCEEDED);
}
//+——————————————————————+
//| 指標計算に使用されるデータの説明               |
//+——————————————————————+
string getIndicatorDataDescription(int data_id)
{
string descr=“”;
switch(data_id)
{
case(0):descr=“It’s first type of OnCalculate() – no data buffer”;
break;
case(1):descr=“Indicator calculates on Close price”;
break;
case(2):descr=“Indicator calculates on Open price”;
break;
case(3):descr=“Indicator calculates on High price”;
break;
case(4):descr=“Indicator calculates on Low price”;
break;
case(5):descr=“Indicator calculates on Median Price (HL/2)”;
break;
case(6):descr=“Indicator calculates on Typical Price (HLC/3)”;
break;
case(7):descr=“Indicator calculates on Weighted Price (HLCC/4)”;
break;
case(8):descr=“Indicator calculates Previous Indicator’s data”;
break;
case(9):descr=“Indicator calculates on First Indicator’s data”;
break;
default: descr=“Indicator calculates on data of indicator with handle=”+string(data_id);
break;
}
//—
return descr;
}

参照

ENUM_APPLIED_PRICE

int _Digits

_Digits 変数は、現在のチャートシンボルの価格精度を定義する小数点以下の桁を保存します。

Digits() 関数も使用出来ます。

double _Point

_Point 変数は現在の通貨/シンボルのポイントサイズを含みます。

Point() 関数も使用出来ます。

int _LastError

_LastError 変数は MQL5 プログラム実行中に発生した最終 エラーのコードを含みます。その値は ResetLastError() によってゼロにリセット出来ます。

直近エラーのコード取得には GetLastError() 関数を使用することも出来ます。

int _Period

_Period 関数は現在のチャートの時間軸を含みます。

Period() 関数も使用出来ます。

参照

PeriodSeconds、チャート時間軸、日付と時刻、オブジェクトの可視性

_RandomSeed

擬似乱数整数を作成時に現在の状態を保管する変数です。_RandomSeed は MathRand() の呼び出し時に値を変えます。必要な初期条件を設定するには MathSrand() を使用します。

x MathRand() 関数はそれぞれの呼び出しで乱数整数を次の様に計算します。

x=_RandomSeed*214013+2531011;
_RandomSeed=x;
x=(x>>16)&0x7FFF;

参照

MathRand()、MathSrand()、整数型

bool _StopFlag

_StopFlag 変数は MQL5 フラグ停止のフラグを含みます。クライアント端末は、プログラムを停止しようとしている場合は _StopFlag 変数を true に設定します。

_StopFlag の状態をチェックするには IsStopped() 関数も使用出来ます。

string _Symbol

_Symbol は現在のチャートの銘柄名を含みます。

Symbol() 関数も使用出来ます。

int _UninitReason

_UninitReason 関数はプログラム初期化解除の理由を含みます。

このコードは通常 UninitializeReason() 関数で取得されます。

int _IsX64

_IsX64 変数を使用すると MQL5 アプリケーションが実行されているターミナルのビット版を見つけることができます (32 ビットは_IsX64=0 で 64 ビットは_IsX64!=0)

また、TerminalInfoInteger(TERMINAL_X64) 関数も使用できます。

例:

// プログラムが実行されているターミナルの確認
Print(“_IsX64=”,_IsX64);
if(_IsX64)
Print(“Program “,__FILE__,” is running in the 64-bit terminal”);
else
Print(“Program “,__FILE__,” is running in the 32-bit terminal”);
Print(“TerminalInfoInteger(TERMINAL_X64)=”,TerminalInfoInteger(TERMINAL_X64));

Originally posted 2019-07-29 22:55:33.

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">