
MQL5 MQL5 の取引関数
HistoryDealGetInteger()
- できること
- 約定(ディール)の種類・エントリー/決済・時刻などを取得する
- 対応
- MQL5
HistoryDealGetInteger() とは
MQL5 で、チケット番号を指定して、約定の整数の情報(買い・売りの種類、エントリーか決済か、約定時刻、マジックナンバー、ポジションID など)を取得する関数です。
HistoryDealGetInteger() の書式と引数
引数の組み合わせが違う 2 通りの書き方があります。
long HistoryDealGetInteger(
ulong ticket_number,
ENUM_DEAL_PROPERTY_INTEGER property_id
)
bool HistoryDealGetInteger(
ulong ticket_number,
ENUM_DEAL_PROPERTY_INTEGER property_id,
long &long_var
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
ticket_number | ulong | 必須 | ディールのチケット番号。 |
property_id | ENUM_DEAL_PROPERTY_INTEGER | 必須 | 取得する項目。DEAL_TYPE(DEAL_TYPE_BUY など)、DEAL_ENTRY(DEAL_ENTRY_IN=エントリー、DEAL_ENTRY_OUT=決済)、DEAL_TIME、DEAL_MAGIC、DEAL_POSITION_ID など。 |
long_var | long & | 必須 | 2つ目の書き方で、値を受け取る変数。 |
戻り値
1つ目の書き方は値そのもの(long 型)。2つ目の書き方は成功したら true を返し、値は long_var に入ります。
HistoryDealGetInteger() の使い方(コード例)
if(HistorySelect(TimeCurrent() - 7 * 24 * 60 * 60, TimeCurrent()))
{
for(int i = 0; i < HistoryDealsTotal(); i++)
{
ulong d = HistoryDealGetTicket(i);
if(d == 0) continue;
if(HistoryDealGetInteger(d, DEAL_ENTRY) == DEAL_ENTRY_OUT && HistoryDealGetInteger(d, DEAL_MAGIC) == 12345)
Print("決済 ", TimeToString((datetime)HistoryDealGetInteger(d, DEAL_TIME)));
}
}OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
関連する関数
MQL5 の取引関数の関数一覧
- OrderCheck
- OrderCalcMargin
- OrderCalcProfit
- PositionsTotal
- PositionGetTicket
- PositionGetSymbol
- PositionSelect
- PositionSelectByTicket
- PositionGetDouble
- PositionGetInteger
- PositionGetString
- OrderGetTicket
- OrderGetDouble
- OrderGetInteger
- HistorySelect
- HistoryDealsTotal
- HistoryDealGetTicket
- HistoryDealSelect
- HistoryDealGetDouble
- HistoryDealGetInteger
- HistoryDealGetString












