Local Trade Copier v2.3 for MT4 released

Local Trade Copier v2.3 is finally here!

I understand you may not have time or do not want to read this document, but to avoid any misunderstandings and asking questions that are already answered on my website, please read this to learn about the latest changes in the LTC v2.3. Ideally you should re-read the updated instruction manual as well.

Last few months was quite difficult for me, because MetaTrader 4 has been updated like every week. I am glad they are upgrading their trading platform, but at the same time it adds a lot of work for programmers as well.

Anyway, after MT4 upgrade a number of problems were spotted with the Local Trade Copier and I have been working for the last few months to fix them. Finally today the Local Trade Copier v2.3 is released.

What you need to do to upgrade to LTC v2.3

First, and probably most important thing to note is that you need to start the new Server EA first. So after you log in to the Download Center and get the new LTC v2.3, you will have to install it to all the MT4 platforms you will be using. Then, make sure you first start only the master accounts with the new Server EA attached. When you will see them running and “server send” counter increasing, then you can start the slave accounts with the new Client EA.

Here are the steps to do to upgrade to the new LTC v2.3:

  1. Remove the old LTC EA’s from your MT4 platforms.
  2. Close MT4 platforms.
  3. Download the new LTC v2.3 from the Download Center. If you do not remember your log in information, please use your email to reset the password.
  4. Install the new LTC v2.3 to all the MT4s you will be using it on. As usual you will have to install Server EA on the master accounts and Client EA on the slave account.
  5. Start all master MT4 platforms and attach Server EA’s. You can load the last used EA settings using the “Load” button in the EA Inputs tab. When you will see that all your Server EA’s are running and “server send” counters are increasing you can proceed to the next step.
  6. Start all slave accounts and attach Client EA’s. You can load the last used EA settings using the “Load” button in the EA Inputs tab. When you will see that all your Client EA’s are running and “server read” counters are increasing you are done.

Now lets take a look what has changed in the LTC v2.3.

What’s new in LTC v2.3?

#1 You can run multiple Client EA’s on the same MT4 account.

Finally I have fixed that problem the copier had when you run multiple Client EA’s on the same MT4 account. Now you can run multiple Client EA’s with no problems and this way have even more advanced trade copying setups. This allows you for example to copy trades from multiple master accounts to a single slave account and have different risk options for each of them.

To setup this you simply need to have multiple Client EA’s on the same MT4 slave account with your desired risk options (lot size) and use Signal_Provider_ID or FilterMasterAccounts option. Check out this video to learn how to use these options.

#2 No more duplicate trades.

I have implemented several additional functions and changed the way Client EA executes copied trades to make sure that no duplicates are copied. Previously this was a big problem, although not for all customers. This had something to do with the new MT4 upgrade and duplicates usually appeared when a broker failed to fulfill Client EA request to open a trade. Broker returns a timeout error and the Client EA tries to open a trade again, but later we realize that the timeout error was false and that the trade was actually opened at first attempt already. Now because Client EA tried to open a trade again (because of the error it received from the broker) we have a duplicate trade. Now this problem is solved.

#3 Working Directory has changed and now it is displayed in the dashboard.

Previously LTC was using Temporary Files folder (%TEMP%) to exchange information between master and slave accounts. The problem with this was that many VPS servers clean the Temporary Files folder on reboot. For this reason I’ve programmed the LTC to use another folder to exchange the information and this folder name is now displayed in the dashboard. Now it will be easier to find the files that LTC use to exchange information between master and slave accounts. If you do not understand what this is you should not bother yourself with it. Changing these files might damage your trade copying. But for tech savvy users this might be useful.

Working Directory has changed and now it is displayed in the dashboard.

Working Directory has changed and now it is displayed in the dashboard.

#4 DLL file names have changed to look more friendly.

Previously DLL file names were looking ugly (“ltc22_vip_slave.dll” or “ltc22_vip_master.dll“). Now they look much better (“LTC Server VIP v2.3.dll” and “LTC Client VIP v2.3.dll“). This does not affect the stability of the program, but I thought it is important to mention this if you were copying LTC files manually instead of using an auto-installer. Make sure to not forget DLL files, without them LTC does not work.

#5 Now you can ignore trades on certain week days.

A new option added to the Server EA. IgnoreWeekDays – this is where you can set on which week days Server EA is allowed to send trades to client account(s). Note that it is about the weekday that the particular trade was opened on and not the weekday the trade copying is happening on. Here’s what I mean. Say if you have a trade opened on July 23rd, 2014, Wednesday, and you set the Server EA to ignore Wednesday trades (IgnoreWeekDays=3), this means that such trade won’t be sent to the client account(s) not only on Wednesdays, but even on other week days if you are using IgnoreTradesBeforeTimeStamp option to copy the older trades running on the master account.
You must enter comma separated list of weekdays like this: IgnoreWeekDays=3,5,2
By default EA send trades from all week days.

