【MQL5】ENUM_TRADE_TRANSACTION_TYPEについて

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

ENUM_TRADE_TRANSACTION_TYPEとは

ENUM_TRADE_TRANSACTION_TYPEは、MQL5における取引トランザクションの種類を示す列挙型です。取引トランザクションは、取引口座に対して実行されるアクションであり、これらのアクションにより口座の状態が変更されます。
例えば、取引リクエストの送信や待機注文の執行などが含まれます。取引トランザクションの種類は、取引口座の管理や取引の詳細を追跡する際に重要な情報を提供します。

TRADE_TRANSACTION_ORDER_ADD

新規の待機注文を追加します。このトランザクションは、クライアント端末や取引サーバからの取引リクエストによって発生します。新しい注文が口座に記録され、注文リストに追加されます

TRADE_TRANSACTION_ORDER_UPDATE

待機注文を更新します。更新は、クライアント端末や取引サーバからの変更要求により発生します。例えば、注文の状態が「設定中」から「配置済み」へ、または「部分約定」へと変化する場合があります。

TRADE_TRANSACTION_ORDER_DELETE

注文を待機注文リストから削除します。これは、注文が実行され履歴に移動された場合や、適切なリクエストによって取り消された場合に発生します。

TRADE_TRANSACTION_DEAL_ADD

約定を履歴に追加します。これは、注文の実行や口座残高の操作の結果として発生します。新しい約定が取引履歴に記録され、注文が履歴に追加されます。この識別子は、取引が正常に行われたことを示し、取引履歴を正確に追跡するために使用されます。

TRADE_TRANSACTION_DEAL_UPDATE

約定を履歴で更新します。以前に実行された約定がサーバで更新される場合に発生します。

例えば、約定がブローカによって転送された外部の取引システム(exchange)で更新される場合です。外部の取引システム(exchange)とは、金融商品(株式、債券、商品、通貨など)の売買が行われるプラットフォームであり、伝統的な証券取引所や電子取引所などが含まれます。
このトランザクションは、取引履歴に記録された情報が変更されたことを示し、取引の正確性を維持するために重要です。

TRADE_TRANSACTION_DEAL_DELETE

約定履歴の削除を行います。これは、以前に実行された約定がサーバから削除される場合に発生します。例えば、約定がブローカによって転送された外部の取引システム(exchange)で削除される場合です。

このトランザクションは、取引履歴に記録された情報が削除されたことを示し、履歴管理の正確性を維持するために重要です。

TRADE_TRANSACTION_HISTORY_ADD

実行またはキャンセルの結果として注文を履歴に追加します。これは、注文が取引口座に対して実行されたり、取消されたりした場合に発生します。

このトランザクションは、注文の履歴管理において重要な役割を果たし、取引の経緯を正確に記録するために使用されます。

TRADE_TRANSACTION_HISTORY_UPDATE

注文履歴内の注文を変更します。これは、取引サーバ側で既存の注文履歴が更新される場合に発生します。例えば、注文の詳細が変更されたり、注文の状態が変更されたりする場合です。

このトランザクションは、履歴に記録された注文の情報を最新の状態に保ち、取引の正確性と一貫性を維持するために重要です。

TRADE_TRANSACTION_HISTORY_DELETE

注文を履歴から削除します。これは、取引サーバ側で既存の注文履歴が削除される場合に発生します。例えば、不要になった注文履歴やエラーが発生した注文履歴が削除される場合です。

このトランザクションは、履歴管理の正確性を保ち、取引データの整理とメンテナンスを行うために重要です。

TRADE_TRANSACTION_POSITION

取引の実行に関連していないポジションを変更します。これは、通常の売買注文や約定の結果としてではなく、取引サーバや他のシステムによる直接的な操作でポジションの情報が変更されることを指します。
ポジションのボリューム、始値、決済逆指(ストップロス)および決済指値(テイクプロフィット)のレベルが変更される場合などに発生します。

このトランザクションは、約定実行によるポジションの変化(追加、変更、閉鎖)とは異なり、取引サーバ側での直接の変更が行われた場合に発生することが特徴です。ポジション管理の正確性を保つために重要な役割を果たします。

TRADE_TRANSACTION_REQUEST

取引リクエストがサーバで処理され、その結果が受け取られたことを示します。これは、クライアント端末や取引プログラムから送信された取引リクエストがサーバに到達し、その結果が返された際に発生します。

このトランザクションは、取引リクエストの処理状況を確認するために重要であり、リクエストが正しく処理されたか、エラーが発生したかを判断するために使用されます。
MqlTradeTransaction構造体のtypeフィールドで取引タイプを確認し、必要に応じてOnTradeTransaction関数の2番目と3番目のパラメータ(requestとresult)を分析することで、追加の詳細情報を取得することができます。

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