Added the OrderCheck function. The function checks the correctness of
trade request filling, the availability of required funds and returns
the state of the client's account after the specified trade funсtion is
MQL5: Added the OrderCalcMargin function. The function
calculates the margin required for the specified order type, on the
current account, in the current market environment.
Added the OrderCalcProfit function. The function calculates the profit
for the current account and market environment, based on the parameters
MQL5: Added symbol properties:
SYMBOL_TRADE_TICK_VALUE_PROFIT and SYMBOL_TRADE_TICK_VALUE_LOSS -
price of the symbol tick for a profitable and loss position. The old
SYMBOL_TRADE_TICK_VALUE property returns the value analogous to
MQL5: Modified the behavior of
SYMBOL_TRADE_TICK_SIZE. For symbols with no clearly set tick size, the
point size is returned.
Optimized calculation of indicators. Now indicators are recalculated
only before the Expert Advisor call, which results in a much faster
speed of testing and optimization.
deinitialization of Expert Advisors after the stopping of testing.
Added control of going beyond testing for Expert Advisors with the
Sleep function in the loop.
Fixed crash during the work of Expert Advisors with symbols.
auto substitution of stop values for optimization.
Terminal: Optimized the drawing of a large number
of graphic objects.
Terminal: Fixed the settings of the
Terminal: Fixed the settings of selecting the
periods of displaying the graphic objects.
the error in the clearing of user
data during the deletion of an account in the Navigator window.
Added the defragmentation of history
Terminal: Added the binding of the
points, to the extremum during its magneting. During the
of the trend line to the maximum or minimum of the bar, the date of
binding point is indicated by the time of the minute bar, which
corresponds to the maximal (minimal) value. This way, the trend is
preserved when switched from a larger to a smaller timeframe.
When inputting your personal data into
the 'Opening Account' window, the postal code (ZIP) field is made
Terminal: Fixed the errors in the ordering of
charts through the commands: Cascade, Tile Horizontally, and Tile
Terminal: Fixed an error in the display of the
context menu of trading history.
MQL5: Added the
SERIES_LASTBAR_DATE property of
historical data: it indicates the opening time of the last bar of
specified symbol and period.
MQL5: Added the OBJ_NO_PERIODS
graphic objects visibility: it indicates that the graphic object
hidden at all periods. The constant OBJ_ALL_PERIODS now has the value of 0xffffffff (-1).
The object is not drawn in
The object is drawn in all
MQL5: Removed the default addition
during the output of numbers, in the Print function.
Added the HistorySelectByPosition function
- request of the orders and deals from history by the position ID.
Added the 'Open prices
only' testing mode – by the bar opening prices of the test period,
addition to the 'Every Tick' and '1 Minute OHLC'
MetaTester: Added a calculation of swaps for
testing, based on the current symbol settings of the trade server.
Fixed a time error, which arose in the
TimeCurrent function during the first call of OnInit - now it
the testing starting time, instead of to a zero value.
Added the CodeBase tab, showing
Expert Advisors, scripts, and indicators, published at the MQL5
options of filtering by category, the possibility of downloading,
automatic compilation are available.
fields for searching by files,
Articles, and CodeBase to the search field of the toolbar.
Terminal: Fixed display of the trading history on a chart.
failure of the network subsystem when at shut down of the terminal.
Optimized re-arrangement of history data caches.
Optimized plotting of the Trend Line graphical object.
Fixed re-arrangement of history data caches
by the "Refresh" chart command.
Terminal: Fixed update of the
MQL5 catalog by LiveUpdate for terminals where data are stored
separately form executable files.
Terminal: Fixed plotting of
the Price Label graphical object.
Terminal: Added highlighting
of SL or TP columns in the history of orders and trades when they
trigger by the corresponding stop order.
insertion of macros of a client's trade state in email messages, which
are sent at an alert triggering.
Added a dialog notifying about the necessity to restart the client
terminal when changing the interface language.
saving of a chart screen shot in Windows 7.
update of remote testing agents via LiveUpdate. Remote agents receive
updates from the updated client terminal. All updates of testing agents
are protected and checked like other components of the client terminal.
Added optimization mode "Optimization by symbols in Market Watch". In
this mode, and Expert Advisor is sequentially tested with specified
parameters on all symbols selected in Market Watch.
Added showing of the history download progress in the testing
configuration window and in the testing journal.
Added showing of the history loading state "on demand" in the list of
Fixed setting of the state of testing agents when connection is lost.
Fixed checking of whether connection with the server is established,
before starting to pump history data for testing. If there is no
connection, data pumping is not performed, testing and optimization are
conducted on available data.
MetaTester: Fixed return to the
optimization task queue when connection is lost or a testing agent is
Fixed error in the operation of an Expert Advisor when referring to
MetaTester: Added deleting of old files from
the journal testing (older than two days).
Removed keeping of testing journal during optimization for testing
agents - only starting optimization and final results are recorded.
Optimized start of local agents on weak computers and under aggressive
MetaEditor: Added tab Articles showing the
list of articles published on MQL5 filtered by categories.
Increased frequency of слуслштп the updates of help files.
In the debugger window, added showing of enumeration values as a text
MetaEditor: In the debugger window, fixed
showing of list of class members for the second and all next nesting
MetaEditor: Fixed checking the necessity to shift text
when window size changes.
MetaEditor: Improved editor behavior
when editing and saving Read-Only files.
Fixed checking of enumerations in switch\case.
errors reported on forum and in crash logs.
Optimized history pumping and construction.
MetaTester: Added pumping of the entire available history of a
tested symbol before the testing start.
pumping of the entire available history of a tested symbol (including
symbols required for calculations on cross rates) during the testing
process, if there is not enough history required for testing.
MetaTester: Fixed and optimized synchronization of history
between the client terminal and testing agents.
MetaTester: Added display of testing and optimization
completion percent for agents on the "Agents" tab of the client
MQL5: Fixed check of enumerations in switch\case.
Fixed looping in case of disagreement between versions of the client
terminal and compiler.
MQL5: Fixed values of enumerations
MQL5: Fixed returned error code when
ChartScreenShot method call fails.
MQL5: Fixed errors reported
on forum and in crash logs.
Terminal: Fixed an error in popup menu of
Terminal: Fixed an error in restoring of windows
after restart of the client terminal.
Terminal: Added processing
of trailing stops for pending orders. If position has the same
direction as pending order, the trailing stop is applied to the position
after the pending order execution.
Terminal: Fixed an error in
price checking when placing of pending orders.
an error in saving of screenshot ("Save As Picture") for computers with
Terminal: Fixed an error in saving of the
attachments in internal e-mail.
Terminal: Fixed an error in
placing of SL and TP (in points) in trade dialog.
Added font smoothing for graphic objects Text and Label.
Fixed an error in positioning of graphic objects of Label type.
Fixed crashlog errors and errors reported at Forum.
an error in access to property OBJPROP_TIMEFRAMES for graphic objects
(visibility of an object at timeframes).
MQL5: Fixed an error in
explicit typecasting of object pointer.
MQL5: Fixed an error in
typecasting of constant parameters of the function.
an error in calculation of property CHART_SHIFT_SIZE.
Added checking for the code of a symbol for graphic objects of Arrow
MQL5: Added new property of a symbol SYMBOL_SPREAD_FLOAT,
that indicates floating spread for the symbol.
MQL5: Added new
buffer identifiers LOWER_HISTOGRAM and UPPER_HISTOGRAM for the indicator
MQL5: Added unloading of Expert Advisors when
a critical error.
MQL5: Fixed an error in functions Copy* for
the request of the future bars.
MQL5: Fixed an error in graphic
object renaming in MQL5 programs.
MQL5: Fixed an error when
string copying to itself.
MQL5: Fixed an error in checking for a
match of parameter name with enmeration.
MQL5: Fixed crashlog
errors and errors reported at Forum.
MQL5: Added a new concept -
position identifier. After the opening of a new position, the position
gets the internal identifier, equal to the order ticket, as a result the
position occurred. Further this identifier is assigned to all orders
and deals, that changes the state of this position (increase, decrease,
reverse). The position identifier changes to zero when the current
position is totally closed. Added new properties for the position, order
and deal: POSITION_IDENTIFIER, ORDER_POSITION_ID and DEAL_POSITION_ID.
Added a hotkey (Ctrl-C) for the compilation errors copying in "Errors"
tab of "Toolbox" window.
MetaEditor: Fixed an error in alignment
of "do-while" cycles in Styler.
MetaEditor: Fixed an error in
checking of types of the parameters in autosubstitution.
Fixed an error in context help for source code keywords.
Fixed an error in class members autosubstitution according to the type
of returned by function.
MetaEditor: Fixed crashlog errors and
errors reported at Forum.