Mã Trả Về của Máy Chủ Giao Dịch
Tất cả các yêu cầu để thực hiện các hoạt động giao dịch được gửi dưới dạng cấu trúc yêu cầu giao dịch MqlTradeRequest bằng hàm OrderSend(). Kết quả thực thi hàm được đặt vào cấu trúc MqlTradeResult, trong đó trường retcode
chứa mã trả về của máy chủ giao dịch.
Mã | Hằng số | Mô tả |
---|---|---|
10004 | TRADE_RETCODE_REQUOTE | Báo giá lại |
10006 | TRADE_RETCODE_REJECT | Yêu cầu bị từ chối |
10007 | TRADE_RETCODE_CANCEL | Yêu cầu bị hủy bởi nhà giao dịch |
10008 | TRADE_RETCODE_PLACED | Lệnh đã được đặt |
10009 | TRADE_RETCODE_DONE | Yêu cầu đã hoàn thành |
10010 | TRADE_RETCODE_DONE_PARTIAL | Chỉ một phần của yêu cầu được hoàn thành |
10011 | TRADE_RETCODE_ERROR | Lỗi xử lý yêu cầu |
10012 | TRADE_RETCODE_TIMEOUT | Yêu cầu bị hủy do hết thời gian |
10013 | TRADE_RETCODE_INVALID | Yêu cầu không hợp lệ |
10014 | TRADE_RETCODE_INVALID_VOLUME | Khối lượng không hợp lệ trong yêu cầu |
10015 | TRADE_RETCODE_INVALID_PRICE | Giá không hợp lệ trong yêu cầu |
10016 | TRADE_RETCODE_INVALID_STOPS | Điểm dừng không hợp lệ trong yêu cầu |
10017 | TRADE_RETCODE_TRADE_DISABLED | Giao dịch bị vô hiệu hóa |
10018 | TRADE_RETCODE_MARKET_CLOSED | Thị trường đã đóng |
10019 | TRADE_RETCODE_NO_MONEY | Không đủ tiền để hoàn thành yêu cầu |
10020 | TRADE_RETCODE_PRICE_CHANGED | Giá đã thay đổi |
10021 | TRADE_RETCODE_PRICE_OFF | Không có báo giá để xử lý yêu cầu |
10022 | TRADE_RETCODE_INVALID_EXPIRATION | Ngày hết hạn lệnh không hợp lệ trong yêu cầu |
10023 | TRADE_RETCODE_ORDER_CHANGED | Trạng thái lệnh đã thay đổi |
10024 | TRADE_RETCODE_TOO_MANY_REQUESTS | Yêu cầu quá thường xuyên |
10025 | TRADE_RETCODE_NO_CHANGES | Không có thay đổi trong yêu cầu |
10026 | TRADE_RETCODE_SERVER_DISABLES_AT | Tự động giao dịch bị vô hiệu hóa bởi máy chủ |
10027 | TRADE_RETCODE_CLIENT_DISABLES_AT | Tự động giao dịch bị vô hiệu hóa bởi thiết bị đầu cuối của khách hàng |
10028 | TRADE_RETCODE_LOCKED | Yêu cầu bị khóa để xử lý |
10029 | TRADE_RETCODE_FROZEN | Lệnh hoặc vị thế bị đóng băng |
10030 | TRADE_RETCODE_INVALID_FILL | Loại điền lệnh không hợp lệ |
10031 | TRADE_RETCODE_CONNECTION | Không có kết nối với máy chủ giao dịch |
10032 | TRADE_RETCODE_ONLY_REAL | Hoạt động chỉ được phép cho tài khoản thực |
10033 | TRADE_RETCODE_LIMIT_ORDERS | Số lượng lệnh chờ đã đạt giới hạn |
10034 | TRADE_RETCODE_LIMIT_VOLUME | Khối lượng lệnh và vị thế cho ký hiệu đã đạt giới hạn |
10035 | TRADE_RETCODE_INVALID_ORDER | Loại lệnh không chính xác hoặc bị cấm |
10036 | TRADE_RETCODE_POSITION_CLOSED | Vị thế với POSITION_IDENTIFIER được chỉ định đã được đóng |
10038 | TRADE_RETCODE_INVALID_CLOSE_VOLUME | Khối lượng đóng vượt quá khối lượng vị thế hiện tại |
10039 | TRADE_RETCODE_CLOSE_ORDER_EXIST | Đã tồn tại lệnh đóng cho một vị thế được chỉ định. Điều này có thể xảy ra khi làm việc trong hệ thống phòng ngừa rủi ro: - Khi cố gắng đóng một vị thế bằng một vị thế ngược lại, trong khi các lệnh đóng cho vị thế đã tồn tại - Khi cố gắng đóng hoàn toàn hoặc một phần vị thế nếu tổng khối lượng của các lệnh đóng hiện có và lệnh mới đặt vượt quá khối lượng vị thế hiện tại |
10040 | TRADE_RETCODE_LIMIT_POSITIONS | Số lượng vị thế mở đồng thời trên một tài khoản có thể bị giới hạn bởi cài đặt máy chủ. Sau khi đạt giới hạn, máy chủ trả về lỗi TRADE_RETCODE_LIMIT_POSITIONS khi cố gắng đặt lệnh. Giới hạn hoạt động khác nhau tùy thuộc vào loại kế toán vị thế:- Gộp – số lượng vị thế mở được xem xét. Khi đạt giới hạn, nền tảng không cho phép đặt các lệnh mới mà việc thực hiện có thể làm tăng số lượng vị thế mở. Thực tế, nền tảng chỉ cho phép đặt lệnh cho các ký hiệu đã có vị thế mở. Các lệnh chờ hiện tại không được xem xét vì việc thực hiện chúng có thể dẫn đến thay đổi trong các vị thế hiện tại nhưng không thể tăng số lượng của chúng. - Phòng ngừa rủi ro – các lệnh chờ được xem xét cùng với các vị thế mở, vì việc kích hoạt lệnh chờ luôn dẫn đến mở một vị thế mới. Khi đạt giới hạn, nền tảng không cho phép đặt cả lệnh thị trường mới để mở vị thế lẫn lệnh chờ. |
10041 | TRADE_RETCODE_REJECT_CANCEL | Yêu cầu kích hoạt lệnh chờ bị từ chối, lệnh bị hủy |
10042 | TRADE_RETCODE_LONG_ONLY | Yêu cầu bị từ chối, vì quy tắc "Chỉ cho phép vị thế mua" được đặt cho ký hiệu (POSITION_TYPE_BUY) |
10043 | TRADE_RETCODE_SHORT_ONLY | Yêu cầu bị từ chối, vì quy tắc "Chỉ cho phép vị thế bán" được đặt cho ký hiệu (POSITION_TYPE_SELL) |
10044 | TRADE_RETCODE_CLOSE_ONLY | Yêu cầu bị từ chối, vì quy tắc "Chỉ cho phép đóng vị thế" được đặt cho ký hiệu |
10045 | TRADE_RETCODE_FIFO_CLOSE | Yêu cầu bị từ chối, vì cờ "Chỉ cho phép đóng vị thế theo quy tắc FIFO" được đặt cho tài khoản giao dịch (ACCOUNT_FIFO_CLOSE=true) |
10046 | TRADE_RETCODE_HEDGE_PROHIBITED | Yêu cầu bị từ chối, vì quy tắc "Các vị thế ngược chiều trên cùng một ký hiệu bị vô hiệu hóa" được đặt cho tài khoản giao dịch. Ví dụ, nếu tài khoản có vị thế Mua, thì người dùng không thể mở vị thế Bán hoặc đặt lệnh chờ bán. Quy tắc này chỉ áp dụng cho các tài khoản có hệ thống kế toán phòng ngừa rủi ro (ACCOUNT_MARGIN_MODE=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING). |