Copying trade between multiple MT4 accounts at a better price than it is on the master account, is something that many currency traders want to do. The good news are that the Client EA of the Local Trade Copier can be easily configured to only accept trades when the price for entering the market on the client account is better than it is on the master trade.
Let me give you an example. Say master account opens a EURUSD Long order at 1.22300. Immediately, Client EA will copy and execute the same order on the client account, but because of the spread or price feed difference that trade is executed at 1.22330, which is 3 pips late. Price deviation of 3 pips is something that Client EA will tolerate because by default it is set to accept max price deviation of 10 pips. This is set using option MaxPriceDeviationPips. This means that if price on the client account would be something like 1.22410, which is 11 pips late, Client EA would not even copy such trade at this moment and wait for the price to get back into the range of maximum allowed price deviation, which is 10 pips by default.
Of course you can set the Client EA to use lower maximum price deviation, but this might cause some of the trades to not be copied if price difference is often too big. But it actually depends on your strategy and your objectives. If you are copying trades with a take profit of at least 100 pips and even bigger stop loss, like my Vavatrade trading signals, then I am sure a few pips does not make such a big difference. Forex market is very volatile and we cannot avoid price difference in many cases, so the best thing we can do is to accept that and learn to live with that.
However, if your trading strategy use SL/TP values or around 5 pips or even smaller, then obviously even a fraction of a pip makes huge difference and your strategy will simply cannot be copied under such conditions. To copy such strategies you would need to use the same broker and account type for master and slave terminals to avoid price difference as much as possible.
Copying at a better price
Now it’s actually possible to copy trades at a better price. For this you just need to set the MaxPriceDeviationPips option to zero or below. Setting this value below zero will actually tell the Client EA to copy any market order from the master account only at a better price.
Let’s take the same example. Our master account opens a EURUSD Long order at 1.22300, however Client EA copies a trade only at a price of 1.22100 or better. In other words a trade is copied only at a better price by 20 pips. For that MaxPriceDeviationPips should be set to -20 (negative number).
This option is very useful if you have master account entering trades too early. I mean that after master account opens a trade most of the time it goes into drawdown. In that case you can configure Client EA to use negative number for max price deviation option and this will allow you to copy only trades that are actually in a drawdown. Eventually if such trade will be opened at a profit, the client account would earn some pips in advance because it took a better entry price. Even if master trade will be closed at a small loss or break even point, the copied trade might end up in a small profit.
When price is too far
By default Client EA will delay trade execution for an unlimited time if the entry price on the client account is too far. Obviously, if that delayed trade gets closed on the master account it will no longer be on the “waiting list” on the client account as well.
However, Client EA can be configured to ignore trades that appear to far from the original entry price, instead of delaying them. Say we have MaxPriceDeviationPips=10 (default setting). So if our master trade is opened at 1.22300 and entry price on the client account is 1.22440 (14 pips late), or 1.22190 (11 pips late), the Client EA will not copy such trade and ignore it completely (if it is set to).
To set the Client EA ignore new upcoming trades that are too far, you need to set the IgnoreTradesWhenTooFar=true (by default this is set to false and Client EA will delay trades until entry price gets back to an acceptable price range).
Ignoring price deviation
Price deviation can also be ignored. In such operational mode Client EA would not look at the price difference at all and will copy trades no matter how big price difference is. This option is usually used when copying old open trades from the master account.
In regular trade copying this option is disabled, but if you experience a lot of trouble when trades are not being copied because of the price difference, then you should try enabling this option to see if it helps.
How instruction manual explains these options
MaxPriceDeviationPips – this is where you set how many pips your current market (entry) price can be away from original trade entry price. Best to leave this setting as is if you copy trades for major pairs only. If you copy trades for exotic pairs you might need to raise this number.
There are 3 ways to use this option:
- Value above zero – EA will execute trades if the price deviation is within your range regardless if it’s a better or worse price.
- Value equal to zero – EA will execute trades at the same price or a better price by any number of pips.
- Value below zero – EA will execute trades only at a better price and only when the price deviation is better than your set range.
Please note, that your trades may not be executed because of the different price feeds, spreads, stop and freeze levels among different brokers and account types. Please do not panic if you did not get some of the trades, maybe they are delayed.
Client EA shows “Delayed” trade count so you can see how many trades are delayed because of the price being too far from the entry. Also, when trades are delayed you will see a “clock icon” turn red.
If the value is set to 10, EA will allow 10 pips favorable/adverse price deviation. If you set this variable to a negative number your EA will wait for a better entry. Example if you set value to -3 pips, EA will wait until your broker market price on the slave account will reach a better entry by 3 pips and only then open the trade. If you set this value to zero, it means EA will copy the trade only when it gets the same price as the master account, or better. Obviously, in the end, trades still might be copied at a slightly different prices because of the slippage.
Important to understand that this setting is different from Slippage, because if price is not within the MaxPriceDeviationPips, EA will not even try to open it and wait for the moment when the price will be in range (or the trade on the master account gets cancelled/closed).
IgnoreTradesWhenTooFar – with this option you can control if the Client EA should ignore or delay the trades that happened to be too far from the master open price according to your MaxPriceDeviationPips value. By default this option is turned off and this means the Client EA will delay the trade execution until the price will return within your reasonable deviation range. If you set this option to TRUE the Client EA will ignore the trade completely if the price is out of your allowed deviation range. Obviously this option is not active if you have IgnorePriceDeviation=TRUE.
IgnorePriceDeviation – if this option is set to true, Client EA will ignore price deviation when opening trades. It means that master trade open price can be at any distance from the actual slave account market price. This is useful to use with the IgnoreTradesBeforeTimeStamp.
Conclusion
Make sure you understand how trade copier manage entry price differences between multiple MT4 accounts. This is a vital part of any copy trading campaign and this article will explain how this works. It also gives you an example how you can configure MT4 copier software to duplicate trades only at a better price.