Now you can ignore trades on certain week days.

Server EA set to ignore trades that are opened on Mondays and Fridays.

#6 Log messages now are tagged.

Now when LTC logs messages to the “Experts” tab of your MT4 platform it will have a special identification number at the beginning of each message. This allows to identify what messages were printed by different LTC instances. Previously when you had two or more LTC Client EA instances running on the same EURUSD,H1 chart, both of them were logging messages to the “Experts” tab and it was not possible to tell which EA printed the message exactly. Now each EA will have a special ID at the beginning of each message and you can tell which EA printed certain messages.

Log messages now are tagged

Log messages now are tagged by a special ID number which allows to tell which EA instance printed the message.

#7 Authorization mechanism upgraded as well.

LTC EA’s are connecting to my server for license authorization, but there were some cases when LTC was not able to authorize license key and failed to start. I have upgraded authorization mechanism and those problems should not repeat again.

#8 LTC shows Trade Revision number in the dashboard.

You will see that LTC now shows a Trade Revision number in the dashboard. For now it is added just for reference. Every time a change occurs on any of the trades on the master account the trade revision number will increase.

LTC shows Trade Revision number in the dashboard

LTC shows Trade Revision number in the dashboard

#9 Client EA can place pending orders in one take if you want it to.

New option has been added PendingOrdersDelayForOneTake which allows Client EA to place pending orders in one take, of course if you need this and your broker allows it.

Client EA can place pending orders in one take if you want it to

New option has been added PendingOrdersDelayForOneTake which allows Client EA to place pending orders in one take.

PendingOrdersDelayForOneTake – by default this value is set to -1 and this means EA will copy pending orders in two takes, like it used to do before. This means that EA will first place a pending order and only then set a stop loss and take profit values.
If you want to copy pending orders in one take, means to place pending order with a stop loss and take profit already in place, you need to set this value to 0 (zero) or above. The value above zero tells EA how many seconds it should wait before the pending order is placed in one take.
For example if pending orders on the master account are placed in two takes there will usually be a delay of 1 or few seconds, because first a pending order is placed and only then SL/TP values are set. This is why Client EA may need to wait a few seconds to see the SL/TP values to be able to copy pending order in one take. Say we set this value to 5. If a pending order is placed on a master account and no SL/TP values are set in 5 seconds the Client EA will copy this pending order anyway. Later, if you set SL/TP values on the master order those will be copied to the slave account as well. But if SL/TP values are set before 5 second delay expires the Client EA will copy such order in one take.
If you place pending orders on the master account in one take and want to do the same on the client side you can set this option to zero. Means it would not delay and place orders in one take on the client side immediately and it normally should already have SL/TP in place, because master account place orders in one take as well.

#10 You can now filter trades by type.

A new option FilterByTradeType has been added which allows you to set Client EA to copy only certain type of orders.

LTC Client EA is set to copy only BUY market and pending orders by using FilterByTradeType option.

LTC Client EA is set to copy only BUY market and pending orders by using FilterByTradeType option.

FilterByTradeType – by default this value is empty and this means Client EA will copy all trade types, but using this option you can set it to copy only certain types of orders. All you need to do is to enter comma separated list of order types that Client EA is allowed to copy. Order types are represented in numbers exactly like they appear in the MQL4 programming language code.
0 = BUY; 1 = SELL; 2 = BUY LIMIT; 3 = SELL LIMIT; 4 = BUY STOP; 5 = SELL STOP;
So for example if you want to copy only BUY, BUY LIMIT and BUY STOP orders you need to set Client EA like this: FilterByTradeType=0,2,4

#11 Settings are now automatically saved to a more friendly file name.

Once the Server EA or Client EA started it will save its input settings into a special .set file automatically. The file will be stored in the \MQL4\Presets\ folder (access this folder from MT4 menu: File -> Open Data Folder). You can easily load the same settings using “Load” button in the EA Inputs tab in the EA properties window on the next EA launch. The file name now includes the MT4 account number, a chart symbol, a magic number, a Signal Provider ID and it will look like this:
LTC_Client_Last_Known_Settings_aaa_bbb_ccc_ddd.set
aaa is your account number.
bbb is the chart symbol that the EA is running on.
ccc is the magic number that EA is using (for Client EA only).
ddd is the Signal Provider ID (this one is always “1” unless you change it with LTC VIP).

This is also useful when you upgrade to another version of LTC. You can just save and load the settings .set file from an older EA to a new EA. It should not cause any issues because “EA Inputs” names always stay the same to not mess your configurations. In case their order has changed or new settings have been added to the new EA it should not cause any trouble as well.

Last known LTC EA settings saved to files that can be loaded anytime later.

