- 取引サーバのリターンコード
- コンパイラ警告
- は、コンパイルエラー
- ランタイムエラー
거래 서버의 반환 코드
거래 작업을 실행하기 위한 거래 요청 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). |