Copying CFD’s Between MT4 Brokers With Different Contract Specifications

In this article, I will talk about a common problem faced by traders who are copying CFD’s (Contract For Difference) using different brokers. I will also provide a solution to copying CFD’s between MT4 brokers that have different instrument specifications. This problem is difference in trading conditions of various brokers. The most significant issue is with CFD’s on major stock indices: Contract size for one broker can be 1 index, 25 indexes for another, 10, 5, etc. Some brokers allow trading a portion of a contract while others require trading full contracts only.

Let’s take a look at one particular example: “Axitrader” and HydraMarkets”. Both brokers are offering traders a possibility to trade an index of 30 biggest German listed shares “DAX.” Axitrader ticker is DAX30.fs, and HydraMarkets has a ticker GER_30.

DAX30.fs contract specifications on AxiTrader MT4

GER_30 contract specifications on Hydra Markets MT4

Copying DAX index from Axitrades to HydraMarkets using Local Trade Copier

At first, it looks like an easy task, all you have to do is set “custom symbol mapping” parameter in Client EA to DAX30.fs=GER_30. Right? NO!!  It solves only half of the problem. In this example, you will receive a warning, and a CFD trade copier will not copy your trades. It is happening because it is not possible for Client EA to use risk management options or to open fixed lot size because slave broker is not allowing such lot sizes. Luckily, this CFD trade copier enables you to solve this issue by applying individual scale factor when mapping symbol names.

As I mentioned before Contract size (or one lot) of DAX in AxiTrader is 25 units. Let’s imagine that a trader wants to open a position of one index. A trader will open a trade of 0.04 lot (1/25=0.04) on AxiTrader. What happens after the trader places a DAX trade of 0.04 lot in the master account? Client EA is trying to open the same position of the same size or a size based on “Risk Ratio Server” parameter, but the broker is not allowing it. Minimum lot size in HydraMarkets is 1.00 (it contains one unit of DAX index), and a minimum step is 1.00 also. So a trader who is placing a 0.04 lot position of DAX in Axitrader (1 unit) needs to use a lot size of 1.00 in a HydraMarkets account (1 unit). In other words, a lot size in HydraMarkets must be 25 times bigger to have the same 1 unit of DAX CFD.

How to tell Client EA to open 25 times bigger position?

In Local Trade Copier, you can use a convenient feature called “lot size scaling” or simply “Scale Factor.” It is the special lot multiplier value that will be applied to this particular instrument before any money management rules. What you need to do is to add a third parameter in “Custom Symbol Mapping.” In our case, we need our Client EA to open a 25 times bigger lot size than our Server EA is sending to us. So, in “Custom Symbol Mapping” parameter we add: DAX30.fs=GER_30=25. (25 is our Scale Factor). Now Client EA will be able to copy trades of DAX index between these brokers.

Client EA settings for CustomSymbolMapping in MT4 Local Trade Copier

Different Brokers and different CFD contract specifications

You can use this feature with all imaginable brokers and contract size requirements. If you want Client EA to open smaller lot sizes than Server EA you can set “Scale Factor” to values lower than 1, for example, 0.04, 0.1, 0.25 etc.

With Local Trade Copier, you can copy trades of all CFD instruments with all brokers if they are offering Metatrader 4 platform. Different names of the same instruments and different contract sizes are not a problem for you!!

Watch this useful video tutorial below.

I hope you learned something new from this article and happy trading!!

Leave a Comment

Your email address will not be published. Required fields are marked *