- The Time & Sales feature has been added to the Market Depth.
What is Time & Sales?
The Time & Sales feature provides the price and time of every trade executed on the exchange. Information on every trade includes the time when the trade was executed, its direction (buying or selling), as well as the price and volume of the trade. For easy visual analysis, different colors are used to indicate different trade directions: blue is used for Buy trades, pink for Sell trades, green means undefined direction. Trade volumes are additionally displayed in a histogram.
How Time & Sales can help you understand the market
The Time & Sales feature provides tools for a more detailed market analysis. The trade direction suggests who has initiated the trade: the buyer or the seller. The volume of trades allows traders to understand the behavior of market participants: whether the trades are performed by large or small market players, as well as estimate the activity of the players. The trade execution speed and the volume of trades on various price levels help traders to estimate the importance of the levels.
How to use Time & Sales data
In addition to the visual analysis of the table, you can save the details of trades to a CSV file. Further, they can be analyzed using any other software, such as MS Excel. The file contains comma-separated data:Time,Bid,Ask,Last,Volume,TypeIf you want to save data to a file, open the context menu:
The broker's platform should be updated to version 1375, in order to enable proper detection of trade direction.
- The time between the arrival of a new tick/Market depth change and call of OnTick and OnCalculate has been significantly reduced. Also the time between the arrival of a trade state change event and call of OnTick and OnCalculate has been reduced. Now MQL5 programs provide a faster response to market events.
- Trade requests are now sent faster when extended authentication with SSL certificates is used.
- User interface translation into Persian has been updated.
- Fixed display of SL/TP setting commands in the context menu of the chart when working in the hedging mode.
- A new tester feature allows requesting tick history
while testing using the CopyTicks function. In earlier versions, access
to ticks was not available in the Strategy Tester.
- In the "Every tick" mode, the function will return the history of generated ticks. It is possible to request up to 128,000 last ticks.
- In the "Every tick based on real ticks" mode, the
function will return the history of real ticks. The depth of the
requested data depends on the availability of history data. However,
note that last 128,000 ticks are cached in the Strategy Tester, and the
request will be performed quickly. A deeper history is requested from a
hard disk, so the request execution can take much more time.
- The function will not work in the modes "Open price only"
and "1 minute OHLC", because tick history is not created in these
- Added support for milliseconds. In previous versions, the time quantum in the Strategy Tester was equal to one second.
- Now the EventSetMillisecondTimer and Sleep functions are more accurate in the Tester.
accuracy of tick feeding during multi-currency EA testing has been
increased. In earlier versions, if one second contained multiple ticks
(i.e. the tick volume of a one-minute bars exceeded 60), the same time
was set for all these ticks. It does not matter when testing
single-currency Expert Advisor, because ticks are sequentially passed to
the Expert Advisor. However, when you test an Expert Advisor on
multiple pairs, it is important to know the pair, from which the tick
has arrived first. In earlier versions, ticks of each symbol were passed
to the Expert Advisor sequentially: first, all the ticks within one
second for one symbol, then all the ticks for another symbol. Now they
are sent taking into account milliseconds.
When real ticks are used in testing, milliseconds are taken from the source tick data. When ticks are generated, milliseconds are set in accordance with the tick volume. For example, if 3 ticks fit within one second, their millisecond time will be equal to 000, 333 and 666.
- In the "Open prices only" and "1 minute OHLC" modes,
pending and SL/TP orders are now executed at the requested price, not
the current price at the time of execution. The algorithm of execution
at market prices used in accurate modes (every tick and real ticks), is
not suitable for less accurate modes. In some modes intermediate ticks
are not generated, therefore the difference between the requested order
price and the current price (Open or OHLC) can be significant. Execution
of orders at the requested price in the "Open prices only" and "1
minute OHLC" provides more accurate testing results.
- Added support for forward testing in the visual mode.
Now two separate windows are opened for back and forward testing,
allowing users to compare Expert Advisor performance on different time
The forward testing window is only opened after testing on the main period is completed.
- Now, instead of the margin level, the load on the
deposit is displayed on the main testing chart. The load is calculated
as the margin/equity ratio.
Fixed calculation of commission as a percentage per annum during testing.
Fixed calculation and display of balance on the chart generated in the process of testing.
- The behavior of the OrderSend function during order placing,
modification, and canceling has changed. The changes only apply to
orders sent to external trading systems. In earlier version, OrderSend
function control was returned after the order has been successfully
placed (handled) on the broker's server. Now the control is only
returned after the broker's server receives a notification from an
external trading system notifying that the order has been successfully
placed in that system.
The below diagram shows the previous (red arrow) and current behavior of the function:
- A new field in the MqlTradeResult structure:
retcode_external - an error code in the external trading system. The use
and types of these errors depend on the broker and the external trading
system, to which trading operations are sent. For example,
retcode_external values filled by Moscow Exchange differ from those
returned by DGCX.
- New properties in the ENUM_CHART_PROPERTY_STRING enumeration: CHART_EXPERT_NAME and CHART_SCRIPT_NAME. Now, the ChartGetString function allows users to find out the name of an Expert Advisor and/or script attached to a chart which is defined by the chart_id parameter.
- Fixed occasional error, due to which copying of the 'close by' operation could fail.
- Improved automated matching of currency pairs containing RUB and RUR.
- Fixed sorting by product category.
- Fixed setting of focus in the replace text field when opening a replace dialog box.
- Fixed replacing of multiple text occurrences when you search upwards starting from the current positions.