(‘mt5’, ‘MQL5’)MQL5専用ポジション管理
HistorySelect約定履歴を読む期間を指定する(MQL5)
過去の約定履歴のうち、これから読みたい期間をあらかじめ指定する。HistoryDealGetDouble等はこの関数で選んだ期間の中からしか読めない。
1書式
bool HistorySelect( datetime from, datetime to );
MQL4に直接の対応関数は無い(MQL4は決済済み注文もOrderSelect(i, SELECT_BY_POS, MODE_HISTORY)でそのまま読めるため、期間の絞り込み自体が不要)。
2引数
| 引数 | 内容 |
|---|---|
| from | 読みたい期間の開始 |
| to | 読みたい期間の終了 |
3戻り値
成功でtrue。
4使用例
HistorySelect(TimeCurrent() - 86400 * 7, TimeCurrent()); // 直近1週間を対象にする
for(int i = 0; i < HistoryDealsTotal(); i++)
{
ulong ticket = HistoryDealGetTicket(i);
Print(ticket);
}
MetaEditorでコンパイル0エラー・0警告を確認済み。
6よくある罠
⚠ 実務で踏んだもの
- この関数を呼ぶ前に
HistoryDealGetXxxやHistoryDealsTotalを呼んでも、前回選んだ期間(または未選択で0件)のままになる。履歴を読む処理の先頭で必ず呼ぶ。