Article contains detailed instructions on use of the Arbitrage Visualiser Pro MT5 system and its main characteristics.
This arbitration system is the advanced version of MT4 system which incorporated the most effective functions for arbitration on delays. Many functions are similar to functions in version MT4 therefore, this manual is suitable also for it.
It is supposed that the reader already has an idea of latency arbitration, and the basics of this type of trade won't be covered here.
Initially, Arbitrage Visualiser was created for check of a hypothesis of a possibility of trade on lagging of quotations therefore possesses excellent visualization of deviations of quotations of the current broker and feed. The panel of deviations displays the status of connection of the added feed, the current deviation, the maximum deviation for all history, the minimum deviation for all history, the delay of quotations in milliseconds corresponding to the maximum deviation on the module. In the course of work, the panel accumulates history of deviations, thus, you can determine whether these deviations are sufficient for trade, and also to see delays. If delays (Delay column) negative, it means that your broker quicker than connected feed, and trade in case of such sheaf won't be effective. Moreover, the adviser's algorithm not will trade in case of negative delays, thus, you can be quiet on the fact that connected not correct (slow) feed.
Subsequently, Arbitrage Visualiser developed into full-fledged trade system which, at the moment, is considered most convenient (userful) among all arbitration systems. And it is valid, any of the existing arbitration systems has no such convenient system of connection of feeds, and especially has no the excellent and perfected algorithm of determination of delays. Plus to it, the user has an opportunity to connect up to five sources of quotations at the same time, having created thus aggregated feed that allows to have more deviations for trade and to compare the speed of feeds. That is you can compare delays not only between the traded broker and feed, but also between feeds. High-quality variance analysis and delays allows to reveal profitable sheaves already at an early stage, without losing money. You don't need to lose money to understand what broker quicker, the system already made it for you.
So, we will consider the first steps on installation of the adviser on your computer.
Transfer the expert to the schedule of a symbol necessary to you, the settings window will open:
- SelectAccountType sets an operating mode of the adviser - the traded account or the subordinate feed.
- SlippageForInstantExecution sets the amount of slipping for instant of execution of orders. This execution meets quite seldom, but if you trade on the account of this kind, then you can set the amount of the maximum slipping, in points.
- ShowEntryPricesLables - to show on a charts of a tag for the posted price of the order. Are useful in case of the visual analysis of slipping. Are by default disabled not to encumber the schedule with price tags.
- EnableComments - adds comments to positions, showing in them the posted price of buy or sell. It is also necessary for the analysis of slipping. You can compare the posted price to the actual opening price of the order, to thereby determine slipping. It is by default disabled.
- UseCustomFillingType - sets the modes of performance of the orders IOC, FOK, or RETURN. It is determined automatically, depending on settings of the broker. If for any reason (not correct settings at the broker) your requests are performed with errors, you can change FillingMode manually. It shall be by default disabled.
In the Trading account mode, the panel looks as follows:
Now let's consider the main information fields and settings of system before passing directly to connection of feeds.
In the heading of the panel the current spread, stop levels and speed of calculation of an algorithm in milliseconds is displayed. This information is useful to determination of restrictions on the maximum spread and stop levels, and also to measurement of performance of your VPS. About it a little later.
LIST OF DATA FEEDS displays the list of all connected feeds, by default all fields "Empty". After addition of one or several feeds, the status of "Connect" will be displayed, the Dev parameters - the current deviation of the prices between the broker and feed, Max and Min of a deviation for all history and Delay - a delay in milliseconds will also be available.
This panel is very important for a research of delays. So, relying on the Max and Min parameters, you can determine what maximum deviations were, and the field Delay will tell you about what delay was at the same time. If Max and Min not much more exceed spread level, then it is necessary to wait when the market is volatile, and anew to check these values. If these values by 2 or more times exceed spread, on such deviations it is already possible to do trade. At the same time, Delay shall be in a positive zone if it with a minus sign - it means that your broker quicker than feed therefore you need to change a sheaf the broker-feed, it is possible, simple to chabge their places. Also, compare the average time of performance of orders of your broker to the Delay parameter if average execution of orders is more, it means that orders can be performed with slipping or won't manage to open until completion of an arbitrage situation. It is necessary to check transaction roundtrip, that is opening time + a closing time.
After you determined what deviations the current team of brokers has, you shall set deviations for trade. The fields "Open criteria" are responsible for it. Here you can set deviations in case of which the transaction will be open. If, in the moment, these deviations are reached, on condition of a positive temporary delay which is set in the respective field, then the transaction will open. Deviations for buy and sell orders are set separately, the delay parameter general. It is recommended to establish deviations at least twice more than the size of spread, also to be guided by historical deviations of Max and Min. At the same time, setting Delay shouldn't be exposed too big, there will be 15 milliseconds enough. Only in rare instances when quotations of the broker, for some reason, very strongly lag behind, this parameter can be increased. If, for any reason, orders are closed in minus, it is possible because of slipping or big time of execution of orders. You shall analyse these indicators independently, using the built-in means.
Now let's be determined with closing of orders. AVP5 has 2 methods of closing - on convergence and on a trailing stop. Let's consider closing on convergence now. The "Close when converge" parameter is responsible for it.
After when the transaction opened on a discrepancy (delay) of quotations, we will conditionally call this situation divergence (a discrepancy of the prices), we have an opportunity to close the transaction in case of their return convergence. If we establish value 0 in the field of "Close when converge", then transactions will be closed in case of the return convergence of the prices (on convergence). As movement can continue in the direction of an open position, sometimes it makes a sense not to close the transaction in case of convergence, and to wait still some time. In this case, you can reset 0 with positive value, usually it shall be no more Open criteria/3. In this case, transactions will be closed when forming the return divergence that happens rather often in the volatile market. Thus, you can extend the term of life of a position and get more profits. On convergence only profitable positions are closed if at the time of convergence the positions is at a loss, then it won't be closed before gets a profit and there will be a repeated signal.
Other transactions if convergence didn't occur, will be closed on a trailing stop. And, there are 2 types a trailing stop - real, with the actual exposure of feet of orders and virtual. Each type has pluses and minuses, here it is necessary to choose the option which is most suitable for you. The real trailing allows you not to be afraid of breaks of communication with the broker, or other engineering problems, but is sensitive to the level of feet of stop level. If stop levels of the broker not zero, then you aren't able to expose a trailing closer than value stop level. The virtual trailing allows to hide levels of stops from the broker, and also to expose the trailing size at any size, ignoring the size of a stop levels, but is sensitive to communication breaks as the system won't be able to send the order to position closing.
In addition, you can use "Use break even" function. This function works as follows. Initial stop loss is exposed at a size Trailing step + spread. Then, if break even is disabled, the position begins to be trailing immediately if function is enebled , then the trailing of orders is carried out only after there is an opportunity to transfer a position to break even, thus it at first is transferred to a break even and then is trailing.
If, at the time of operation of a signal on position closing on convergence it already is in a break even, then position closing doesn't occur and it continues trailing. It increases time of deduction of a pusition and potential profit.
Now, let's consider process of connection of other broker as a feed. It very simple also takes literally several seconds. For descriptive reasons, process of connection of a feed is animated.
Set EA on the broker who will be used as a feed, in the Slave account mode on the necessary trade symbol. You can change the offered name of a feed, or to leave it without change. Then just copy this name in one of five fields in a master panel. When there is a change of quotations, and also all internal procedures will be taken place in the adviser, the status of "Connect" will be displayed and remaining fields will begin to be updated. If quotations on symbols differ (for example it is the future contract for euro against FX euro dollar), the system automatically will shift quotations on the necessary value therefore they will be aligned and ready for arbitration. In the course of operation, the system will periodically adjust shift. In a set of distribution of the adviser (if you acquired it completely, without rent) there is an additional script for connection of other feed from a third-party platform. Address the author for connection and setup of these feed. Also, the system has unlimited opportunities for connection of any suppliers of quotations, including the FIX protocol and other platforms from third-party developers.
Let's pass directly to a configuration of a platform and we will fill remaining parameters. It is necessary to mark that you can change these parameters in the course of operation, without reset of the adviser. Also, the adviser remembers all settings for this character, and again loads them in case of reset of the terminal.
- Orders magic - sets magic for orders if in the terminal several experts trade. If there is only EA, it is recommended to expose 0, for more hidden trade.
- Max spread/StopLvls - sets restriction above which the system won't trade. If the broker strongly expanded spread or stop levels. It is recommended to set the most admissible for you value. It is worth marking that in the mode of the virtual trailing the stop levels are ignored.
- Lot/contr - size sets the size of lot or the contract.
- Trailing step - value of original stop and trailing, is by default used the virtual trailing.
- Minimum profit - the size of the minimum profit for a position, in deposit currency. If the profit is lower than the given level, the position won't be closed on convergence. The adviser considers the size of the commission, but some brokers calculate the commission at the end of the day therefore if you know the size of the commission for the transaction, then you can set this value, thus position will always pay back the commission. By default 0.
- Use break even - to use at first a breakeven and then to trailing a position, or not.
- Minimum pos lifetime - minimum time of holding of a positions. Some brokers set restrictions for minimum time holding of lthe positions, canceling positions which have small duration. If you work with such broker, then set this parameter, in seconds. By default 0.
- Use limit orders - to use limit orders for trade. The adviser can expose limit orders inside spread, depending on the broker's conditions. If it is impossible, limit orders will be exposed at the closest distance from the price. It is by default disabled.
- Use stop orders - to use stop orders for trade. Are exposed at the minimum distance from the price, it is by default disabled.
- Pending orders liftime - time holding of the postponed order if it wasn't executed. By default 5 seconds.
Examples of transactions in the chart:
An example of the system working for 4 full days on a real account: