В исполняющей подсистеме клиентского терминала имеется возможность сохранения кода ошибки в случае ее возникновения при выполнении mql-программы. Для каждой исполняемой mql-программы предусмотрена своя собственная специальная переменная last_error. Перед запуском функции OnInit() переменная last_error обнуляется. В случае возникновения патовой ситуации во время вычислений или во время вызова встроенной функции переменная last_error принимает соответствующий код ошибки. Значение, сохраненное в этой переменной, можно получить при помощи функции GetLastError(). При этом переменная last_error обнуляется.
Существует ряд критических ошибок, при возникновении которых выполнение программы немедленно завершается:
Константа | Значение | Описание |
ERR_WRONG_FUNCTION_POINTER | 4001 | При вызове внутренней функции обнаружен неправильный указатель вызываемой функции |
ERR_NO_MEMORY_FOR_CALL_STACK | 4003 | При вызове внутренней функции невозможно перераспределить память для стека вызовов функции |
ERR_RECURSIVE_STACK_OVERFLOW | 4004 | При рекурсивном вызове функции исчерпан стек данных |
ERR_NO_MEMORY_FOR_PARAM_STRING | 4006 | При вызове внутренней функции невозможно распределить память для передачи строки в качестве параметра функции |
ERR_NO_MEMORY_FOR_TEMP_STRING | 4007 | Невозможно распределить временный буфер для операций со строками |
ERR_NO_MEMORY_FOR_ARRAYSTRING | 4010 | При присвоении невозможно перераспределить память для строки в массиве |
ERR_TOO_LONG_STRING | 4011 | При присвоении слишком длинная результатная строка для помещения в служебный буфер (невозможно перераспределить память для служебного буфера) |
ERR_REMAINDER_FROM_ZERO_DIVIDE | 4012 | Деление на 0 при взятии остатка от деления |
ERR_ZERO_DIVIDE | 4013 | Деление на 0 |
ERR_UNKNOWN_COMMAND | 4014 | Неизвестная инструкция |
Если выполнение программы было прервано из-за критической ошибки, то при следующем запуске функции OnTick или функции OnDeinit можно прочитать код этой ошибки, используя функцию GetLastError(). Перед выполнением функций OnTick и OnDeinit переменная last_error не сбрасывается.
Существует ряд критических ошибок, связанных с вызовом импортируемых функций, при возникновении которых выполнение эксперта или индикатора немедленно прерывается и функция OnTick не запускается до тех пор, пока не будет произведена переинициализация эксперта или индикатора.
Константа | Значение | Описание |
ERR_CANNOT_LOAD_LIBRARY | 4018 | При вызове импортируемой функции произошла ошибка загрузки dll или ex4-библиотеки |
ERR_CANNOT_CALL_FUNCTION | 4019 | При вызове импортируемой из функции выяснилось, что dll или ex4-библиотека не содержит эту функцию |
ERR_DLL_CALLS_NOT_ALLOWED | 4017 | При вызове импортируемой из dll функции выяснилось, что установлен запрет на вызовы из dll |
ERR_EXTERNAL_CALLS_NOT_ALLOWED | 4020 | При вызове импортируемой из ex4-библиотеки выяснилось, что установлен запрет на вызовы из ex4 |
ERR_FUNCTION_NOT_CONFIRMED | 4060 | Не подтвержден вызов импортируемой из dll функции. Если нажата кнопка «Нет», то выполнение программы не прерывается. Если нажата кнопка «Отмена», то выполнение программы немедленно прерывается |
Остальные ошибки не прерывают работу программы.
Константа | Значение | Описание |
ERR_ARRAY_INDEX_OUT_OF_RANGE | 4002 | Обращение к элементу массива, номер которого находится за пределами массива |
ERR_NOT_INITIALIZED_STRING | 4008 | Неинициализированная строка; строке, участвующей в каком-либо выражении, не присвоено никакого значения |
ERR_NOT_INITIALIZED_ARRAYSTRING | 4009 | Неинициализированная строка в массиве строк; строке, участвующей в каком-либо выражении, не присвоено никакого значения |
ERR_NO_MEMORY_FOR_RETURNED_STR | 4021 | Невозможно перераспределить память для строки, возвращаемой из функции |
Никогда не генерируется код ошибки ERR_NO_MQLERROR (4000).
Имеется ряд ошибок, которые случаются только в результате сбоя. При постоянном проявлении какой-либо из нижеуказанных ошибок следует связаться с разработчиками.
Константа | Значение | Описание |
ERR_WRONG_FUNCTION_POINTER | 4001 | При вызове внутренней функции обнаружен неправильный указатель вызываемой функции |
ERR_UNKNOWN_COMMAND | 4014 | Неизвестная инструкция |
ERR_NOT_INITIALIZED_ARRAY | 4016 | Неинициализированный массив |
ERR_INVALID_FUNCTION_PARAMSCNT | 4050 | Неверное количество параметров, передаваемых во встроенную функцию |
ERR_STRING_FUNCTION_INTERNAL | 4052 | Ошибка при работе со строками |
ERR_TRADE_ERROR | 4067 | Ошибка при выполнении торговой функции |
ERR_SOME_OBJECT_ERROR | 4207 | Ошибка при работе с объектами |
Существует несколько встроенных функций, которые всегда меняют значение переменной last_error.
Функция | Коды ошибок |
AccountFreeMarginCheck | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_UNKNOWN_SYMBOL (4106), ERR_NOT_ENOUGH_MONEY (134) |
OrderSend | ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_PRICE_PARAM (4107), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), ERR_LONGS_NOT_ALLOWED (4110), ERR_SHORTS_NOT_ALLOWED (4111), коды от торгового сервера |
OrderClose | ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_PRICE_PARAM (4107), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера |
OrderCloseBy | ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера |
OrderDelete | ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера |
OrderModify | ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_PRICE_PARAM (4107), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера |
GetLastError | ERR_NO_ERROR (0) |
Некоторые функции меняют значение переменной last_error только в случае возникновения какой-либо ошибки.
Функция | Коды ошибок |
ArrayBsearch | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArrayCopy | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCOMPATIBLE_ARRAYS (4056), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArrayCopyRates | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCOMPATIBLE_ARRAYS (4056), ERR_STRING_PARAMETER_EXPECTED (4062), |
ArrayCopySeries | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCORRECT_SERIESARRAY_USING (4054), ERR_INCOMPATIBLE_ARRAYS (4056), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_HISTORY_WILL_UPDATED (4066), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArrayDimension | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053) |
ArrayGetAsSeries | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053) |
ArrayInitialize | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArrayIsSeries | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053) |
ArrayMaximum | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArrayMinimum | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArrayRange | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArrayResize | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
ArraySetAsSeries | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053) |
ArraySize | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053) |
ArraySort | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCORRECT_SERIESARRAY_USING (4054), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileClose | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileDelete | ERR_WRONG_FILE_NAME (4101), ERR_SOME_FILE_ERROR (4100) |
FileFlush | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileIsEnding | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileIsLineEnding | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileOpen | ERR_TOO_MANY_OPENED_FILES (4102), ERR_WRONG_FILE_NAME (4101), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_SOME_FILE_ERROR (4100), ERR_CANNOT_OPEN_FILE (4103) |
FileOpenHistory | ERR_TOO_MANY_OPENED_FILES (4102), ERR_WRONG_FILE_NAME (4101), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_SOME_FILE_ERROR (4100), ERR_CANNOT_OPEN_FILE (4103) |
FileReadArray | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_ARRAY_ERROR (4053), ERR_SOME_FILE_ERROR (4100), ERR_END_OF_FILE (4099) |
FileReadDouble | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_END_OF_FILE (4099) |
FileReadInteger | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_END_OF_FILE (4099) |
FileReadNumber | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100), ERR_END_OF_FILE (4099) |
FileReadString | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100), ERR_TOO_LONG_STRING (4011), ERR_END_OF_FILE (4099) |
FileSeek | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileSize | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileTell | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
FileWrite | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_SOME_FILE_ERROR (4100) |
FileWriteDouble | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100) |
FileWriteInteger | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100) |
FileWriteString | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100), ERR_STRING_PARAMETER_EXPECTED (4062) |
FileWriteArray | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100), |
GlobalVariableCheck | ERR_STRING_PARAMETER_EXPECTED (4062) |
GlobalVariableDel | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLES_PROCESSING (4057) |
GlobalVariableGet | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLE_NOT_FOUND (4058) |
GlobalVariablesDeleteAll | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLES_PROCESSING (4057) |
GlobalVariableSet | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLES_PROCESSING (4057) |
GlobalVariableSetOnCondition | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLE_NOT_FOUND (4058) |
iCustom | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
технические индикаторы, функции доступа к таймсериям | ERR_HISTORY_WILL_UPDATED (4066) |
технические индикаторы OnArray | ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053) |
IndicatorBuffers | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
IndicatorDigits | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
IndicatorShortName | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
MarketInfo | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_UNKNOWN_SYMBOL (4106), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
MathArccos | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
MathArcsin | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
MathMod | ERR_ZERO_DIVIDE (4013) |
MathSqrt | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
MessageBox | ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_STRING_PARAMETER_EXPECTED (4062) |
ObjectCreate | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_UNKNOWN_OBJECT_TYPE (4203), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_OBJECT_ALREADY_EXISTS (4200), ERR_NO_SPECIFIED_SUBWINDOW (4206) |
ObjectDelete | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202) |
ObjectDescription | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202) |
ObjectFind | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204) |
ObjectGet | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_PROPERTY (4201) |
ObjectGetFiboDescription | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_TYPE (4203), ERR_UNKNOWN_OBJECT_PROPERTY (4201) |
ObjectGetShiftByValue | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_OBJECT_COORDINATES_ERROR (4205) |
ObjectGetValueByShift | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_OBJECT_COORDINATES_ERROR (4205) |
ObjectMove | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_OBJECT_DOES_NOT_EXIST (4202) |
ObjectName | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_ARRAY_INDEX_OUT_OF_RANGE (4002) |
ObjectSet | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_PROPERTY (4201) |
ObjectSetText | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202) |
ObjectSetFiboDescription | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_TYPE (4203), ERR_UNKNOWN_OBJECT_PROPERTY (4201) |
ObjectType | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202) |
OrderClosePrice | ERR_NO_ORDER_SELECTED (4105) |
OrderCloseTime | ERR_NO_ORDER_SELECTED (4105) |
OrderComment | ERR_NO_ORDER_SELECTED (4105) |
OrderCommission | ERR_NO_ORDER_SELECTED (4105) |
OrderExpiration | ERR_NO_ORDER_SELECTED (4105) |
OrderLots | ERR_NO_ORDER_SELECTED (4105) |
OrderMagicNumber | ERR_NO_ORDER_SELECTED (4105) |
OrderOpenPrice | ERR_NO_ORDER_SELECTED (4105) |
OrderOpenTime | ERR_NO_ORDER_SELECTED (4105) |
OrderPrint | ERR_NO_ORDER_SELECTED (4105) |
OrderProfit | ERR_NO_ORDER_SELECTED (4105) |
OrderStopLoss | ERR_NO_ORDER_SELECTED (4105) |
OrderSwap | ERR_NO_ORDER_SELECTED (4105) |
OrderSymbol | ERR_NO_ORDER_SELECTED (4105) |
OrderTakeProfit | ERR_NO_ORDER_SELECTED (4105) |
OrderTicket | ERR_NO_ORDER_SELECTED (4105) |
OrderType | ERR_NO_ORDER_SELECTED (4105) |
PlaySound | ERR_WRONG_FILE_NAME (4101) |
SendFTP | ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_STRING_PARAMETER_EXPECTED (4062) |
SendMail | ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_FUNCTION_NOT_CONFIRMED (4060), ERR_SEND_MAIL_ERROR (4061) |
SetIndexArrow | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
SetIndexBuffer | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCORRECT_SERIESARRAY_USING (4054), ERR_INCOMPATIBLE_ARRAYS (4056) |
SetIndexDrawBegin | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
SetIndexEmptyValue | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
SetIndexLabel | ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_STRING_PARAMETER_EXPECTED (4062) |
SetIndexShift | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
SetIndexStyle | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
SetLevelValue | ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
Sleep | ERR_CUSTOM_INDICATOR_ERROR (4055) |
StringFind | ERR_STRING_PARAMETER_EXPECTED (4062) |
StringGetChar | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NOT_INITIALIZED_STRING (4008), ERR_ARRAY_INDEX_OUT_OF_RANGE (4002) |
StringLen | ERR_STRING_PARAMETER_EXPECTED (4062) |
StringSetChar | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_NOT_INITIALIZED_STRING (4008), ERR_TOO_LONG_STRING (4011), ERR_ARRAY_INDEX_OUT_OF_RANGE (4002) |
StringSubstr | ERR_STRING_PARAMETER_EXPECTED (4062), ERR_TOO_LONG_STRING (4011) |
StringTrimLeft | ERR_STRING_PARAMETER_EXPECTED (4062) |
StringTrimRight | ERR_STRING_PARAMETER_EXPECTED (4062) |
WindowIsVisible | ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059) |
WindowFind | ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NOT_INITIALIZED_STRING (4008) |
WindowHandle | ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NOT_INITIALIZED_STRING (4008) |
WindowScreenShot | ERR_WRONG_FILE_NAME (4101), ERR_INVALID_FUNCTION_PARAMVALUE (4051) |
Следующие функции не меняют значение переменной last_error ни при каких условиях:
AccountBalance, AccountCompany, AccountCredit, AccountCurrency, AccountEquity, AccountFreeMargin, AccountLeverage, AccountMargin, AccountName, AccountNumber, AccountProfit, AccountServer, Alert, CharToStr, Comment, Day, DayOfWeek, DayOfYear, DoubleToStr, GetTickCount, HideTestIndicators, Hour, IndicatorCounted, IsConnected, IsDemo, IsDllsAllowed, IsExpertEnabled, IsLibrariesAllowed, IsOptimization, IsStopped, IsTesting, IsTradeAllowed, IsTradeContextBusy, IsVisualMode, MathAbs, MathArctan, MathCeil, MathCos, MathExp, MathFloor, MathLog, MathMax, MathMin, MathPow, MathRand, MathRound, MathSin, MathSrand, MathTan, Minute, Month, NormalizeDouble, ObjectsDeleteAll, ObjectsTotal, OrderSelect, OrdersHistoryTotal, Period, Print, RefreshRates, Seconds, SetLevelStyle, StringConcatenate, StrToTime, StrToDouble, Symbol, TerminalCompany, TerminalName, TerminalPath, TimeCurrent, TimeDay, TimeDayOfWeek, TimeDayOfYear, TimeHour, TimeLocal, TimeMinute, TimeMonth, TimeSeconds, TimeToStr, TimeYear, UninitializeReason, WindowBarsPerChart, WindowFirstVisibleBar, WindowPriceOnDropped, WindowTimeOnDropped, WindowsTotal, WindowOnDropped, WindowRedraw, WindowXOnDropped, WindowYOnDropped, Year.