【MQL5】HistoryDealsTotal関数について

MQL5リファレンス
スポンサーリンク

HistoryDealsTotal関数の働き・役割

HistoryDealsTotal関数は、取引履歴内の約定数を返すために使用されます。この関数を利用することで、過去に行われた約定の総数を取得することが可能です。取引履歴の分析や統計情報を取得する際に役立ちます。

この関数を呼び出す前には、まずHistorySelect関数またはHistorySelectByPosition関数を使用して、指定期間内の約定と注文の履歴を受信する必要があります。これにより、関数が正確な約定の総数を返すことができます。

HistoryDealsTotal関数の引数について

int HistoryDealsTotal();

HistoryDealsTotal関数引数を持ちません。単に履歴内の約定の数を返します。

HistoryDealsTotal関数の戻り値について

HistoryDealsTotal関数は、履歴内の約定の数を整数型の値として返します。例えば、過去に行われた全ての約定の総数を知りたい場合に、この関数戻り値を使用します。

戻り値が0の場合は、指定期間内に約定が存在しないことを意味します。

HistoryDealsTotal関数を使う際の注意点

この関数を使用する際に重要なのは、履歴を正しく選択することです。つまり、HistorySelect関数またはHistorySelectByPosition関数を使用して、対象となる取引履歴を選択してからHistoryDealsTotal関数を呼び出す必要があります。

注文、約定、およびポジションの違いについて

注文、約定、およびポジションは、それぞれ異なる概念です。以下にその違いを詳しく解説します。

注文

注文は、取引を開始するためのリクエストです。トレーダーが特定の価格で資産を買う、または売る意思を表明するものです。注文が市場に出されると、取引が成立するまで待機します。

約定

約定は、注文が実際に市場で執行されることを指します。例えば、買い注文が売り手と一致した場合、その注文は約定となります。つまり、約定は注文が実際に取引された結果です。

ポジション

ポジションは、1つ以上の約定の結果として保持される資産の総量です。例えば、複数の買い注文が約定された場合、それらの約定が集まって形成されるものがポジションです。ポジションは、トレーダーが市場で保有している全ての資産の状況を示します。

これらの概念を混同しないようにすることが重要です。注文は取引のリクエスト、約定はそのリクエストが市場で実行された結果、ポジションはその実行結果の合計として理解してください。

HistoryDealsTotal関数を使ったサンプルコード

以下は、HistoryDealsTotal関数を使用して取引履歴内の約定の総数を取得し、その結果をエキスパートログに出力するサンプルコードです。

void OnStart()
{
    // 取引履歴をリクエストする
    HistorySelect(0, TimeCurrent());

    // 履歴内の約定の総数を取得する
    int totalDeals = HistoryDealsTotal();

    // 取得した約定の総数をエキスパートログに出力する
    Print("履歴内の約定の総数: ", totalDeals);
}

このサンプルコードでは、まずHistorySelect関数を使用して、現在の日時までの全ての取引履歴をリクエストします。その後、HistoryDealsTotal関数を使用して、取引履歴内の約定の総数を取得し、その結果をエキスパートログに出力します。

サンプルコードに使われた関数や文法要素の簡単な解説

HistorySelect関数

HistorySelect関数は、指定された期間内の取引履歴を選択します。開始日時と終了日時を指定することで、その期間内の履歴を取得します。この例では、開始日時を0(1970年1月1日)から、終了日時を現在の日時に設定しています。

TimeCurrent関数

TimeCurrent関数は、サーバーの現在時刻を取得します。取引履歴の選択や現在の時刻を基準にした処理に使用されます。

Print関数

Print関数は、指定されたメッセージをエキスパートログに出力します。デバッグや情報の確認に役立ちます。

これらの関数HistorySelect関数TimeCurrent関数Print関数)を組み合わせることで、取引履歴内の約定の総数を簡単に取得し、ログに出力することができます。

タイトルとURLをコピーしました