HistoryOrdersTotal関数の働き・役割
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/07/bfd450a2f4856123f520386d8b0479d6-1024x585.webp)
HistoryOrdersTotal関数は、取引履歴内の注文の数を返すために使用されます。
この関数を利用することで、過去に行われた注文の総数を取得することが可能です。取引履歴の分析や統計情報を取得する際に役立ちます。
この関数を呼び出す前には、まずHistorySelect関数またはHistorySelectByPosition関数を使用して、指定期間内の約定と注文の履歴を受信する必要があります。これにより、関数が正確な注文の総数を返すことができます。
HistoryOrdersTotal関数の引数について
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/07/018f5d392396a3f9c037dd4fa8cd9b59-1024x585.webp)
int HistoryOrdersTotal();
HistoryOrdersTotal関数は引数を持ちません。単に履歴内の注文の数を返します。
HistoryOrdersTotal関数の戻り値について
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/07/72a4c7a00db9667047cda9db86d3647a-1024x585.webp)
HistoryOrdersTotal関数は、履歴内の注文の数を整数型の値として返します。例えば、過去に行われた全ての注文の総数を知りたい場合に、この関数の戻り値を使用します。
戻り値が0の場合は、指定期間内に注文が存在しないことを意味します。
HistoryOrdersTotal関数を使う際の注意点
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/07/d57dfa6d8e40bbb60a10b69dab04647b-1024x585.webp)
この関数を使用する際に重要なのは、履歴を正しく選択することです。つまり、HistorySelect関数またはHistorySelectByPosition関数を使用して、対象となる取引履歴を選択してからHistoryOrdersTotal関数を呼び出す必要があります。
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される待機注文と混同しないように注意してください。取引履歴には、取り消された注文や、実際にトランザクションが発生した注文も含まれています。これらの履歴は、クライアント端末の「ツールボックス」バーの「履歴」タブで確認することができます。
HistoryOrdersTotal関数を使ったサンプルコード
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/07/b9e992485d3e75912645a7a069afae34-1024x585.webp)
以下は、HistoryOrdersTotal関数を使用して取引履歴内の注文の総数を取得し、その結果をエキスパートログに出力するサンプルコードです。
void OnStart()
{
// 取引履歴をリクエストする
HistorySelect(0, TimeCurrent());
// 履歴内の注文の総数を取得する
int totalOrders = HistoryOrdersTotal();
// 取得した注文の総数をエキスパートログに出力する
Print("履歴内の注文の総数: ", totalOrders);
}
このサンプルコードでは、まずHistorySelect関数を使用して、現在の日時までの全ての取引履歴をリクエストします。その後、HistoryOrdersTotal関数を使用して、取引履歴内の注文の総数を取得し、その結果をエキスパートログに出力します。
サンプルコードに使われた関数や文法要素の簡単な解説
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/07/d78cb89ad664a5a85d0cd3533e7ca032-1024x585.webp)
HistorySelect関数
HistorySelect関数は、指定された期間内の取引履歴を選択します。開始日時と終了日時を指定することで、その期間内の履歴を取得します。この例では、開始日時を0(1970年1月1日)、終了日時を現在の日時に設定しています。
TimeCurrent関数
TimeCurrent関数は、サーバーの現在時刻を取得します。取引履歴の選択や現在の時刻を基準にした処理に使用されます。
Print関数
Print関数は、指定されたメッセージをエキスパートログに出力します。デバッグや情報の確認に役立ちます。
これらの関数を組み合わせることで、取引履歴内の注文の総数を簡単に取得し、ログに出力することができます。