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

予約注文を管理する

発注、確認、変更、取り消し、結果の確認。

手順を読む

  1. 0:00

    予約注文を管理する

    このチュートリアルでは、専用のデモ口座で MT5 の予約注文を出し、内容を確認し、変更してから取り消す手順を説明します。

  2. 0:14

    デモ口座に接続する

    mt5.mrpc.pro を開きます。TRIAL または自分の API キーを設定し、ConnectEx にデモ口座番号、取引用パスワード、ブローカーの正確なサーバー名を入力して実行します。成功すると、コンソールが返されたターミナル ID を保持し、次のリクエストに使います。練習には専用のデモ口座を使ってください。

  3. 0:43

    現在の価格を確認する

    SymbolInfoTick を選び、正確な銘柄名を入力します。この記録では EURUSD の ask は約 1.1147 です。Buy Limit の価格は現在の ask より低く設定します。今回は市場価格から十分に離れた 1.05 を選びます。ブローカーが認める価格刻みと取引数量を使ってください。

  4. 1:11

    Buy Limit を発注する

    OrderSend を開き、初期値の成行 Buy ではなく、Buy Limit を選択します。数量を 0.01 ロット、注文価格を 1.05 に設定します。実行前に銘柄と注文種別をもう一度確認してください。予約注文は条件が満たされるのを待つ注文であり、発注完了はポジションが開いたことを意味しません。

  5. 1:43

    注文チケットを保存する

    レスポンスは HTTP Status Code 200 で、API エラーはなく、returnedCode は 10009、Done です。この予約注文では、注文の登録が完了したことを表します。order フィールドのチケットを、確認、変更、取り消しに使います。市場で約定していないので、ここで deal がゼロなのは正常です。

  6. 2:11

    登録内容を確認する

    OpenedOrders を呼び出し、openedOrders の中から同じチケットを探します。銘柄、Buy Limit の種別、placed の状態、注文価格、残り数量を確認してください。この記録では positionInfos は空です。約定済みのポジションではなく、予約注文があることを確認できます。この後も同じチケットを使います。

  7. 2:43

    注文価格を変更する

    OrderModify を開き、予約注文のチケットを入力して、price を 1.04 に設定します。今回は注文価格だけを変更するため、任意の損切り、利確、有効期限の欄は空にします。一度実行したら、次の操作に進む前にレスポンスを確認してください。

  8. 3:09

    変更を確認する

    変更の結果は Done です。OpenedOrders をもう一度呼び出し、同じチケットを探します。priceOpen は 1.04、種別は Buy Limit のまま、数量も 0.01 のままです。HTTP の成功だけから変更されたと思い込まず、読み直すことで保存された結果を確認できます。

  9. 3:35

    予約注文を取り消す

    取り消すには OrderClose を開き、予約注文のチケットを入力します。この予約注文の削除では volume は空にします。メソッド名は OrderClose ですが、予約注文の取り消しにも使います。チケットは必ず事前に確認してください。ポジションのチケットなら、予約注文の取り消しではなくポジションの決済になります。

  10. 4:05

    取り消し結果を読む

    結果には Done と、closeMode の MRPC_PENDING_ORDER_REMOVE が表示されます。OpenedOrders を再度呼び出すと、この記録では両方のリストが空で、予約注文のチケットもありません。取り消し前に注文が約定した場合は、次の操作をする前にポジションと履歴を確認し、現在の状態を把握してください。

  11. 4:36

    後処理をして終了する

    注文は取り消され、ポジションも残っていません。最後にターミナルを切断します。Disconnect だけでは予約注文は取り消されません。リクエストが拒否されたときは、まず error を確認します。data にブローカーの結果があれば、返却コードと説明を読み、示された問題を修正してから再試行してください。これで予約注文の一連の操作が完了です。