取引サーバのリターンコード

取引操作実行リクエストの全ては OrderSend() 関数によって MqlTradeRequest 取引リクエスト構造体として送信されます。関数の実行結果は MqlTradeResult 構造体に収められ retcode フィールドは取引サーバのリターンコードを含みます。

コード

定数

説明

10004

TRADE_RETCODE_REQUOTE

リクオート。

10006

TRADE_RETCODE_REJECT

リクエストの拒否。

10007

TRADE_RETCODE_CANCEL

トレーダーによるリクエストのキャンセル。

10008

TRADE_RETCODE_PLACED

注文が出されました。

10009

TRADE_RETCODE_DONE

リクエスト完了。

10010

TRADE_RETCODE_DONE_PARTIAL

リクエストが一部のみ完了。

10011

TRADE_RETCODE_ERROR

リクエスト処理エラー。

10012

TRADE_RETCODE_TIMEOUT

リクエストが時間切れでキャンセル。

10013

TRADE_RETCODE_INVALID

無効なリクエスト。

10014

TRADE_RETCODE_INVALID_VOLUME

リクエスト内の無効なボリューム。

10015

TRADE_RETCODE_INVALID_PRICE

リクエスト内の無効な価格。

10016

TRADE_RETCODE_INVALID_STOPS

リクエスト内の無効なストップ。

10017

TRADE_RETCODE_TRADE_DISABLED

取引が無効化されています。

10018

TRADE_RETCODE_MARKET_CLOSED

市場が閉鎖中。

10019

TRADE_RETCODE_NO_MONEY

リクエストを完了するのに資金が不充分。

10020

TRADE_RETCODE_PRICE_CHANGED

価格変更。

10021

TRADE_RETCODE_PRICE_OFF

リクエスト処理に必要な相場が不在。

10022

TRADE_RETCODE_INVALID_EXPIRATION

リクエスト内の無効な注文有効期限。

10023

TRADE_RETCODE_ORDER_CHANGED

注文状態の変化。

10024

TRADE_RETCODE_TOO_MANY_REQUESTS

頻繁過ぎるリクエスト。

10025

TRADE_RETCODE_NO_CHANGES

リクエストに変更なし。

10026

TRADE_RETCODE_SERVER_DISABLES_AT

サーバが自動取引を無効化。

10027

TRADE_RETCODE_CLIENT_DISABLES_AT

クライアント端末が自動取引を無効化。

10028

TRADE_RETCODE_LOCKED

リクエストが処理のためにロック中。

10029

TRADE_RETCODE_FROZEN

注文やポジションが凍結。

10030

TRADE_RETCODE_INVALID_FILL

無効な注文充填タイプ

10031

TRADE_RETCODE_CONNECTION

取引サーバに未接続。

10032

TRADE_RETCODE_ONLY_REAL

操作は、ライブ口座のみで許可。

10033

TRADE_RETCODE_LIMIT_ORDERS

未決注文の数が上限に達しました。

10034

TRADE_RETCODE_LIMIT_VOLUME

シンボルの注文やポジションのボリュームが限界に達しました。

10035

TRADE_RETCODE_INVALID_ORDER

不正または禁止された注文の種類

10036

TRADE_RETCODE_POSITION_CLOSED

指定されたPOSITION_IDENTIFIER を持つポジションがすでに閉鎖。

10038

TRADE_RETCODE_INVALID_CLOSE_VOLUME

決済ボリュームが現在のポジションのボリュームを超過。

10039

TRADE_RETCODE_CLOSE_ORDER_EXIST

指定されたポジションの決済注文が既存。これは、ヘッジシステムでの作業中に発生する可能性があります。

  • 反対のポジションを決済しようとしているときにそのポジションの決済注文が既に存在している場合
  • ポジションを完全または部分的に決済しようとしているときに既存する決済注文と新しく出された決済注文の合計が現在のポジションボリュームを超えている場合

10040

TRADE_RETCODE_LIMIT_POSITIONS

アカウントに同時に存在するポジションの数は、サーバー設定によって制限されます。 限度に達すると、サーバーは出された注文を処理するときにTRADE_RETCODE_LIMIT_POSITIONSエラーを返します。 これは、ポジション会計タイプによって異なる動作につながります。

  • ネッティング - ポジションの数が考慮されます。 限度に達すると、プラットフォームはその実行によってポジションの数が増加する可能性がある新しい注文の発注を無効にします。 実際には、プラットホームは、既にポジションを有する銘柄についてのみの発注を可能にします。 現在の未決注文は、実行によって現在のポジションの変更につながる可能性がありますがその数を増やすことはできないので考慮されません。
  • ヘッジング - 未決注文のアクティブ化によって常に新しいポジションが開かれるため、未決注文はポジションとともに考慮されます。限度に達すると、プラットフォームは、成行注文と未決注文の両方での新しい発注を無効にします。

10041

TRADE_RETCODE_REJECT_CANCEL

未決注文アクティベーションリクエストは却下され、注文はキャンセルされます。

10042

TRADE_RETCODE_LONG_ONLY

銘柄に"Only long positions are allowed(買いポジションのみ)" (POSITION_TYPE_BUY)のルールが設定されているため、リクエストは却下されます。

10043

TRADE_RETCODE_SHORT_ONLY

銘柄に"Only short positions are allowed(売りポジションのみ)" (POSITION_TYPE_SELL)のルールが設定されているため、リクエストは却下されます。

10044

TRADE_RETCODE_CLOSE_ONLY

銘柄に"Only position closing is allowed(ポジション決済のみ)"のルールが設定されているため、リクエストは却下されます。

10045

TRADE_RETCODE_FIFO_CLOSE

取引口座に"Position closing is allowed only by FIFO rule(FIFOによるポジション決済のみ)"(ACCOUNT_FIFO_CLOSE=true)のフラグが設定されているため、リクエストは却下されます

10046

TRADE_RETCODE_HEDGE_PROHIBITED

口座で「単一の銘柄の反対のポジションは無効にする」ルールが設定されているため、リクエストが拒否されます。たとえば、銘柄に買いポジションがある場合、売りポジションを開いたり、売り指値注文を出すことはできません。このルールは口座がヘッジ勘定の場合 (ACCOUNT_MARGIN_MODE=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)のみ適用されます。