After Julia published a post on our Facebook page, we got a lot of questions about the settings she described.
We do not know what kind of settings she exactly use, but we can give you some recommendations which help to be successful.
To create conditions for which the broker will be interested in you and will try to help you, you need to understand a simple principle. The broker needs a volume in order to get high commission, and this volume shouldn’t be 100% toxic, because B-book is involved.
This is achieved in several ways:
- Using built-in strategies; Important update: In current version of VIP Multi-Leg Hedge Arbitrage Software we build-in pause between orders opening to emulate manual trading.
- Used any additional strategies or/and buy some signals for the slow account(s);
- Use special neural hedge arbitrage setting for high volume trading.
if the first two points we described in our previous articles, the third requires clarification.
the creation of a high volume is based on the idea that a small price difference between a fast and slow broker is created not by an arbitration situation caused by a latency, but by an arbitration situation caused by a price difference of various financial institutions.
This means that we need to create several hedge pairs for the same instrument and adjust different “difference to open” and “difference to close” for each hedge pair.
Important update: Current version of VIP Multi-Leg Arbitrage works on MT4 accounts without comments and magic numbers. Please do not use comments or magic numbers to create absolute visibility of manual trading. In this case the broker not only sees manual trading but not sees any comments or magic numbers - which are mainly used by trading robots.
“Order Life time” and “Trade pause” should be also adjusted. WE recommend to use
“Order Life time” = 120 sec or higher. This means that order should stay 120 sec in the system before diff to close parameters to come into effect.
“Trade pause“ = 120 sec or larger. – min time before opening a new arbitrage deal after closing of the previous one.
For example, we can create 3 hedge pair for each instrument:
- Hedge pair to make profit from arbitrage;
- Hege pair to be neutral (no profit/ no los) to cover only spread + commissions;
- Hedge pair with small losses;
The question is how to calculate the “difference to open” and “difference to close” for each hedge pair for the same trading instrument.
Because the program cannot determine the commission for every broker, you need to convert your commissions into spread and consider the spread when you calculate “difference to open” and “difference to close”.
We created MT4 Indicator which will help you to do this calculation.
Indicator has inputs:
"Broker comissions per mil(in USD)" - please check with your broker and enter;
"Only one side?" - true for FIX API Brokers and false for MT4 brokers;
"Lot size (in MT4 lots" - lot size in MT4 format (1 lot = 100,000).
MT4 broker charge commissions for round turn. The “round-turn commission”, covering entry and exit. Since you have to get out of every position you get into, the round-turn commission (plus the applicable spread) represents the total transaction cost associated with your trade. Usually MT4 broker provides commissions for round-turn for 1 standard lot = 100,000 in account currency.
FIX API Brokers charge commissions for one side. Usually FIX API broker provides commissions for 1 side for 1,000,000 in account currency.
Indicator should show you comissions in points
Now you can calculate diff to open and diff to close.
For example you want to adjust EURUSD 3 hedge pairs:
- Hedge pair to make profit from arbitrage;
- Hege pair to be neutral (no profit/ no loss) to cover only spread + commissions;
- Hedge pair with small losses;
Your average spread for eurusd = 0.5 points
Comissions in points calculated with indicator for 1 side = 0.6 points
Spread + 1 side comissions = 0.5 +0.6 = 1.1
|Diff to Open||Diff to close|
|Hedge pair to make profit from arbitrage||1.5 (> =1.1)||2.5 (>1.1)|
|Hege pair to be neutral||1.1 (=1.1)||1.1 (=1.1)|
|Hedge pair with small losses||1 (<= 1.1)||1.1(<= 1.1)|
Important: you also need to set “max diff to open” and “max diff to close” for hedge pairs adjusted for volume. This is important so that in those pairs that are configured not for profit but to create volume, the program will trade the maximum number of arbitrage situations caused by the price difference of various financial institutions and not arbitrage situations caused by latency.
Other important parameters description
Diff to open – price difference (can be expessed in points, currency or percents) between 2 brokers/exchanges for opening arb deal
Diff to close – price difference (can be expessed in points, currency or percents) between 2 brokers/exchanges for closing arb deal
Max diff to open – maximum difference allowed for opening arb deal. If actual difference is higher than allowed arbitrage situation will be ignored.
Max diff to close – maximum difference allowed for closing arb deal
Min profit – minimum distance in pips from entry point price should cover for diff to close parameters to come into effect (for crypto arbitrage can be set to 0)
Max profit – if one of the sides reaches Max Profit value, arbitrage deal will be closed automatically to prevent margin calls.
Offset - constant shift between prices on both sides
Time to start/stop trade - allows to set trading timeframe. Server/machine local time is used for these parameters.
Order Lifetime (expressed in seconds) – for how long the order should stay in the system before diff to close parameters to come into effect
Trade pause (expressed in seconds) – min time before opening a new arbitrage deal after closing of the previous one.
Open Method – allows to control order queue on opening arb deal:
Open both – orders on both sides will be sent simultaneously
Open side 1 first – opening order will be sent on side 1 first. Order on side 2 will be sent after the side 1 order is filled successfully. If side 1 order is not filled or rejected side 2 order will not be sent.
Open side 2 first – opening order will be sent on side 2 first. Order on side 1 will be sent after the side 2 order is filled successfully. If side 2 order is not filled or rejected side 1 order will not be sent.
Close Method – allows to control order queue on closing arb deal:
Close both – orders on both sides will be sent simultaneously
Close side 1 first – closing order will be sent on side 1 first. Order on side 2 will be sent after the side 1 order is filled successfully. If side 1 order is not filled or rejected side 2 order will not be sent.
Close side 2 first – closing order will be sent on side 2 first. Order on side 1 will be sent after the side 2 order is filled successfully. If side 2 order is not filled or rejected side 1 order will not be sent.
Reverse trading – open orders in opposite direction to arbitrage trigger, i.e. sell low and buy high.
Avoid new period – software does not open trades 30 sec before and 30 sec after every
15 min interval, i.e. 10.00, 10.15, 10.30, 10.45, 11.00 etc. all day long
Max accum. number of deals – maximum number of simultaneous deals allowed for hedging pair. By default it is 1 deal per pair.
Trade Only Available Qty – Checks TOB on both brokers/exchanges and if there is not enough liquidity to open deals with lots specified software opens trades with max available on both sides amounts. For example if you set it to trade with lot 1, but one of the brokers/exchanges has insufficient liquidity in TOB, let's say 0.5 lot, software will open trades with 0.5 lot size on both exchanges.
Close multiply deals – close all deals on diff to close trigger (if more than 1 arbitrage deal per pair allowed), if disabled only last deal will be closed.
Offset calculation block:
Enabled – apply offset autocalculation for this pair
Period – period between recalculations (in minutes)
Interval – collecting ticks interval for offset autocalculation (in seconds)
Min ticks number – minimum number of ticks on each side for offset calculation results to be applied.
Group – assign offset group pair belongs to (can be selected fro dropdown menu). To remove group association just erase the value .
Show results in logs – display offset autocalculation results in Trading events log.