在客户端程序运行子系统时,执行一个MQL4程序发生了异外情况,其错误代码将被保存下来。对于每一个MQL4程序执行,存在一个特殊的last_error变量。在init()函数运行之前,last_error变量必须重置为零。如果在计算阶段或调用内置函数时发生错误,last_error变量会收到相应的错误代码。存储在这个变量中的值可以用GetLastError()函数访问,之后,last_error变量将重置为零。
这里罗列了直接导致程序立即停止运行的关键错误:
如果在产生致命错误时程序停止了工作,这些错误代码可能被下次启动的程序用GetLastError()函数读取,也可被非初始化函数读取。在程序或非初始化函数开始运行之前,last_error变量不会归零。
这里罗列了调用导入函数时发生的致命错误,这些错误会引起智能交易或自定义指标立即停止启动函数的执行,直到用户重新初始化为止。
其他错误不中断程序执行。
从不产生ERR_NO_MQLERROR (4000)代码。
这里罗列了可能只是由于软件或硬件故障而产生的许多错误。如果下列描述的错误反复出现,应与开发商联络。
下面这些函数会经常的修改last_error变量的值(即使没有发生错误也可能会修改last_error变量的值)。
下面这些函数只有发生错误的时候才会修改last_error变量值。
下面的函数从不改变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, WindowRedraw, WindowTimeOnDropped, WindowsTotal, WindowOnDropped, WindowXOnDropped, WindowYOnDropped, Year
斑马投诉温馨提示:投资有风险,交易需谨慎!