198 lines
33 KiB
Plaintext
198 lines
33 KiB
Plaintext
#property link "https://www.earnforex.com/"
|
||
#property version "1.00"
|
||
#property strict
|
||
#property copyright "EarnForex.com - 2020"
|
||
#property description "This is list of the available MT5 errors"
|
||
#property description " "
|
||
#property description "Find More on EarnForex.com"
|
||
|
||
string GetLastErrorText(int Error){
|
||
string Text="";
|
||
//Print(Error);
|
||
if(Error==ERR_SUCCESS) Text="The operation completed successfully";
|
||
if(Error==ERR_INTERNAL_ERROR) Text="Unexpected internal error";
|
||
if(Error==ERR_WRONG_INTERNAL_PARAMETER) Text="Wrong parameter in the inner call of the client terminal function";
|
||
if(Error==ERR_INVALID_PARAMETER) Text="Wrong parameter when calling the system function";
|
||
if(Error==ERR_NOT_ENOUGH_MEMORY) Text="Not enough memory to perform the system function";
|
||
if(Error==ERR_STRUCT_WITHOBJECTS_ORCLASS) Text="The structure contains objects of strings and/or dynamic arrays and/or structure of such objects and/or classes";
|
||
if(Error==ERR_INVALID_ARRAY) Text="Array of a wrong type, wrong size, or a damaged object of a dynamic array";
|
||
if(Error==ERR_ARRAY_RESIZE_ERROR) Text="Not enough memory for the relocation of an array, or an attempt to change the size of a static array";
|
||
if(Error==ERR_STRING_RESIZE_ERROR) Text="Not enough memory for the relocation of string";
|
||
if(Error==ERR_NOTINITIALIZED_STRING) Text="Not initialized string";
|
||
if(Error==ERR_INVALID_DATETIME) Text="Invalid date and/or time";
|
||
if(Error==ERR_ARRAY_BAD_SIZE) Text="Requested array size exceeds 2 GB";
|
||
if(Error==ERR_INVALID_POINTER) Text="Wrong pointer";
|
||
if(Error==ERR_INVALID_POINTER_TYPE) Text="Wrong type of pointer";
|
||
if(Error==ERR_FUNCTION_NOT_ALLOWED) Text="Function is not allowed for call";
|
||
if(Error==ERR_RESOURCE_NAME_DUPLICATED) Text="The names of the dynamic and the static resource match";
|
||
if(Error==ERR_RESOURCE_NOT_FOUND) Text="Resource with this name has not been found in EX5";
|
||
if(Error==ERR_RESOURCE_UNSUPPORTED_TYPE) Text="Unsupported resource type or its size exceeds 16 Mb";
|
||
if(Error==ERR_RESOURCE_NAME_IS_TOO_LONG) Text="The resource name exceeds 63 characters";
|
||
if(Error==ERR_MATH_OVERFLOW) Text="Overflow occurred when calculating math function";
|
||
if(Error==ERR_CHART_WRONG_ID) Text="Wrong chart ID";
|
||
if(Error==ERR_CHART_NO_REPLY) Text="Chart does not respond";
|
||
if(Error==ERR_CHART_NOT_FOUND) Text="Chart not found";
|
||
if(Error==ERR_CHART_NO_EXPERT) Text="No Expert Advisor in the chart that could handle the event";
|
||
if(Error==ERR_CHART_CANNOT_OPEN) Text="Chart opening error";
|
||
if(Error==ERR_CHART_CANNOT_CHANGE) Text="Failed to change chart symbol and period";
|
||
if(Error==ERR_CHART_WRONG_PARAMETER) Text="Error value of the parameter for the function of working with charts";
|
||
if(Error==ERR_CHART_CANNOT_CREATE_TIMER) Text="Failed to create timer";
|
||
if(Error==ERR_CHART_WRONG_PROPERTY) Text="Wrong chart property ID";
|
||
if(Error==ERR_CHART_SCREENSHOT_FAILED) Text="Error creating screenshots";
|
||
if(Error==ERR_CHART_NAVIGATE_FAILED) Text="Error navigating through chart";
|
||
if(Error==ERR_CHART_TEMPLATE_FAILED) Text="Error applying template";
|
||
if(Error==ERR_CHART_WINDOW_NOT_FOUND) Text="Subwindow containing the indicator was not found";
|
||
if(Error==ERR_CHART_INDICATOR_CANNOT_ADD) Text="Error adding an indicator to chart";
|
||
if(Error==ERR_CHART_INDICATOR_CANNOT_DEL) Text="Error deleting an indicator from the chart";
|
||
if(Error==ERR_CHART_INDICATOR_NOT_FOUND) Text="Indicator not found on the specified chart";
|
||
if(Error==ERR_OBJECT_ERROR) Text="Error working with a graphical object";
|
||
if(Error==ERR_OBJECT_NOT_FOUND) Text="Graphical object was not found";
|
||
if(Error==ERR_OBJECT_WRONG_PROPERTY) Text="Wrong ID of a graphical object property";
|
||
if(Error==ERR_OBJECT_GETDATE_FAILED) Text="Unable to get date corresponding to the value";
|
||
if(Error==ERR_OBJECT_GETVALUE_FAILED) Text="Unable to get value corresponding to the date";
|
||
if(Error==ERR_MARKET_UNKNOWN_SYMBOL) Text="Unknown symbol";
|
||
if(Error==ERR_MARKET_NOT_SELECTED) Text="Symbol is not selected in MarketWatch";
|
||
if(Error==ERR_MARKET_WRONG_PROPERTY) Text="Wrong identifier of a symbol property";
|
||
if(Error==ERR_MARKET_LASTTIME_UNKNOWN) Text="Time of the last tick is not known (no ticks)";
|
||
if(Error==ERR_MARKET_SELECT_ERROR) Text="Error adding or deleting a symbol in MarketWatch";
|
||
if(Error==ERR_HISTORY_NOT_FOUND) Text="Requested history not found";
|
||
if(Error==ERR_HISTORY_WRONG_PROPERTY) Text="Wrong ID of the history property";
|
||
if(Error==ERR_HISTORY_TIMEOUT) Text="Exceeded history request timeout";
|
||
if(Error==ERR_HISTORY_BARS_LIMIT) Text="Number of requested bars limited by terminal settings";
|
||
if(Error==ERR_HISTORY_LOAD_ERRORS) Text="Multiple errors when loading history";
|
||
if(Error==ERR_HISTORY_SMALL_BUFFER) Text="Receiving array is too small to store all requested data";
|
||
if(Error==ERR_GLOBALVARIABLE_NOT_FOUND) Text="Global variable of the client terminal is not found";
|
||
if(Error==ERR_GLOBALVARIABLE_EXISTS) Text="Global variable of the client terminal with the same name already exists";
|
||
if(Error==ERR_GLOBALVARIABLE_NOT_MODIFIED) Text="Global variables were not modified";
|
||
if(Error==ERR_GLOBALVARIABLE_CANNOTREAD) Text="Cannot read file with global variable values";
|
||
if(Error==ERR_GLOBALVARIABLE_CANNOTWRITE) Text="Cannot write file with global variable values";
|
||
if(Error==ERR_MAIL_SEND_FAILED) Text="Email sending failed";
|
||
if(Error==ERR_PLAY_SOUND_FAILED) Text="Sound playing failed";
|
||
if(Error==ERR_MQL5_WRONG_PROPERTY) Text="Wrong identifier of the program property";
|
||
if(Error==ERR_TERMINAL_WRONG_PROPERTY) Text="Wrong identifier of the terminal property";
|
||
if(Error==ERR_FTP_SEND_FAILED) Text="File sending via ftp failed";
|
||
if(Error==ERR_NOTIFICATION_SEND_FAILED) Text="Failed to send a notification";
|
||
if(Error==ERR_NOTIFICATION_WRONG_PARAMETER) Text="Invalid parameter for sending a notification – an empty string or NULL has been passed to the SendNotification() function";
|
||
if(Error==ERR_NOTIFICATION_WRONG_SETTINGS) Text="Wrong settings of notifications in the terminal (ID is not specified or permission is not set)";
|
||
if(Error==ERR_NOTIFICATION_TOO_FREQUENT) Text="Too frequent sending of notifications";
|
||
if(Error==ERR_FTP_NOSERVER) Text="FTP server is not specified";
|
||
if(Error==ERR_FTP_NOLOGIN) Text="FTP login is not specified";
|
||
if(Error==ERR_FTP_FILE_ERROR) Text="File not found in the MQL5\\Files directory to send on FTP server";
|
||
if(Error==ERR_FTP_CONNECT_FAILED) Text="FTP connection failed";
|
||
if(Error==ERR_FTP_CHANGEDIR) Text="FTP path not found on server";
|
||
if(Error==ERR_BUFFERS_NO_MEMORY) Text="Not enough memory for the distribution of indicator buffers";
|
||
if(Error==ERR_BUFFERS_WRONG_INDEX) Text="Wrong indicator buffer index";
|
||
if(Error==ERR_CUSTOM_WRONG_PROPERTY) Text="Wrong ID of the custom indicator property";
|
||
if(Error==ERR_ACCOUNT_WRONG_PROPERTY) Text="Wrong account property ID";
|
||
if(Error==ERR_TRADE_WRONG_PROPERTY) Text="Wrong trade property ID";
|
||
if(Error==ERR_TRADE_DISABLED) Text="Trading by Expert Advisors prohibited";
|
||
if(Error==ERR_TRADE_POSITION_NOT_FOUND) Text="Position not found";
|
||
if(Error==ERR_TRADE_ORDER_NOT_FOUND) Text="Order not found";
|
||
if(Error==ERR_TRADE_DEAL_NOT_FOUND) Text="Deal not found";
|
||
if(Error==ERR_TRADE_SEND_FAILED) Text="Trade request sending failed";
|
||
if(Error==ERR_TRADE_CALC_FAILED) Text="Failed to calculate profit or margin";
|
||
if(Error==ERR_INDICATOR_UNKNOWN_SYMBOL) Text="Unknown symbol";
|
||
if(Error==ERR_INDICATOR_CANNOT_CREATE) Text="Indicator cannot be created";
|
||
if(Error==ERR_INDICATOR_NO_MEMORY) Text="Not enough memory to add the indicator";
|
||
if(Error==ERR_INDICATOR_CANNOT_APPLY) Text="The indicator cannot be applied to another indicator";
|
||
if(Error==ERR_INDICATOR_CANNOT_ADD) Text="Error applying an indicator to chart";
|
||
if(Error==ERR_INDICATOR_DATA_NOT_FOUND) Text="Requested data not found";
|
||
if(Error==ERR_INDICATOR_WRONG_HANDLE) Text="Wrong indicator handle";
|
||
if(Error==ERR_INDICATOR_WRONG_PARAMETERS) Text="Wrong number of parameters when creating an indicator";
|
||
if(Error==ERR_INDICATOR_PARAMETERS_MISSING) Text="No parameters when creating an indicator";
|
||
if(Error==ERR_INDICATOR_CUSTOM_NAME) Text="The first parameter in the array must be the name of the custom indicator";
|
||
if(Error==ERR_INDICATOR_PARAMETER_TYPE) Text="Invalid parameter type in the array when creating an indicator";
|
||
if(Error==ERR_INDICATOR_WRONG_INDEX) Text="Wrong index of the requested indicator buffer";
|
||
if(Error==ERR_BOOKS_CANNOT_ADD) Text="Depth Of Market can not be added";
|
||
if(Error==ERR_BOOKS_CANNOT_DELETE) Text="Depth Of Market can not be removed";
|
||
if(Error==ERR_BOOKS_CANNOT_GET) Text="The data from Depth Of Market can not be obtained";
|
||
if(Error==ERR_BOOKS_CANNOT_SUBSCRIBE) Text="Error in subscribing to receive new data from Depth Of Market";
|
||
if(Error==ERR_TOO_MANY_FILES) Text="More than 64 files cannot be opened at the same time";
|
||
if(Error==ERR_WRONG_FILENAME) Text="Invalid file name";
|
||
if(Error==ERR_TOO_LONG_FILENAME) Text="Too long file name";
|
||
if(Error==ERR_CANNOT_OPEN_FILE) Text="File opening error";
|
||
if(Error==ERR_FILE_CACHEBUFFER_ERROR) Text="Not enough memory for cache to read";
|
||
if(Error==ERR_CANNOT_DELETE_FILE) Text="File deleting error";
|
||
if(Error==ERR_INVALID_FILEHANDLE) Text="A file with this handle was closed, or was not opening at all";
|
||
if(Error==ERR_WRONG_FILEHANDLE) Text="Wrong file handle";
|
||
if(Error==ERR_FILE_NOTTOWRITE) Text="The file must be opened for writing";
|
||
if(Error==ERR_FILE_NOTTOREAD) Text="The file must be opened for reading";
|
||
if(Error==ERR_FILE_NOTBIN) Text="The file must be opened as a binary one";
|
||
if(Error==ERR_FILE_NOTTXT) Text="The file must be opened as a text";
|
||
if(Error==ERR_FILE_NOTTXTORCSV) Text="The file must be opened as a text or CSV";
|
||
if(Error==ERR_FILE_NOTCSV) Text="The file must be opened as CSV";
|
||
if(Error==ERR_FILE_READERROR) Text="File reading error";
|
||
if(Error==ERR_FILE_BINSTRINGSIZE) Text="String size must be specified, because the file is opened as binary";
|
||
if(Error==ERR_INCOMPATIBLE_FILE) Text="A text file must be for string arrays, for other arrays - binary";
|
||
if(Error==ERR_FILE_IS_DIRECTORY) Text="This is not a file, this is a directory";
|
||
if(Error==ERR_FILE_NOT_EXIST) Text="File does not exist";
|
||
if(Error==ERR_FILE_CANNOT_REWRITE) Text="File can not be rewritten";
|
||
if(Error==ERR_WRONG_DIRECTORYNAME) Text="Wrong directory name";
|
||
if(Error==ERR_DIRECTORY_NOT_EXIST) Text="Directory does not exist";
|
||
if(Error==ERR_FILE_ISNOT_DIRECTORY) Text="This is a file, not a directory";
|
||
if(Error==ERR_CANNOT_DELETE_DIRECTORY) Text="The directory cannot be removed";
|
||
if(Error==ERR_CANNOT_CLEAN_DIRECTORY) Text="Failed to clear the directory (probably one or more files are blocked and removal operation failed)";
|
||
if(Error==ERR_FILE_WRITEERROR) Text="Failed to write a resource to a file";
|
||
if(Error==ERR_FILE_ENDOFFILE) Text="Unable to read the next piece of data from a CSV file (FileReadString, FileReadNumber, FileReadDatetime, FileReadBool), since the end of file is reached";
|
||
if(Error==ERR_NO_STRING_DATE) Text="No date in the string";
|
||
if(Error==ERR_WRONG_STRING_DATE) Text="Wrong date in the string";
|
||
if(Error==ERR_WRONG_STRING_TIME) Text="Wrong time in the string";
|
||
if(Error==ERR_STRING_TIME_ERROR) Text="Error converting string to date";
|
||
if(Error==ERR_STRING_OUT_OF_MEMORY) Text="Not enough memory for the string";
|
||
if(Error==ERR_STRING_SMALL_LEN) Text="The string length is less than expected";
|
||
if(Error==ERR_STRING_TOO_BIGNUMBER) Text="Too large number, more than ULONG_MAX";
|
||
if(Error==ERR_WRONG_FORMATSTRING) Text="Invalid format string";
|
||
if(Error==ERR_TOO_MANY_FORMATTERS) Text="Amount of format specifiers more than the parameters";
|
||
if(Error==ERR_TOO_MANY_PARAMETERS) Text="Amount of parameters more than the format specifiers";
|
||
if(Error==ERR_WRONG_STRING_PARAMETER) Text="Damaged parameter of string type";
|
||
if(Error==ERR_STRINGPOS_OUTOFRANGE) Text="Position outside the string";
|
||
if(Error==ERR_STRING_ZEROADDED) Text="0 added to the string end, a useless operation";
|
||
if(Error==ERR_STRING_UNKNOWNTYPE) Text="Unknown data type when converting to a string";
|
||
if(Error==ERR_WRONG_STRING_OBJECT) Text="Damaged string object";
|
||
if(Error==ERR_INCOMPATIBLE_ARRAYS) Text="Copying incompatible arrays. String array can be copied only to a string array, and a numeric array - in numeric array only";
|
||
if(Error==ERR_SMALL_ASSERIES_ARRAY) Text="The receiving array is declared as AS_SERIES, and it is of insufficient size";
|
||
if(Error==ERR_SMALL_ARRAY) Text="Too small array, the starting position is outside the array";
|
||
if(Error==ERR_ZEROSIZE_ARRAY) Text="An array of zero length";
|
||
if(Error==ERR_NUMBER_ARRAYS_ONLY) Text="Must be a numeric array";
|
||
if(Error==ERR_ONEDIM_ARRAYS_ONLY) Text="Must be a one-dimensional array";
|
||
if(Error==ERR_SERIES_ARRAY) Text="Timeseries cannot be used";
|
||
if(Error==ERR_DOUBLE_ARRAY_ONLY) Text="Must be an array of type double";
|
||
if(Error==ERR_FLOAT_ARRAY_ONLY) Text="Must be an array of type float";
|
||
if(Error==ERR_LONG_ARRAY_ONLY) Text="Must be an array of type long";
|
||
if(Error==ERR_INT_ARRAY_ONLY) Text="Must be an array of type int";
|
||
if(Error==ERR_SHORT_ARRAY_ONLY) Text="Must be an array of type short";
|
||
if(Error==ERR_CHAR_ARRAY_ONLY) Text="Must be an array of type char";
|
||
if(Error==ERR_STRING_ARRAY_ONLY) Text="String array only";
|
||
if(Error==ERR_OPENCL_NOT_SUPPORTED) Text="OpenCL functions are not supported on this computer";
|
||
if(Error==ERR_OPENCL_INTERNAL) Text="Internal error occurred when running OpenCL";
|
||
if(Error==ERR_OPENCL_INVALID_HANDLE) Text="Invalid OpenCL handle";
|
||
if(Error==ERR_OPENCL_CONTEXT_CREATE) Text="Error creating the OpenCL context";
|
||
if(Error==ERR_OPENCL_QUEUE_CREATE) Text="Failed to create a run queue in OpenCL";
|
||
if(Error==ERR_OPENCL_PROGRAM_CREATE) Text="Error occurred when compiling an OpenCL program";
|
||
if(Error==ERR_OPENCL_TOO_LONG_KERNEL_NAME) Text="Too long kernel name (OpenCL kernel)";
|
||
if(Error==ERR_OPENCL_KERNEL_CREATE) Text="Error creating an OpenCL kernel";
|
||
if(Error==ERR_OPENCL_SET_KERNEL_PARAMETER) Text="Error occurred when setting parameters for the OpenCL kernel";
|
||
if(Error==ERR_OPENCL_EXECUTE) Text="OpenCL program runtime error";
|
||
if(Error==ERR_OPENCL_WRONG_BUFFER_SIZE) Text="Invalid size of the OpenCL buffer";
|
||
if(Error==ERR_OPENCL_WRONG_BUFFER_OFFSET) Text="Invalid offset in the OpenCL buffer";
|
||
if(Error==ERR_OPENCL_BUFFER_CREATE) Text="Failed to create an OpenCL buffer";
|
||
if(Error==ERR_OPENCL_TOO_MANY_OBJECTS) Text="Too many OpenCL objects";
|
||
if(Error==ERR_OPENCL_SELECTDEVICE) Text="OpenCL device selection error";
|
||
if(Error==ERR_WEBREQUEST_INVALID_ADDRESS) Text="Invalid URL";
|
||
if(Error==ERR_WEBREQUEST_CONNECT_FAILED) Text="Failed to connect to specified URL";
|
||
if(Error==ERR_WEBREQUEST_TIMEOUT) Text="Timeout exceeded";
|
||
if(Error==ERR_WEBREQUEST_REQUEST_FAILED) Text="HTTP request failed";
|
||
if(Error==ERR_NOT_CUSTOM_SYMBOL) Text="A custom symbol must be specified";
|
||
if(Error==ERR_CUSTOM_SYMBOL_WRONG_NAME) Text="The name of the custom symbol is invalid. The symbol name can only contain Latin letters without punctuation, spaces or special characters (may only contain '.', '_', '&' and '#'). It is not recommended to use characters <, >, :, ', /,\\, |, ?, *.";
|
||
if(Error==ERR_CUSTOM_SYMBOL_NAME_LONG) Text="The name of the custom symbol is too long. The length of the symbol name must not exceed 32 characters including the ending 0 character";
|
||
if(Error==ERR_CUSTOM_SYMBOL_PATH_LONG) Text="The path of the custom symbol is too long. The path length should not exceed 128 characters including 'Custom', the symbol name, group separators and the ending 0";
|
||
if(Error==ERR_CUSTOM_SYMBOL_EXIST) Text="A custom symbol with the same name already exists";
|
||
if(Error==ERR_CUSTOM_SYMBOL_ERROR) Text="Error occurred while creating, deleting or changing the custom symbol";
|
||
if(Error==ERR_CUSTOM_SYMBOL_SELECTED) Text="You are trying to delete a custom symbol selected in Market Watch";
|
||
if(Error==ERR_CUSTOM_SYMBOL_PROPERTY_WRONG) Text="An invalid custom symbol property";
|
||
if(Error==ERR_CUSTOM_SYMBOL_PARAMETER_ERROR) Text="A wrong parameter while setting the property of a custom symbol";
|
||
if(Error==ERR_CUSTOM_SYMBOL_PARAMETER_LONG) Text="A too long string parameter while setting the property of a custom symbol";
|
||
if(Error==ERR_CUSTOM_TICKS_WRONG_ORDER) Text="Ticks in the array are not arranged in the order of time";
|
||
|
||
return Text;
|
||
} |