| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- //+------------------------------------------------------------------+
- //| MetaTrader 5 API |
- //| Copyright 2000-2019, MetaQuotes Software Corp. |
- //| http://www.metaquotes.net |
- //+------------------------------------------------------------------+
- #pragma once
- #include "MT5APITypes.h"
- //+------------------------------------------------------------------+
- //| MetaTrader 5 API return codes |
- //+------------------------------------------------------------------+
- enum EnMTAPIRetcode
- {
- //--- successfully codes
- MT_RET_OK =0, // ok
- MT_RET_OK_NONE =1, // ok, no data
- //--- common errors
- MT_RET_ERROR =2, // Common error
- MT_RET_ERR_PARAMS =3, // Invalid parameters
- MT_RET_ERR_DATA =4, // Invalid data
- MT_RET_ERR_DISK =5, // Disk error
- MT_RET_ERR_MEM =6, // Memory error
- MT_RET_ERR_NETWORK =7, // Network error
- MT_RET_ERR_PERMISSIONS =8, // Not enough permissions
- MT_RET_ERR_TIMEOUT =9, // Operation timeout
- MT_RET_ERR_CONNECTION =10, // No connection
- MT_RET_ERR_NOSERVICE =11, // Service is not available
- MT_RET_ERR_FREQUENT =12, // Too frequent requests
- MT_RET_ERR_NOTFOUND =13, // Not found
- MT_RET_ERR_PARTIAL =14, // Partial error
- MT_RET_ERR_SHUTDOWN =15, // Server shutdown in progress
- MT_RET_ERR_CANCEL =16, // Operation has been canceled
- MT_RET_ERR_DUPLICATE =17, // Duplicate data
- //--- authentication retcodes
- MT_RET_AUTH_CLIENT_INVALID =1000, // Invalid terminal type
- MT_RET_AUTH_ACCOUNT_INVALID =1001, // Invalid account
- MT_RET_AUTH_ACCOUNT_DISABLED =1002, // Account disabled
- MT_RET_AUTH_ADVANCED =1003, // Advanced authorization necessary
- MT_RET_AUTH_CERTIFICATE =1004, // Certificate required
- MT_RET_AUTH_CERTIFICATE_BAD =1005, // Invalid certificate
- MT_RET_AUTH_NOTCONFIRMED =1006, // Certificate is not confirmed
- MT_RET_AUTH_SERVER_INTERNAL =1007, // Attempt to connect to non-access server
- MT_RET_AUTH_SERVER_BAD =1008, // Server isn't authenticated
- MT_RET_AUTH_UPDATE_ONLY =1009, // Only updates available
- MT_RET_AUTH_CLIENT_OLD =1010, // Client has old version
- MT_RET_AUTH_MANAGER_NOCONFIG =1011, // Manager account doesn't have manager config
- MT_RET_AUTH_MANAGER_IPBLOCK =1012, // IP address unallowed for manager
- MT_RET_AUTH_GROUP_INVALID =1013, // Group is not initialized (server restart neccesary)
- MT_RET_AUTH_CA_DISABLED =1014, // Certificate generation disabled
- MT_RET_AUTH_INVALID_ID =1015, // Invalid or disabled server id [check server's id]
- MT_RET_AUTH_INVALID_IP =1016, // Unallowed address [check server's ip address]
- MT_RET_AUTH_INVALID_TYPE =1017, // Invalid server type [check server's id and type]
- MT_RET_AUTH_SERVER_BUSY =1018, // Server is busy
- MT_RET_AUTH_SERVER_CERT =1019, // Invalid server certificate
- MT_RET_AUTH_ACCOUNT_UNKNOWN =1020, // Unknown account
- MT_RET_AUTH_SERVER_OLD =1021, // Old server version
- MT_RET_AUTH_SERVER_LIMIT =1022, // Server cannot be connected due to license limitation
- MT_RET_AUTH_MOBILE_DISABLED =1023, // Mobile connection aren't allowed in server license
- MT_RET_AUTH_MANAGER_TYPE =1024, // Connection type is not permitted for manager
- MT_RET_AUTH_DEMO_DISABLED =1025, // Demo allocation disabled
- MT_RET_AUTH_RESET_PASSWORD =1026, // Master password must be changed
- //--- config management retcodes
- MT_RET_CFG_LAST_ADMIN =2000, // Last admin config deleting
- MT_RET_CFG_LAST_ADMIN_GROUP =2001, // Last admin group cannot be deleted
- MT_RET_CFG_NOT_EMPTY =2003, // Accounts or trades in group/symbol
- MT_RET_CFG_INVALID_RANGE =2004, // Invalid accounts or trades ranges
- MT_RET_CFG_NOT_MANAGER_LOGIN =2005, // Manager account is not from manager group
- MT_RET_CFG_BUILTIN =2006, // Built-in protected config
- MT_RET_CFG_DUPLICATE =2007, // Configuration duplicate
- MT_RET_CFG_LIMIT_REACHED =2008, // Configuration limit reached
- MT_RET_CFG_NO_ACCESS_TO_MAIN =2009, // Invalid network configuration
- MT_RET_CFG_DEALER_ID_EXIST =2010, // Dealer with same ID exists
- MT_RET_CFG_BIND_ADDR_EXIST =2011, // Bind address already exists
- MT_RET_CFG_WORKING_TRADE =2012, // Attempt to delete working trade server
- MT_RET_CFG_GATEWAY_NAME_EXIST=2013, // Gateway with same name exists
- MT_RET_CFG_SWITCH_TO_BACKUP =2014, // Server must be switched to backup mode
- MT_RET_CFG_NO_BACKUP_MODULE =2015, // Backup server module is absent
- MT_RET_CFG_NO_TRADE_MODULE =2016, // Trade server module is absent
- MT_RET_CFG_NO_HISTORY_MODULE =2017, // History server module is absent
- MT_RET_CFG_ANOTHER_SWITCH =2018, // Another switching process in progress
- MT_RET_CFG_NO_LICENSE_FILE =2019, // License file is absent
- MT_RET_CFG_GATEWAY_LOGIN_EXIST=2020, // Gateway with same login already exist
- //--- client management retcodes
- MT_RET_USR_LAST_ADMIN =3001, // Last admin account deleting
- MT_RET_USR_LOGIN_EXHAUSTED =3002, // Logins range exhausted
- MT_RET_USR_LOGIN_PROHIBITED =3003, // Login reserved at another server
- MT_RET_USR_LOGIN_EXIST =3004, // Account already exists
- MT_RET_USR_SUICIDE =3005, // Attempt of self-deletion
- MT_RET_USR_INVALID_PASSWORD =3006, // Invalid account password
- MT_RET_USR_LIMIT_REACHED =3007, // Users limit reached
- MT_RET_USR_HAS_TRADES =3008, // Account has open trades
- MT_RET_USR_DIFFERENT_SERVERS =3009, // Attempt to move account to different server
- MT_RET_USR_DIFFERENT_CURRENCY=3010, // Attempt to move account to different currency group
- MT_RET_USR_IMPORT_BALANCE =3011, // Account balance import error
- MT_RET_USR_IMPORT_GROUP =3012, // Account import with invalid group
- MT_RET_USR_ACCOUNT_EXIST =3013, // Account already exist
- //--- trades management retcodes
- MT_RET_TRADE_LIMIT_REACHED =4001, // Orders or deals limit reached
- MT_RET_TRADE_ORDER_EXIST =4002, // Order already exists
- MT_RET_TRADE_ORDER_EXHAUSTED =4003, // Orders range exhausted
- MT_RET_TRADE_DEAL_EXHAUSTED =4004, // Deals range exhausted
- MT_RET_TRADE_MAX_MONEY =4005, // Money limit reached
- MT_RET_TRADE_DEAL_EXIST =4006, // Deal already exists
- MT_RET_TRADE_ORDER_PROHIBITED=4007, // Order ticket reserved at another server
- MT_RET_TRADE_DEAL_PROHIBITED =4008, // Deal ticket reserved at another server
- //--- report generation retcodes
- MT_RET_REPORT_SNAPSHOT =5001, // Base snapshot error
- MT_RET_REPORT_NOTSUPPORTED =5002, // Method doesn't support for this report
- MT_RET_REPORT_NODATA =5003, // No report data
- MT_RET_REPORT_TEMPLATE_BAD =5004, // Bad template
- MT_RET_REPORT_TEMPLATE_END =5005, // End of template (template success processed)
- MT_RET_REPORT_INVALID_ROW =5006, // Invalid row size
- MT_RET_REPORT_LIMIT_REPEAT =5007, // Tag repeat limit reached
- MT_RET_REPORT_LIMIT_REPORT =5008, // Report size limit reached
- //--- price history reports retcodes
- MT_RET_HST_SYMBOL_NOTFOUND =6001, // Symbol not found, try to restart history server
- //--- trade request retcodes
- MT_RET_REQUEST_INWAY =10001, // Request on the way
- MT_RET_REQUEST_ACCEPTED =10002, // Request accepted
- MT_RET_REQUEST_PROCESS =10003, // Request processed
- MT_RET_REQUEST_REQUOTE =10004, // Request Requoted
- MT_RET_REQUEST_PRICES =10005, // Request Prices
- MT_RET_REQUEST_REJECT =10006, // Request rejected
- MT_RET_REQUEST_CANCEL =10007, // Request canceled
- MT_RET_REQUEST_PLACED =10008, // Order from requestplaced
- MT_RET_REQUEST_DONE =10009, // Request executed
- MT_RET_REQUEST_DONE_PARTIAL =10010, // Request executed partially
- MT_RET_REQUEST_ERROR =10011, // Request common error
- MT_RET_REQUEST_TIMEOUT =10012, // Request timeout
- MT_RET_REQUEST_INVALID =10013, // Invalid request
- MT_RET_REQUEST_INVALID_VOLUME=10014, // Invalid volume
- MT_RET_REQUEST_INVALID_PRICE =10015, // Invalid price
- MT_RET_REQUEST_INVALID_STOPS =10016, // Invalid stops or price
- MT_RET_REQUEST_TRADE_DISABLED=10017, // Trade disabled
- MT_RET_REQUEST_MARKET_CLOSED =10018, // Market closed
- MT_RET_REQUEST_NO_MONEY =10019, // Not enough money
- MT_RET_REQUEST_PRICE_CHANGED =10020, // Price changed
- MT_RET_REQUEST_PRICE_OFF =10021, // No prices
- MT_RET_REQUEST_INVALID_EXP =10022, // Invalid order expiration
- MT_RET_REQUEST_ORDER_CHANGED =10023, // Order has been changed already
- MT_RET_REQUEST_TOO_MANY =10024, // Too many trade requests
- MT_RET_REQUEST_NO_CHANGES =10025, // Request doesn't contain changes
- MT_RET_REQUEST_AT_DISABLED_SERVER=10026, // AutoTrading disabled by server
- MT_RET_REQUEST_AT_DISABLED_CLIENT=10027, // AutoTrading disabled by client
- MT_RET_REQUEST_LOCKED =10028, // Request locked by dealer
- MT_RET_REQUEST_FROZEN =10029, // Order or position frozen
- MT_RET_REQUEST_INVALID_FILL =10030, // Unsupported filling mode
- MT_RET_REQUEST_CONNECTION =10031, // No connection
- MT_RET_REQUEST_ONLY_REAL =10032, // Allowed for real accounts only
- MT_RET_REQUEST_LIMIT_ORDERS =10033, // Orders limit reached
- MT_RET_REQUEST_LIMIT_VOLUME =10034, // Volume limit reached
- MT_RET_REQUEST_INVALID_ORDER =10035, // Invalid or prohibited order type
- MT_RET_REQUEST_POSITION_CLOSED=10036, // Position doesn't exist
- MT_RET_REQUEST_EXECUTION_SKIPPED =10037, // Execution doesn't belong to this server
- MT_RET_REQUEST_INVALID_CLOSE_VOLUME=10038, // Volume to be closed exceeds the position volume
- MT_RET_REQUEST_CLOSE_ORDER_EXIST =10039, // Order to close this position already exists
- MT_RET_REQUEST_LIMIT_POSITIONS=10040, // Positions limit reached
- MT_RET_REQUEST_REJECT_CANCEL =10041, // Request rejected, order will be canceled
- MT_RET_REQUEST_LONG_ONLY =10042, // Only long positions are allowed
- MT_RET_REQUEST_SHORT_ONLY =10043, // Only short positions are allowed
- MT_RET_REQUEST_CLOSE_ONLY =10044, // Only position closing is allowed
- MT_RET_REQUEST_PROHIBITED_BY_FIFO=10045, // Position close prohibited by FIFO rule
- //--- dealer retcodes
- MT_RET_REQUEST_RETURN =11000, // Request returned in queue
- MT_RET_REQUEST_DONE_CANCEL =11001, // Request partially filled, remainder has been canceled
- MT_RET_REQUEST_REQUOTE_RETURN=11002, // Request requoted and returned in queue with new prices
- //--- API retcodes
- MT_RET_ERR_NOTIMPLEMENT =12000, // Not implement yet
- MT_RET_ERR_NOTMAIN =12001, // Operation must be performed on main server
- MT_RET_ERR_NOTSUPPORTED =12002, // Command doesn't supported
- MT_RET_ERR_DEADLOCK =12003, // Operation canceled due possible deadlock
- MT_RET_ERR_LOCKED =12004 // Operation on locked entity
- };
- //+------------------------------------------------------------------+
|