- 取引サーバのリターンコード
- コンパイラ警告
- は、コンパイルエラー
- ランタイムエラー
取引サーバーのリターンコード
取引操作を実行するためのすべてのリクエストは、取引リクエストの構造体 MqlTradeRequest として送信されます(関数 OrderSend()を使用)。関数の実行結果は構造体 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 |
銘柄に対して「ロングポジションのみ許可」ルールが設定されているため、リクエストは却下されました(POSITION_TYPE_BUY) |
10043 |
TRADE_RETCODE_SHORT_ONLY |
銘柄に対して「ショートポジションのみ許可」ルールが設定されているため、リクエストは却下されました (POSITION_TYPE_SELL) |
10044 |
TRADE_RETCODE_CLOSE_ONLY |
銘柄に対して「ポジションの決済のみ許可」ルールが設定されているため、リクエストは却下されました |
10045 |
TRADE_RETCODE_FIFO_CLOSE |
取引口座に対して「ポジションの決済はFIFOルールによってのみ許可」が設定されているため、リクエストは却下されました(ACCOUNT_FIFO_CLOSE=true) |
10046 |
TRADE_RETCODE_HEDGE_PROHIBITED |
取引口座に対して「単一銘柄での反対ポジションは無効」ルールが設定されているため、リクエストは却下されました。たとえば、口座に買いポジションがある場合、ユーザーは売りポジションを開くことも、売り注文を出すこともできません。このルールはヘッジ会計システムを採用した口座にのみ適用されます(ACCOUNT_MARGIN_MODE=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)。 |