Last known LTC EA settings saved to files that can be loaded anytime later.

#12 Now you can open LTC EA properties window during its operation and change settings.

This is possible thanks for the new MT4 version which added special functions for programmers. Previously EA properties window was disabled to ensure that LTC works as fast as possible. Although speed is one of the most important things in the trade copier it was a real trouble when you had to change LTC EA settings. Now you can simply open LTC EA properties window and change settings by pressing F7 or by using the chart context menu. You need to right click on the chart, where LTC EA is running, and choose Expert Advisors -> Properties. Go ahead, try it out.

Now you can simply open LTC EA properties window and change settings by pressing F7 or by using the chart context menu

Now you can simply open LTC EA properties window and change settings by pressing F7 or by using the chart context menu “Expert Advisors -> Properties”.

#13 No more trades far away from the open price.

MaxPriceDeviationPips option was upgraded. Previously if you set this value to 10 pips this means that open price of the copied order cannot be away from the original open price by more than 10 pips, or it can be opened also if a copied trade open price is in favor by any amount of pips. This means that if you have a BUY trade on the master account which is floating at -100 pips loss, Client EA is allowed to copy such trade because it is in our favor. This was not exactly what my customers expected to happen so I have changed this. Now if you want this to be the case you need to set a negative value for MaxPriceDevationPips option and only then the Client EA will wait for the open price to get in our favor before the trade is copied to the client account. Positive value means that copied trade’s open price cannot be away from the original open price by 10 pips no matter what.

So to recap, by default this value is set to 10 pips and this means Client EA will only copy the trade if it’s open price is in the range of 10 pips from the original open price in any direction.

#14 LTC Client EA now tells who closed the trade.

If a trade will be closed by a 3rd party then Client EA will print this information in the “Experts” tab. So now it is easy to see if Client EA closed a certain trade or it was done by a 3rd party. Note that this information is available only for the trades that Client EA copied by itself, means that the Client EA will not see any trades that were opened and managed by a 3rd party. This will help with investigations when trade copying problems occur. Also I want to mention that the Server EA never closes or opens any trades. It’s the Client EA that can open or close a trade. I also want to remind that you should always be using unique Magic Number for every EA running on the same MT4 account.

LTC Client EA now tells who closed the trade

LTC Client EA now tells who closed the trade

#15 When Client EA copies a trade it will tell you which master account sent it.

Previously when Client EA was following several master accounts and copied a trade, it was difficult to tell which master account actually sent it. You had to switch between MT4 windows to find that trade manually to know which master account it belongs to. Now Client EA will print this information in the “Experts” tab for your convenience.

Client EA shows the master account number which sent the trade.

Client EA shows the master account number which sent the trade.

#16 Client EA now displays the list of master account numbers it was set to follow.

For your convenience EA displays the list of master accounts it was set to follow using the FilterMasterAccounts option. Previously EA did not show this information and it was confusing to many account managers.

Client EA displays the list of master account numbers it was set to follow using FilterMasterAccounts option.

Client EA displays the list of master account numbers it was set to follow using FilterMasterAccounts option.

#17 LTC EA’s now show error counter

The new “error counter” is located next to the “server send” or “server read” counter in the EA dashboard. “Server send/read” counters show you if the trade synchronization is happening and how fast it is done. And now, in case of failure to read the trade information, EA will increase the “error counter”. If it’s number is increasing rapidly it means your LTC or VPS server has problems. It could also indicate that your computer or VPS is overloaded and you need to close a few MT4 platforms or other 3rd party programs that may be using a lot of resources.

If the “error counter” number is significantly lower than the “server read/send” numbers, usually there is nothing to worry about. When EA fails to read the remote trade information it will increase the “error counter” number, but it will also try and read the information again immediately. So when you are running trade copier for days, weeks or even months obviously it will get a few read errors from time to time.

Client EA error counter shows how many times EA failed to read remote trade information.

Client EA error counter shows how many times EA failed to read remote trade information.

#18 Random trade close problem has been fixed.

Some account managers experienced a problem with LTC closing trades randomly and then immediately copy the same trades again to the client account. This of course created a real mess in their trade copying campaigns. Now this problem is fixed by adding couple security mechanisms to prevent this from happening ever again.

Conclusion

I hope you will find these improvements useful. If you do not have a Local Trade Copier software it is the best time to start a 30-day trial right now. Local Trade Copier helps Forex account managers to copy their trading positions between multiple MetaTrader 4 accounts so they won’t need to repeat the same trade operations on each MT4 platform individually.

Please share this information with someone who needs it. You may also want to check the The Definitive Guide to Forex Trade Copying to learn more about how to use the Local Trade Copier and copy trades between multiple MetaTrader 4 accounts.

Please post your comments and questions below.