โ† すべてのチュートリアル
MT5 API ยท 5:05

取引エラーの対処方法

約定、待機注文、ブローカー拒否を区別。 再注文する前に結果を確認します。

手順を読む

  1. 0:00

    取引エラーの対処方法

    この動画では MT5 の取引結果とエラーの読み方を説明します。全量約定、一部約定、待機注文、ブローカーによる拒否、結果が未確定の状態を区別します。

  2. 0:18

    取引メソッドのガイドを開く

    エムティー五、ドット、エムアールピーシー、ドット、プロを開きます。取引操作の Order Send を選び、コード例の下にある成功確認ガイドを展開します。他の取引メソッドでは、そのメソッドのガイドを使います。

  3. 0:39

    1. HTTP ステータスコードを確認

    最初に HTTP ステータスコードを確認します。HTTP ステータスコード二百は、API がリクエストを受信して応答を返したことを示します。次に JSON の本文を読みます。それ以外のコードでは、HTTP エラーと応答本文を先に確認してください。

  4. 1:05

    2. error とブローカー情報を確認

    error が null でなければ errorCode と errorMessage を確認します。mqlErrorTradeIntCode と説明が含まれている場合は、そちらも読みます。ブローカーの拒否がこの構造で返ることもあるため、実際のコードに従って対処します。

  5. 1:28

    3. ブローカーの結果を読む

    取引リクエストで HTTP ステータスコード二百、かつ API エラーなしの場合、リクエストはブローカーへ送信されています。ただし約定したとは限りません。data の returnedCode、returnedStringCode とメソッド固有の結果を読みます。

  6. 1:51

    成行注文:全量約定か一部約定か

    成行の Buy または Sell では、一万九の Done が完了を示します。一万十の Done Partial は一部約定です。約定数量、価格、約定情報を読み、ポジションと履歴で残りの状態を確認します。

  7. 2:12

    注文の受付と約定は別です

    成行注文で一万八の Placed は、実行を受け付けた状態で、約定確認ではありません。待機注文では Placed または Done が登録完了を示します。data の order を保存し、Opened Orders を確認します。注文はまだ発動価格を待っています。

  8. 2:37

    市場閉鎖はブローカーによる拒否

    error がなくても、data に拒否結果が入ることがあります。一万十八は市場が閉まっている状態です。銘柄の取引時間まで待ちます。data の存在ではなく、返されたコードで取引結果を判断してください。

  9. 2:59

    報告された原因を修正する

    資金不足なら数量を減らすか必要な余剰証拠金を確保します。ストップ値が無効なら価格と距離を修正します。数量が無効なら銘柄の範囲と刻みに合わせます。価格がなければ新しい気配値を待ちます。ガイドにはコードと対処が並んでいます。

  10. 3:24

    タイムアウト後は口座状態を確認

    タイムアウトやブローカーとの通信切断では、取引結果が未確定になります。再送前に注文、ポジション、履歴を確認し、重複注文を防ぎます。同じブローカーコードが data の returnedCode または error の mqlErrorTradeIntCode に現れる場合があります。

  11. 3:50

    決済と変更には個別のルール

    Order Close では決済結果と残りのポジションを確認します。一部決済なら数量が残ります。Order Modify では Done が変更完了、No Changes が指定値はすでに設定済みという意味です。Order Send のルールをすべての取引に適用しないでください。

  12. 4:15

    事前チェックでは注文されません

    Order Check は Order Send と異なります。data の mqlTradeCheckResult 内にある返却コードとコメントを読みます。ゼロと Done は事前チェックの成功ですが、注文は作られません。取引は別途送信し、その実行結果を確認します。

  13. 4:40

    取引結果は三つの手順で確認

    取引ごとに HTTP ステータスコード、error、そのメソッドのブローカー結果を確認します。注文、約定、ポジションの識別子を適切に保存します。タイムアウトや通信切断の後は、再送前に口座状態を確認してください。