Skip to main content

LTC Client EA Settings and Parameters Explained (Inputs tab)

Local-Trade-Copier-Tutorials-client-ea-settings-1745x1080

Let me walk you through all the parameters that you will find in the Client EA of the Local Trade Copier. You will see those settings once you attach the Client EA to the chart.

Useful read: How Forex Trade Copier Works on MT4. A simple step-by-step explanation of how to use a trade copier on MetaTrader 4.

Now let’s get to the settings of the Client EA.

Parameters in pink are available only in LTC VIP.

Parameters in blue are available only in LTC Manager and LTC VIP.

General Settings

LicenseKey – leave this empty on the Client EA because only Server EA needs the License Key. Client EA does not need License Key.


ChartName – This option allows you to name the chart window the EA is attached to. This is only for your reference so it would be easier for you to identify accounts when switching between MT4 or chart windows.


Copy From These Master Accounts – this feature allows you to select which signal providers (master accounts) to follow. It means that you can set your Client EA to copy trades only from a certain master account(s) if needed. By default, the Client EA is set to follow all master accounts with an active Server EA that are operating in the same group set by the Signal_Provider_ID (explained further in this documentation).

For example, if you want to receive trades only from master MT4 accounts 72635, 8375 and 272365 you need to set List of Specific Master Accounts=72635,8375,272365. The MT4 account numbers must be a comma-separated and this value must contain only numbers.

Useful tutorial: The difference between Signal_Provider_ID and the “Copy Trades From” (FilterMasterAccounts)


Money Management Settings

Money Management Mode (MMM) – this is where you chose what formula should Client EA use to calculate the lot size when copying a trade on to the client account. Below you’ll find the detailed list of options.

Useful tutorial: Money Management settings explained in MT4 Trade Copier

Here is the list of available Money Management Modes:

  • AA (Auto-Adjust to account size)
  • AAM (Auto-Adjust and Multiply by X)
  • Same lot size as on the master account
  • Multiply by X
  • Fixed Lot Size
  • Risk Per Trade (%)
  • Risk Per Trade (Money)
  • LMR (Lot Money Ratio)

Money Management Value (MMV) – this is where you chose the value for the lot size calculation parameter (Money Management Mode). For example, if you chose to use a fixed lot size, then this value will be the lot size. If you chose a Lot Multiplier, then this value will act as a multiplier.


Money Management Calculation Mode (MMCM) – this is where you chose whether the Client EA should use accounts’ balance or equity when calculating lot size.


LMR Value (Money) – the LMR stands for Lot Money Ratio (explained below). The Client EA uses this value only when you select LMR as your Money Management Mode.


Deviation Settings

Deviation Type – this is where you chose how the Client EA should treat the price deviation between opening prices of master and client accounts. Client EA allows you to select from several options and they are pretty self-explanatory.


Deviation Metric – this is where you chose how the Client EA should measure the price deviation, in pips or a certain count of spreads.


Deviation Size – this is the value for the Deviation Metric. If you choose “X Spreads” as Deviation Metric and input 5 as Deviation Size, then the Client EA will allow a maximum price deviation of 5 x Spreads. So if the spread is 1.8 pips for that particular instrument it means the maximum price deviation allowed is 5 x 1.8 = 9 pips. If you choose “Pips” as Deviation Metric then the Client EA treats the Deviation Size value as pips.

Here is the list of available Deviation Types:

  • Copy if the price is within the range of X
  • Copy only at a better price by X
  • Copy at the same or any better price
  • Copy at any price
  • Copy only at a worse price by X
  • Copy within a range of X or any better price

Whichever Deviation Type you chose it is closely related to the other two deviation parameters, except for options “Copy at the same or any better price” or “Copy at any price”. For those two, Client EA will ignore Deviation Metric and Deviation Size parameters.


Pair Suffix Detection

SymbolSuffixDetection – by default this is set to “Detect automatically” which means EA will try to detect symbol suffix automatically. On most brokers, this will work fine, but on some brokers there can be multiple suffixes used and the broker might allow placing trades only on pairs without the suffix. In such a case, please turn off the auto suffix detection feature by setting this value to ”Use custom suffix” and set custom suffix in the CustomSymbolSuffix parameter or leave it empty to not use any suffix.

By setting this parameter to “Use the same symbols as server” you set Client EA to use the exact same symbols like master account does. This is recommended when master and client accounts are with the same broker.


CustomSymbolSuffix – this option allows you to manually set what symbol suffix Client EA should use. This works only when SymbolSuffixDetection=”Use custom suffix”. The purpose of this parameter is to be able to copy the trades on brokers that use additional letters after a standard currency symbol name. An example would be EURUSDFXF. If your broker does this, you must enter those letters exactly as they appear (case-sensitive). In this example, you would enter FXF. If you want EA to not use suffix at all then leave this value empty.

Note that some brokers also do not allow you to trade on pairs that have suffixes, so in some cases, you should avoid using them.

By default, the Client EA will detect symbol suffix automatically. In case this gives you trouble please set custom symbol suffix (or no suffix).


CustomSymbolMapping – Now this is the setting where you can set custom currency mappings. For example, you can set your Client EA to ‘map’ a GOLD symbol from the master account and have it be recognized as XAUUSD on the slave account. As you know, many commodities, CDF and Index symbols have different names among brokers. This setting is where you can convert the names/symbols to the right ones to correspond with your broker’s symbol names. This is similar to the “Symbol conversion” feature which is explained in the main LTC instruction manual. This setting can be used as an easier solution if you just need to map a few symbols. Enter a comma-separated list of symbol mappings.

IMPORTANT: All symbol names are case-sensitive, so it is important to type them exactly as you see in the terminal Market Watch window or chart with all the dots or dashes there might be.
Example 1: GOLD=XAUUSD,XAGUSD=SILVER,SP500=S&P500

This feature also allows lot size scaling. It means you can enter a Lot size multiplier for each symbol map. In that case, you just simply need to add it like this: GOLD=XAUUSD=0.1

Example 2: On master account, the contract size of 1 corresponds to 1 euro (symbol: DAX30) but on the client account the contract size of 1 corresponds to 25 euro (symbol: GER30). If you set CustomSymbolMapping=DAX30=GER30=0.04 this would make lot size on the client account 25x times smaller when copying orders from DAX30 to GER30.

Example 3: WTI=.WTICrude,BRENT=.BrentCrude


FIFO Settings (for US trading accounts)

FIFO_Restrictions – U.S. Forex brokers and possibly some other brokers will have FIFO limitations applied to each account. This means trader or any EA is restricted to close positions only in a certain order and hedge trading will be disabled too (you cannot hold buy and sell positions open at the same time). These restrictions cannot be changed and anyone who is trading in such an account (including EA) will have to obey these restrictions.

By default this parameter is disabled and it should stay like that if you use EA on broker without FIFO restrictions.

Click here for a great explanation about FIFO rules.

Client EA has 3 operating modes regarding the FIFO and the FIFO_Restrictions parameter allows to select 1 out of 4 choices:

  1. Detect automatically.
    When “Detect automatically” is selected the Client EA will try to detect if there are FIFO restrictions or not. EA might detect that on start-up or sometime later when trade copying is in progress (SL/TP levels are constantly changed by 3rd party or trades of opposite direction are denied by the broker). But because it is not always possible to automatically detect FIFO restrictions on start-up the EA will monitor for broker server errors 149 or 150 during trading operations. In case of such error, EA will enable “FIFO restrictions (simple)” mode automatically regardless of which option you have set for the FIFO_Restrictions parameter.
  2. No FIFO restrictions.
    When this parameter is set to “No FIFO restrictions” EA will not monitor for SL/TP changes. This option is usually used when you are using Client EA on an account that does not have FIFO restrictions but EA detects the FIFO by mistake. This might happen if you have some 3rd party EA or account manager constantly changing SL/TP on the client account. For the Client EA, such action looks like SL/TP being changed because of FIFO restrictions.
  3. FIFO restrictions (simple).
    When “FIFO restrictions (simple)” is selected the Client EA will not open trades of opposite directions. For example, if there are BUY trades already running on the client account the EA will not copy SELL trades but delay them. Once the BUY trades are closed and the delayed SELL trades are still open on the master, the Client EA will copy them. Of course, in this case, the SELL trades would not be copied anyway because of the FIFO restrictions, but all attempts to copy SELL trades would end up in errors from the broker server. This means your account might be suspended. The “FIFO restrictions (simple)” operational mode saves the day and does not throw errors.
    Also, selecting this option will also stop the annoying behavior when Client EA keeps adjusting SL/TP values non-stop. This happens when you have more than one position for the same currency pair with FIFO restricted. Basically, when SL/TP is set on one trade, the other trades of the same pair get the same SL/TP values too and that is applied by the broker automatically to comply with FIFO. The problem starts when Client EA detects that the SL/TP does NOT match with the master account and change them immediately. This creates an infinite loop and EA keeps changing SL/TP values over and over again while the broker changes them too. But with “FIFO restrictions (simple)” this problem is solved.
  4. FIFO restrictions + Netting.
    When “FIFO restrictions + Netting” is selected the Client EA will operate to obey FIFO restrictions and at the same time will do Netting when opening new trades.
    In general, netting means to allow a positive and a negative value to set-off and partially or entirely cancel each other out. For example, assume you have a BUY position of 1.5 lots and Client EA receives a SELL signal of 1.0 lots. The Client EA will “net” those positions and the end results will be a BUY position left of 0.5 lots.
    Another example would be if you have a SELL position of 0.5 lots and Client EA receives a BUY signal of 0.9 lots. This would result in a SELL (0.5) position closed and a BUY position of the remaining 0.4 lots opened.
    Also, when FIFO+Netting is enabled, the Client EA will process “exit trade” signals differently than in normal operational mode. For example, assume you have two BUY trades of 0.5 and 0.8 lots on the master and the client account. The 0.8 BUY trade gets closed on the master account but the Client EA cannot close it because of FIFO restrictions – the 0.5 trade must be closed first. So first, the Client EA will close the 0.5 trade and then it will close the remaining 0.3 lots from the 0.8 trade leaving 0.5 lots still running.
    Another example would be if there are 1.5 and 0.6 lots running on the master and the client account. Then, 1.5 lots are closed manually on the client account leaving only 0.6 lots. When the 1.5 lots are closed on the master account the Client EA will clear only the remaining 0.6 lots regardless of the fact that there’s a remainder of 0.9 lots (1.5-0.6). During the copying of “trade exit” signals the Client EA will not open the remaining lots as positions of the opposite direction.
    Click here for a more advanced explanation about the Netting in Forex.

Stops Manipulation Settings

How to copy Take Profit – this is where you chose how the Client EA should copy the Take Profit value from the master trade. Choices are self-explanatory.


TP X value (select TP mode above) – this is where you set the Take Profit value for the TP mode selected above.


How to copy Stop Loss – this is where you chose how the Client EA should copy the Stop Loss value from the master trade. Choices are self-explanatory.


SL X value (select SL mode above) – this is where you set the Stop Loss value for the SL mode selected above.


Here is the list of available methods to copy the SL/TP values from the master trade:

  • Same value as on the master account
  • Remove
  • Multiply by X
  • Fixed X value in Pips/Points
  • Double the size
  • Cut in half (if possible)
  • Increase by 10%

Two methods for copying SL/TP will require you to enter a value in the field below (TP X or SL X) and those are “Multiply by X” and “Fixed X value in Pips/Points”. For other methods, Client EA will ignore TP X and SL X values.


EmergencyStopLossPips – this is where you can set an emergency stop loss for all of the trades that you receive from the master account. It means that if you receive a trade without a stop loss, it will still be applied using this value. If you set this value to 50 pips, your Client EA will always set 50 pips stop-loss on all trades that do not have stop-loss set by the master account.


TakeProfitMoney – Take profit value in account currency. This will act as a hidden take profit and will close all the trades when the profit reaches a certain value set by this variable. By default, it is set to zero and it means it is disabled.


StopLossMoney – Stop loss value in account currency. This will act as a hidden stop loss and will close all the trades when the loss reaches a certain value set by this variable. By default, it is set to zero and it means it is disabled.


TakeProfitIfEquityAboveXMoney – this is where you can set when the EA must close all the trades and take profit if account equity reaches a certain level. Enter the exact amount of money in the deposit currency. By default, it is set to zero and it means it is disabled.


TakeProfitWhenEquityGrowsByXPercent – this is an evergreen profit-taking function. Let me better explain it in an example.

For example, if you set EA to take profit when the account equity grows by 20% on the account of $10,000 balance, it means the equity must grow above $12,000. Once the Client EA closes all the trades the account balance becomes $12,000 (assuming there was no slippage) and now the next stop is 20% again, which is $14,400.


Close & Stop if Equity below X – this is where you can set when the EA must close all the trades and stop accepting any upcoming trades until restarted. This happens if account equity drops below a certain level.

There are two parameters for “Close & Stop if Equity below X” and that allows you to enter the exact amount of money in deposit currency or percentage:

  • Close & Stop if Equity below X (money)
  • Close & Stop if Equity below X (%)

For example, Client EA is set to close & stop when equity drops below $9,500 USD (considering that this was configured on a USD account). Once equity drops below this level Client EA will close all trades and shutdown. Once EA is stopped you will need to restart it manually.

Another example would be if Client EA is set to close & stop when equity drops below 80%. If this was on a $10,000 USD account then EA would close all trades and shut down when equity drops below $8,000 USD (80% of the account balance).

By default, both are set to zero and it means these features are disabled.

If you set “Close & Stop if Equity below (%)”, then EA will ignore “Close & Stop if Equity below (money)”.

In older versions, these parameters were called StopIfEquityBelowXMoney and StopIfEquityBelowXPercent.


SwapSLTP – this feature simply swaps the figures for the TP and the SL around. If the master account sends a trade with a 35 pip SL and a 50 pip TP the Client EA will keep the original trading direction but swap the SL from 35 pips to 50 pips and the TP from 50 pips to 35 pips. This can be used in conjunction with the ReverseTrades as well.


WaitForSLTP – this feature allows you to set the Client EA waits for the SL or TP level and do not close the trade following the master account. If set to false (default), Client EA will close the trade following master account or the trade will be closed by the broker when the SL/TP is reached. If you set this to true, Client EA will ignore “trade close” signals and wait for the SL/TP to be reached. This works only for the trades that have SL and TP set. If any of those values are zero, EA will not apply this feature and will close the trades by following the master account.


Trade Signals

AcceptNewTradeSignals – this feature allows you to control EA if it should accept new trade signals. By default, it is set to true and EA accepts new trade signals. If you set this value to false EA will not accept new trades and just keep managing the current trades if there are any.


AcceptTradeModifySignals – this feature allows you to control EA if it should accept “trade modify” signals. By default, it is set to true and EA accepts trade modify signals, this means EA will keep managing SL/TP values for all orders and also expiration and entry price values for the pending orders. If you set this value to false EA will not accept trade modify signals and will just leave current trade settings how they are at the moment.


AcceptTradeCloseSignals – this feature allows you to control EA if it should accept trade close signals. By default, it is set to true and EA accepts trade close signals, this means that once the trade is closed on the master account it will be immediately closed on the slave account as well. If you set this value to false EA will not accept trades close signals and just keep all trades open until they are closed manually or naturally like hitting SL or TP value.

IMPORTANT: All the trades that will be open under the “no exit” policy will stay open even if you change AcceptTradeCloseSignals=true back again. This way Client EA protects the trades you didn’t want to be closed before. In other words, when you change the policy back to “accept exit“, it will be applied to the new trades only.


DontManageMagicNumbers – this option allows you to choose a comma-separated list of magic numbers that Client EA should not touch. Note that the Client EA does not interfere with any 3rd party trades. This option is obsolete and about to be removed in the upcoming versions, but for now, it is still there to see if there be any cases where it can still be useful.


DontManageTradeTickets – this option allows you to choose a comma-separated list of trade numbers (tickets) that Client EA should not manage. This is very useful when you want Client EA to not manage/touch some of the trades it has copied before. All you need to do is to enter those trade ticket numbers separated by commas and then Client EA will not see those trades and will not touch them.


DontManageTradesOpenedBefore – this option allows you to set the date and time of the trades that you don’t want to be managed by the Client EA. Any trades opened before this date will not be managed and Client EA will ignore as if they do not exist. This is helpful if you have some old trades that you don’t want to be touched.
By default, this is set to 2010.01.01 which means EA will not touch any of the trades opened before that date.
EA uses “open date & time” of the trades running on a client account and client account broker time which is visible in the Market Watch.


SendTradeCloseSignalsToMaster – this parameter allows you to enable 2-way communication between Client EA and Server EA. This allows Client EA to notify Server EA about the trade closed on the client account. This is useful if you want Server EA to close the master trade immediately when the client account has it closed. Note that this function must be enabled on the Server EA as well and it is named CloseTradesWithClient.


MarkAllTrades_DoNotClose – After Client EA is executed with this parameter set to TRUE all currently open trades would be marked as “do not close“. This means Client EA will never close them under any circumstances. Once trades are marked (will happen in a few seconds) you will have to restart Client EA with this parameter set to FALSE to continue normal Client EA operation. Any new trades will be copied/modified/closed but those marked as “do not close” will not be closed, but only modified to match the master (SL/TP changes, etc).

This data would be lost if you reinstall MT4 or move the account to another MT4 platform because the data is stored in Tools->Global Variables. It’s possible to move the data to another account too in case you need it sometimes, you just need to copy the file named “\profiles\gvariables.dat” from your MT4 terminal Data Folder.

You can also create these “do not close” marks (Global Variables) manually if needed in the Tools->Global Variables and Client EA will not close those trades. The format for the name of the Global Variable is:

DoNotClose-ORDERTICKET

For example, a GV with the name DoNotClose-44323698 will tell the Client EA to never close the trade 44323698. Important is only the name. The actual values of these GV’s are ignored.

More information: How to tell MT4 trade copier to not close certain trades but keep updating them.


Trade Filters

LimitTradeCountPerPair – this parameter allows you to limit trade count per pair. Here’s an example of how this function works. Let’s set the LimitTradeCountPerPair=EURUSD=1,EURGBP=2

These comma-separated parameters tell Client EA to limit the count of trades for EURUSD to 1 and for EURGBP to 2.

Important things to note:

  1. Client EA will count all trades on the account of specific pairs regardless if they were opened by the Client EA, manually or 3rd party. It means if you limit to one EURUSD trade on the account the Client EA will obey this no matter how that one EURUSD trade got on the account.
  2. The list of pairs is case insensitive. It means EurUsd, eurusd, and EURUSD is the same for the Client EA.
  3. Important to use the pair name exactly as it appears on the client account. If a client has EURUSDc and master has EURUSD, then you enter EURUSDc into that parameter on the Client EA. Of course, it could be eurusdc or EurUsdC because it is not case-sensitive. What’s important here is the suffix at the end.
  4. You can use word ANY as the Pair name which allows you to limit a count of trades for any other pair. If you set EURUSD=3,ANY=1 the Client EA will allow max 3 trades of EURUSD and max 1 trade of any other pair (1 trade per pair).

ExternalTradeFilter and ExternalTradeFilterPrefix – LTC can be set to not copy certain trades by using external “trade filter indicators”. You will find some filters installed under the „Custom Indicators“ in the Navigator window and their name usually starts with the „LTC Trade Filter – X“ where X is the name of the indicator the filter is added into.

For example „LTC Trade Filter – MACD“ is the trade filter that uses MACD to determine trade direction. If MACD indicator bars are above zero it will give „ignore SELL trades signal“ for the symbol (currency pair) it is attached to. In this case Client EA will not copy any of the SELL trades that the Server EA sends. Such filters can be integrated into any MT4 compatible indicator and used with Client EA.

Note that ExternalTradeFilterPrefix value in the Client EA must match the same value in the indicator settings. By default this filter is disabled and you can enable it by setting ExternalTradeFilter=true and attaching „trade filter indicators“ to the chart. „Filter indicator“ attached to the EURUSD chart will filter trades only for the EURUSD pair, it means that it will not affect trades for GBPUSD or any other pairs.

Once a “filter indicator” is removed from the chart it will no longer be applied and Client EA will not use it. You can use any number of “filter indicators” at the same time. Read more about “trade filter indicators” below.


RectangleTimeFilter – this feature allows you to filter trades by time. In other words, you can set the Server EA and/or Client EA to not copy trades that happen during a specified time range. By default this filter is disabled and you can enable it by setting RectangleTimeFilter=true. Read more about this feature below in this document.


DailyTimeFilterMode and DailyTimeFilter – these options allow you to set one or multiple time periods to tell the EA when it is allowed to accept the trades from the master account(s). When DailyTimeFilter is empty the EA is allowed to trade at all times.

The DailyTimeFilterMode option tells the EA how those time periods should be used. If you set this to MODE_ALLOW this means the EA will only accept the trades during those specific time periods. If you set this to MODE_DENY this means the EA will be allowed to trade at all times except during those specific time periods.

Time periods should be entered in this strict format HH:MM-HH:MM and if you have multiple periods you need to separate them with commas. This feature will use broker time, the one that you see on the Market Watch window in your MT4 platform.

Example #1: With these settings below the Client EA will be allowed to accept the trades only from 10:00 until 11:00 and from 15:00 until 15:45. This means that from 11:00 until 15:00 and from 15:45 until 10:00 trades will not be copied.

DailyTimeFilterMode=MODE_ALLOW
DailyTimeFilter=10:00-11:00,15:00-15:45

Example #2: With these settings below the Client EA will be allowed to accept the trades anytime except from 16:30 until 18:00 and from 23:00 until 02:00. This means that trade copying will be denied from 16:30 until 18:00 and from 23:00 until 02:00.

DailyTimeFilterMode=MODE_DENY
DailyTimeFilter=16:30-18:00,23:00-02:00


DelayTradesWhenEquityBelowXPercent and DelayTradesWhenEquityBelowXMoney – this parameter allows you to delay and not copy the trades when client account equity is below X level in deposit currency or percentage.

For example, Client EA is set to delay trades when equity drops below $9,500 USD (considering that this was configured on a USD account). Once equity drops below this level Client EA will not copy any new trades, but continue to manage (modify or close if necessary) any currently existing copied trades. When trades are delayed you will see the “clock icon” turning red, “delayed trade counter” increased and a message printed in the Experts tab about the delayed trade. Once the equity gets back above the preset level Client EA will copy the trade(s) that were delayed.

Another example would be if the Client EA is set to delay trades when equity drops below 80%. If this was on a $10,000 USD account then EA would delay trades when equity drops below $8,000 USD (80% of the account balance).

By default, these parameters are set to zero which means they are disabled and trades will not be delayed because of equity level.

EA will ignore DelayTradesWhenEquityBelowXMoney when DelayTradesWhenEquityBelowXPercent is set.


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 a 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 orders 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 the 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. This 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.


IgnoreWeekDays – this is where you can set on which weekdays Client EA is allowed to receive trades from the master account(s). Note that it is about the weekday that the particular trade was opened on. Say if you have a trade opened on July 23rd, 2014, Wednesday, and you set the Client EA to ignore Wednesdays trades (IgnoreWeekDays=3), this means that such trade won’t be copied to the client account(s) not only on Wednesday but even on other weekdays if you are using IgnoreTradesBeforeTimeStamp option.

You can enter a comma-separated list of weekdays like this: IgnoreWeekDays=3,5,2

By default, EA receives trades from all weekdays.


FilterByTradeType – by default this value is empty and this means Client EA will copy trades of all types, but using this option you can set it to copy only certain types of orders. All you need to do is to enter a comma-separated list of order types that Client EA is allowed to copy. Order types are represented in numbers exactly as they appear in the MQL4 programming language code.

0 = BUY; 1 = SELL; 2 = BUY LIMIT; 3 = SELL LIMIT; 4 = BUY STOP; 5 = SELL STOP;

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


MaxTrades – this is where you can set how many trades EA is allowed to open/copy. This takes into consideration both, trades and pending orders. It wouldn’t make sense to count only open trades, because any pending order might be triggered any time, which might exceed the limit of open trades immediately.

MaxTrades is a very useful parameter when you do not want the Client EA to copy too many trades received from the master account. By default, this feature is set to zero and this means an unlimited number of trades can be opened/copied.

Client EA can delay or ignore the trades when the limit is exceeded and you can control that using parameter IfMaxTradesReached.


IfMaxTradesReached – this parameter allows you to choose what Client EA should do with the trades that were not copied because of the MaxTrades limit exceeded. Available options are “Delay trades” (default behavior) or “Ignore trades“.

In case when “delay trades” is selected, the Client EA will delay and not copy any new trades if there is no more room (MaxTrades limit exceeded). When one or more trades are closed on the client account and there’s free room for more trades, the Client EA will copy more trades to fill in the available room.

In case when “ignore trades” is selected, the Client EA will disregard any new trades if there’s no more room. When one or more trades are closed none of the ignored trades will be copied. In such a case, the only way these ignored trades can be copied is if you close Client EA and then start it again with CopyOpenPositions=true and IgnorePriceDeviation=true.


TradePairs – here you can make a comma-separated list of currency pairs that EA can trade. No other currency pair will be traded. You don’t need to use suffix in this list, just a regular currency pair name.

Example: if you want to trade only GBPUSD and EURUSD you should set it like this: TradePairs=EURUSD,GBPUSD


DontTradePairs – here you can make a comma-separated list of currency pairs that EA can NOT trade. You don’t need to use suffix in this list, just a regular currency pair name.

Example: if you want to NOT trade AUDUSD and USDCAD you should set it like this: DontTradePairs=AUDUSD,USDCAD


DelayPendingOrdersForSeconds – by default EA will copy all pending orders immediately, but with this setting, you can set a delay in seconds. The default value is 0 (turned off), but you can set any number. Example: setting this value to 600 will delay all pending orders for 10 minutes (600 seconds).


IgnorePendingOrders – this feature lets you set EA to not place any pending orders received from the server. If those pending orders will be triggered on the master account, they will be immediately opened on the slave account as market orders. This solves the problem when the pending orders are triggered only on the master and not on the slave account because of different spreads between different brokers or different types of accounts. Also, it is useful if you place a lot of pending orders on the master account and only 10-20% of them are triggered. By setting this setting to true you can skip a lot of pending orders placed on slave accounts.


OpenNonTriggeredPendingOrders – by default EA will copy trades that were opened on the master account only after the Client EA was started. This means that if the trade was opened on the master account and you start the Client EA a few seconds or minutes later it will not be copied. But this option allows you to set EA to copy pending orders that were not triggered yet on the master account. Enabled by default.


ExcludeMagicNumber – with this variable you can set the Client EA to ignore trades with the certain magic number(s) sent from the master account. By default value is empty which means this feature is disabled. You can enter one or multiple magic numbers (comma separated) and Client EA will ignore any trades that have those magic number(s) set on the master trades. Zero value means Client EA will ignore manually opened trades on the master account.


FilterMagicNumber – with this variable you can set the Client EA to receive only trades with the specified magic number(s). By default value is empty which means this feature is disabled. You can enter one or multiple magic numbers (comma separated) and Client EA will copy only these master trades that have specified magic number(s). Zero value means Client EA will receive manually opened trades on the master account. Very useful if you send multiple trade groups from the same or multiple master accounts.


ExcludeTradeComment – with this variable you can set the Client EA to ignore trades with certain trade comments and not copy them to the slave account(s). The trades that contain these values in the master trade comments will be ignored and not copied to the slave account(s). This variable is case sensitive. By default value is empty which means this feature is disabled.

You can enter multiple values separated by a comma. You can change the separator in the TradeCommentDelimiter.

Example: If you set this value to “Trader” Client EA will not receive trades with trade comments like “Trader123” or “Candle Range Trader”, but will receive trades with the trade comments like “My trader” or “Trade 999”.

Useful tutorial: Copy Or Exclude Positions By Trade Comments


FilterTradeComment – with this variable you can set the Client EA to receive trades only with the certain “trade comments”. Only the trades that contain these values in the master trade comments will be copied to the slave account(s). This variable is case sensitive. By default value is empty which means this feature is disabled.

You can enter multiple values separated by a comma. You can change the separator in the TradeCommentDelimiter.

Example: If you set this value to “Trader” Client EA will receive only trades with the “trade comments” like “Trader123” or “Candle Range Trader”, but will not receive trades with the “trade comments” like “My trader” or “Trade 999”.

Useful tutorial: Copy Or Exclude Positions By Trade Comments


TradeCommentDelimiter – this is where you can set custom a separator for trade comment filtering. This delimiter is used with the ExcludeTradeComment and FilterTradeComment settings.


TimeLagTradeOpen – this setting allows you to avoid trades opened within a custom time range. This value is set in seconds. By default, it is set to 0 (zero) which means this feature is disabled. Example: if you set this value to 60, this means that after a trade is received by the Client EA, it will ignore any further new trades for the next 60 seconds.


DiscardDisallowedTradeSizes – Every broker has lot size limitations and those are minimum lot size and maximum lot size. When the Client EA needs to open an order with a lot size that is off the broker’s limit it will automatically adjust the lot size and open a trade.

An example would be if the broker’s minimum allowed lot size is 0.1 and a trade received should be placed using a lot size of 0.09, the Client EA will adjust that lot size to 0.1 and open it.

The DiscardDisallowedTradeSizes option is set to false by default and adjusting lot sizes automatically is the default EA behavior.

With the DiscardDisallowedTradeSizes option set to true EA would ignore any trade which lot size if off the broker limits. Note that the lot size here is the lot size that is calculated according to the Client EA risk options.


MinLotSizeAllowed – this is where you set min lot size allowed for the trades on slave account. If this value is set to zero this feature is disabled and there are no minimum lot size restrictions except for the broker restrictions. This feature works in conjunction with the IgnoreTooSmallLotSizeTrades. If you set IgnoreTooSmallLotSizeTrades to false, EA will adjust lot size to the minimum allowed if the lot size is too small. Otherwise, if IgnoreTooSmallLotSizeTrades is set to true, EA will ignore trades with the lot size that is too small.


MaxLotSizeAllowed – this is where you set max lot size allowed for the trades on the slave account. If this value is set to zero this feature is disabled and there are no maximum lot size restrictions except for the broker restrictions. This feature works in conjunction with the IgnoreTooBigLotSizeTrades. If you set IgnoreTooBigLotSizeTrades to false, EA will adjust lot size to the maximum allowed broker lot size if the lot size is too big. Otherwise, if the IgnoreTooBigLotSizeTrades is set to true, EA will ignore trades with the lot size that is too big.


IgnoreTooSmallLotSizeTrades and IgnoreTooBigLotSizeTrades – refer to MinLotSizeAllowed and MaxLotSizeAllowed.


MinSLAllowed – this is where you set a minimum stop loss value allowed for the trades on the slave account. If this value is set to zero this feature is disabled and there are no minimum stop loss restrictions except for the broker restrictions. This feature works in conjunction with the IgnoreTooSmallSLTrades. If you set IgnoreTooSmallSLTrades to false, EA will adjust stop loss to the minimum allowed value if it is too small. Otherwise, if IgnoreTooSmallSLTrades is set to true, EA will ignore trades with the stop loss value that is too small.


MaxSLAllowed – this is where you set max stop loss value allowed for the trades on the slave account. If this value is set to zero this feature is disabled and there are no maximum stop loss restrictions. This feature works in conjunction with the IgnoreTooBigSLTrades. If you set IgnoreTooBigSLTrades to false, EA will adjust stop loss to the maximum allowed value if it is too big. Otherwise, if the IgnoreTooBigSLTrades is set to true, EA will ignore trades with the stop loss value that is too big.


IgnoreTooSmallSLTrades and IgnoreTooBigSLTrades – refer to MinSLAllowed and MaxSLAllowed.


MinTPAllowed – this is where you set a minimum take profit value allowed to the trades on the slave account. If this value is set to zero this feature is disabled and there are no minimum take profit restrictions except for the broker restrictions. This is a bit different from the MinSLAllowed and EA does not have an option to adjust the take profit. EA will just ignore the trade completely if the TP is too small. This feature was added to protect your account from the scalpers that open trades with a very small take profit values.


MarginLimitPercent – this allows you to control how much margin of your account can be used for trading. By default, it is set to 70% and this means that Client EA will not open new positions if the account margin in use reaches above 70%. In such a case, trades will be delayed and you’ll see a “red clock” icon on the screen. Once margin in use drops below 70% all delayed trades will be opened automatically (assuming the entry price is within range of max deviation allowed). Here’s how EA calculates this. Client EA will calculate the “Margin in use in percentage” using this formula ((AccountMargin / AccountEquity) * 100). If the resulting number is higher than the MarginLimitPercent the Client EA will delay all new incoming trades.


ZeroStopLossOrderCloseInSeconds – this feature will close any trade that does not have a stop-loss set for a certain number of seconds. For example, if you set this value to 60, EA will wait 60 seconds for any trade to have its stop-loss set. If stop loss will not be set in 60 seconds the trade will be closed. This is very useful if you want to protect your account from trades with zero stop loss sent from the master account. By default, it is set to zero which means this feature is disabled.


CopyOpenPositions – this tells the Client EA to copy currently open positions on the master account. If you need to set a custom date to filter which open trades should actually be copied, then you can additionally use the IgnoreTradesBeforeTimeStamp. Also, see Deviation settings and IgnoreTradesWhenTooFar parameter as they are a part of the current open positions copying process.


IgnoreTradesBeforeTimeStamp – this feature allows you to control what trades should be ignored on the Client EA start-up. By default this value is empty and EA will copy only the trades that were opened on the server-side after the Client EA was started. This means that if the trade was opened on the server-side and you start the Client EA a few seconds or minutes later it will not be copied. Instead, Client EA will wait for new trades.

You can use this parameter in two ways. One way of using it is together with the CopyOpenPositions. Another way of using it is as a regular trade filter.

  1. When using this parameter with the CopyOpenPositions=TRUE you are telling the Client EA which of the currently open trades should it copy from the master. If you set this value to something like “2012.07.24 10:35”, all trades opened until this date will be ignored and the rest (opened after this date) will be opened immediately if EA settings comply.
  2. If you’ll use it as a regular filter (CopyOpenPositions=FALSE), you can set the date in the future for this parameter. In such a case, the Client EA will not start copying any trades until that date and time. For example, if today is the 2nd of April and you set IgnoreTradesBeforeTimeStamp=2020.04.03 08:30:00, the Client EA will not copy any trades until 8:30 next day.

Be aware that Client EA will use its broker clock so there could be an offset if your master account broker clock is in a different time zone. Also note, that all parameters of such kind in the trade copier use a 24-hour format.


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.


Trade Manipulations

ReverseTrades – This feature will reverse all the orders received from the master account, but it will keep the original SL/TP values.  For example, if the master account sends a BUY trade with a 35 pip SL and a 50 pip TP the Client EA will turn this into a SELL trade with a 35 pip SL and a 50 pip TP. You can swap the SL and TP values using SwapSLTP.


ShiftEntryPips – this setting allows you to shift trade entry price by a certain number of pips. At this point, market orders will become pending orders on the slave account.

Example 1: You have BUY @ 1.3200 on the master; you have ShiftEntryPips=30.0; the client EA will place BUY STOP pending order @ 1.3230. You can set negative numbers as well. In the previous example if we had ShiftEntryPips=-50 (negative number) EA would place BUY LIMIT @ 1.3150.

Example 2: You have SELL @ 127.50 on the master; you have ShiftEntryPips=30.0; the client EA will place SELL STOP pending order @ 127.20. If we had ShiftEntryPips=-50 (negative number) EA would place SELL LIMIT @ 128.00.


RelativeShift – this setting works with ShiftEntryPips. By default, it is set to true. In this case, positive ShiftEntryPips number will shift trade entry forward (up for buy trades and down for sell trades). And the negative numbers will shift the entry price back (down for buy trades and up for sell trades) which means that price will have to retrace back in order to trigger shifted trade. If you set RelativeShift to false, EA will calculate entry price by simple math formula where ShiftEntryPips will be added to entry price. So this means that negative numbers will shift entry price down and positive numbers will shift entry price up.


ShiftStops – this setting works with the ShiftEntryPips. By default it is disabled and EA will not shift stop loss and take profit with the entry price. Set this value to true if you want EA to shift stop loss and take profit as well accordingly.


CopyExactTradeComment – by default this option is turned on (TRUE), which means the Client EA will copy orders with the same “trade comments” as on the server-side. If this option is disabled then Client EA will look at TradeComment value to be used as “trade comment” for the copied order, otherwise, Client EA will ignore the TradeComment parameter.
Note that it works only when MagicNumber is set to zero (default value).


TradeComment – this allows you to set the trade comment for each trade that the Client EA will open. You can enter a simple text for the TradeComment parameter or you can use special variables inside braces or “curly brackets” to build custom trade comments for each trade. For example, setting TradeComment to something like {SCOMMENT} would make the Client EA use a server trade comment for the trade comment on the client-side trade. You can use multiple variables together with a regular text too.
Note that it works only when MagicNumber is set to zero (default value) and when CopyExactTradeComment is disabled.

List of variables that can be used:

  • SCOMMENT – Server Trade Comment
  • SMAGIC – Server Trade Magic Number
  • STICKET – Server Trade Ticket Number
  • SSYMBOL – Server Trade Symbol
  • SLOT – Server Trade Lot Size
  • STYPE – Server Trade Type
  • SOPRICE – Server Trade Open Price
  • SANUMBER – Server Account Number
  • SACURRENCY – Server Account Currency
  • CMAGIC – Client Trade Magic Number
  • CSYMBOL – Client Trade Symbol
  • CLOT – Client Trade Lot Size
  • CTYPE – Client Trade Type
  • CANUMBER – Client Account Number
  • CACURRENCY – Client Account Currency
  • LTIME_DATE – Local computer date in the format “yyyy.mm.dd”
  • LTIME_MINUTES – Local computer time in the format “hh:mm”
  • LTIME_SECONDS – Local computer time in the format “hh:mm:ss”
  • BTIME_DATE – Broker server date in the format “yyyy.mm.dd”
  • BTIME_MINUTES – Broker server time in the format “hh:mm”
  • BTIME_SECONDS – Broker server time in the format “hh:mm:ss”
  • SPID – Signal Provider ID

Example #1
TradeComment=Server #{SANUMBER} {STYPE}
This would produce the following trade comment on the client-side: Server #123 BUY LIMIT
123 in our example is the master account number obviously.
Such a trade comment is quite useful when you are copying pending orders from multiple master accounts. This trade comment can tell us which master account it came from and once this pending order will get triggered on the client account you will also know if it was pending order before or not.

Example #2

TradeComment={STYPE} @ {SOPRICE}
This would produce the following trade comment on the client side: SELL @ 1.22352 or whatever open price of the server trade is.
Such trade comment is quite useful in reverse trading mode. In our example, the reversed trade would be BUY while in the trade comments it shows that the trade type on the server-side is SELL. Also, it adds open price from the server-side trade too which helps you easily to compare that with the open price of the client-side trade.

IMPORTANT: Note that there is a limitation for trade comments implemented by the MT4 platform. Max trade comment length cannot exceed 31 characters and any text longer than that will be cut. Also, note that the broker can overwrite trade comments.

SplitLots and SplitLotsMax – these two options allows you to split one trade into multiple trades on the client account when copying trades. This adds a high volume trade support in the Client EA and mostly is useful for institutional trades that need to use very big lot sizes on the slave account when a broker does not allow that.

Example #1: Say the broker lot size limit on the slave account is 50 but you want to copy trade of lot size 330. In this case, you would need to set the SplitLots to TRUE and Client EA will open 7 trades with the exact same parameters. 6 trades would be of 50 lot size and the 7th trade would be 30 lot size (6 x 50 + 30 = 330).

In most cases, the SplitLotsMax variable should not be used, because the broker reports the maximum allowed lot size to the EA (in our example 50 lots). But there were cases when brokers report this number incorrectly so the SplitLotsMax option allows you to set it manually by yourself. You can also use this to your advantage if you want to split your trade into smaller lot sizes.

Example #2: SplitLots=true, SplitLotsMax=0.2; When the trade of 1.0 lot size is copied the Client EA will split that trade in 5 trades (0.2 lot size each). SplitLotsMax by default is set to zero, which means Client EA will detect the max lot size automatically.

IMPORTANT! SplitLots function does not take partial closing (a.k.a. scaling out) into account. If you close a portion of a master trade, the Client EA might close all trades (occurred from SplitLots) on the client account or, it might be closed only after you fully close master trade.

Useful tutorial: SplitLots function explained


XPairs functions

XPairs – this feature is used in conjunction with the XLotMultiplier, XTakeProfitMultiplier and the XStopLossMultiplier. If you want to adjust lot size, stop loss and/or take profit for the trades of only certain currency pairs you may use these settings. The XPairs must have the exact pair/symbol names of the trades that you want to adjust. This is very useful when your broker applies different settings for metals (like Gold, Silver) or some other non-Forex pairs (like SP500).

Note that these multipliers will be applied additionally to the lot size that Client EA normally would use (after it has applied selected money management function).

Example #1: You set XLotMultiplier=10 and you have FixedLotSize=2 as your main risk option. This means the resulting trade would have 2 x 10 = 20 lot size.

Example #2: You use a broker for slave account which has a minimum allowed lot size of 1.0 for XAUUSD pair and your main risk option is RiskRatioServer=1. Now on the server-side, you open trade of 0.8 lot size, but because you have a two times smaller slave account the resulting lot size for the copied trade normally would be 0.4 (two times smaller as well). What Client EA would do here is that it would multiply that number by your XLotMultiplier value of 10 and then check if the resulting lot size is not too small. The resulting lot size, in this case, is 0.4 x 10 = 4.


XLotMultiplier, XTakeProfitMultiplier, and XStopLossMultiplier – refer to XPairs.


Alerts

Alert Level – this is where you can set an alert level, in other words, tells the Client EA what kind of alert messages it should send. EA can send an email message to your configured email account (enable using AlertByEmail) or Push Notifications (enable using AlertByPushNotifications) to your MT4 Mobile app on a device like Android, iPhone or iPad. What type of messages EA should send depends on the Alert Level you select. It could be an alert that the EA stopped operating, the trade signal is received or some other important events occurred.

Here is the list of available Alert Levels:

  • Alerts Disabled. This is the default value and it means Alerts are disabled.
  • Alert when Client EA stops. Client EA will send an alert message when it stops operating for some reason (note that if the MT4 crashes, the EA will not be able to send an alert message).
  • Alert on some trade open errors. Client EA will notify if it fails to execute a trade.
  • Alert on successful trade open/close. Client EA will notify about successfully opened and closed trades.

Note that email account settings must be set in the Metatrader 4 platform under Tools->Options->Email and Push Notification settings must be set under Tools->Options->Notifications.


Alert By Email – set this value to true if you want EA to send alert messages by email. This feature is active only if you have AlertLevel enabled.


Alert By Push Notifications – set this value to true if you want EA to send alert messages as Push Notifications to your MT4 Mobile app on devices like Android, iPhone or iPad. This feature is active only if you have AlertLevel enabled.


Dashboard

DashboardDisplay – this setting control how you want EA to display the dashboard (Blue Box with stats and parameters). If this value is set to 0 (zero), EA will not display the dashboard. If you set this value to 1, EA will display the dashboard without background. If you set this value to 2, EA will display the dashboard with the background set by DashboardColor. To display the dashboard on top of the chart you may need to uncheck the “Chart on foreground” box in the chart properties window (F8) “Common” tab.

The dashboard position on the screen was chosen wisely.

Notice that the dashboard is aligned to the left but there is space left. This space is reserved for your trade ticket numbers. Notice when you open trade and MT4 platform display trade type (buy/sell) and ticket number at the left of the chart. This is why the dashboard is moved a bit to the right to not cover that information.

Vertical alignment of the dashboard is set to the top but there is some space left and that is where EA will display critical errors in red bold text. This is very helpful to not miss any critical errors.
Dashboard icons are gray when they are not active and when EA wants you to notice something important the certain icons will turn red.


DashboardColor – refer to DashboardDisplay.


Other Settings

IgnoreLeverageUsingAAM – this parameter allows disabling the Client EA behavior which lowers the lot size when the client account leverage is smaller than the master account leverage. When the Client EA is using AA or AAM mode for money management and the leverage of client account is smaller than the one on the master account, the Client EA will lower the lot size accordingly to protect the client account capital. This helps to avoid margin calls or stop-out on the client account. However, should you want to disable this option, the new Client EA now has a new parameter for this.

Here’s an example of how this would look like if the money management mode is AA (Auto-Adjust to account size) and this protection is enabled (it is enabled by default). Let’s say the master account is $1,000 (1:100 leverage) and the client account is $5,000 (1:25 leverage). The Client EA will copy 0.2 trade to the client account at the lot size of 1.25 because the client account leverage is 4 times smaller. If this protection was off, or the client account leverage would be bigger or the same as the master account leverage, the lot size would be 5.0. But because the client account leverage is 4 times smaller the Client EA makes the resulting lot sie 4 times smaller as well.

Useful tutorial: Money Management settings explained in MT4 Trade Copier


AccountSizeClient and AccountSizeClientMode – these options allow you to make the Client EA think that the account size it is running on is exactly what you set. In other words, using these options you can override original client account size and use your predefined number instead. This is used for lot size calculation with RiskRatioServer, Risk_Percent, and LotMoneyRatio risk management options.

The primary usage of this feature is to allocate just a portion of a client account for trade copying and protect the rest of the funds.

Use AccountSizeClientMode to choose which method you prefer EA to use. There are two options:

Add to current Account Size (MODE_ADD) – tells the EA to add AccountSizeClient value to current client account size.

Replace current Account Size (MODE_OVERRIDE) – tells the EA to replace current client account size with the AccountSizeClient value.

Example #1: Original client account size $10,000, but you set MODE_ OVERRIDE and choose a new “virtual” account size of just $2,000. Now Client EA will calculate lot size as it was working on a $2,000 account. In reality, this case makes EA risk 5 times less, because the original size is still $10,000. In other words, this way you allocate only 20% of the original account balance for trade copying.

Example #2: Original client account size $5,000, but you choose MODE_ADD and add additional $15,000 (using AccountSizeClient) on top. Now Client EA will calculate lot size according to the “virtual” account size of $20,000. In reality, this case makes EA risk 4x times more because the original account size is still $5,000. This is useful if you actually have that $15,000 in your bank or in another account, but for safety reasons, you do not want to throw it all into your account for trade copying. In case you see it’s necessary, you can transfer additional funds to the client account fast.

Important! When you set AccountSizeClient, your account will still have the same account balance you see in MT4. It does not add money to a client account. It just affects lot size calculation as this makes Client EA think client MT4 account size is different.


MagicNumber – by default this value is set to zero and this means the Client EA will use a variable magic number for each trade. To be exact, the magic number set for the trade will be equal to the remote trade ticket of that particular trade. It means each trade copied to the client account will have a different magic number and that is how the Client EA will recognize which trade is the parent of the copied trade. This is what allows this application to compare the remote trades (master account trades) with the trades that were copied to the client-side.

Normally you do not need to change this value and just leave it as is.

“Partial Close” and “Close By” features are enabled by default by having MagicNumber=0 (zero) in the Client EA, but then you can run only a single instance of the Client EA on the same MT4 account  (even on different computers).

If you change MagicNumber option to anything above zero the “Partial Close” and “Close By” features will not work, but then you will be able to run multiple instances of the Client EA on the same MT4 platform (make sure you use different MagicNumber for each EA instance).


CustomPipSizes – This option allows you to create a custom pip precision for each of the non-Forex pairs you need to use with the trade copier. Every broker has a different pip precision for non-Forex pairs and EA will do its best to detect that automatically. However, in some cases, you might find it working improperly for some non-Forex pairs. This is why CustomPipSizes were created. To set the custom pip sizes you need to enter a comma-separated list of symbols/pairs and pip sizes.
Example: CustomPipSizes=XAUUSD=0.1,XAGUSD=0.01,WTI=0.1


Signal_Provider_ID – this setting allows you to set a unique ID for every master account (Server EA) you run on the computer/VPS. This will create individual groups of trades. So you can have different master accounts sending trades to different groups of slave accounts on the same computer/VPS. By default, this is set to 1, which means LTC licenses that do not have this option always send trades to group #1.

Useful tutorial: The difference between Signal_Provider_ID and the “Copy Trades From” (FilterMasterAccounts)


MartingaleMultiplier and MartingaleCountLimit – these options allow you to set the Client EA to apply martingale lot-sizing before each trade is copied. By default, the multiplier is set to zero and it means this feature is disabled. Once you set this value to anything above zero the Client EA will start working in “Martingale mode”.

Count limit number is set to 7 by default, but you can change that as you wish. Zero value means there is no limit and EA will apply martingale until there is not enough margin in your account, which I do not recommend. The default count limit of 7 means that if you start with the 0.01 lot size eventually the largest lot size you can get is 1.28 (when using a multiplier of 2).

Here’s how this whole thing works. Before copying a new trade the Client EA will always check the last closed trade’s profit for that particular instrument (currency pair). If the trade was closed in profit the Client EA will calculate a lot size according to your risk option, but if the trade was closed in loss (and the number of last closed consecutive loss trades does not exceed count limit) the Client EA will multiply that last closed trade’s lot size by the MartingaleMultiplier value. Note that the MaxLotSizeAllowed and IgnoreTooBigLotSizeTrades options can be used with this martingale feature as well.

Important to mention that this feature will check only last closed trades on the same currency pair in question and this is how it will determine if the next lot size should be multiplied or not. If you run multiple trades on the same currency pair this option might not work properly because it would be impossible to know which trade’s lot size should be multiplied. So when using this option you should note that it works properly only for those trading strategies that have no more than one trade per instrument.

Example: Say we have MartingaleMultiplier=2 and the last trade of 0.2 lot size was closed in a loss. When a new trade signal will be received here’s how the Client EA will calculate the lot size for this new trade: 0.2 x 2 = 0.4. If this trade closes in loss then the next trade size will be 0.4 x 2 = 0.8 and this will repeat until trade closes in profit or the MartingaleCountLimit is reached. Once a trade closes in profit or the limit of losing positions is reached the cycle will restart.

IMPORTANT: For Martingale to function properly you need to select the “Show All” option in the “Account History” tab at the bottom of the MT4 platform. Simply right-click with your mouse inside that tab somewhere and choose “Show All”.

Useful tutorial: Martingale Mode in MT4 Local Trade Copier


SyncRate – this is where you can set the frequency of synchronization between the master and slave accounts. This value is set in milliseconds. By default, it is set to 400 and this means that EA‘s will exchange information every 400 milliseconds. I do not recommend setting this value to a higher number unless your trading system is using pending orders. Keep in mind that when you lower this value, the EA will use more computer resources. I do not recommend using value below 400 to not abuse broker servers and it is important to know that the default value of 400 is an optimal choice. This is because in most cases the trade copy delay comes from the broker server, not from the trade copier EA.


CustomWorkingDirectory – using this parameter you can copy trades between MT4 instances running on different user profiles on the same computer.

For example, on your computer, you have two user profiles: User1 and User2. You can run MT4 with Server EA on User1, then switch to User2 and have another MT4 running here with the Client EA. This way you can copy trades between those MT4 accounts running on different user profiles.

You need to set this parameter on all Server EA and Client EA to have the same folder name of the computer where both users have access to.


HideInputBoxes – this allows hiding the “Close & Stop” input boxes on the right side of the chart window. By default, this parameter is set to FALSE, which means “Close & Stop” input boxes will appear on the chart.

IMPORTANT! To make the “Stop & Close” boxes appear again, you will have to remove the Client EA from the chart and attach it again with the HideInputBoxes set to FALSE. Simply opening EA Inputs (F7) and changing this parameter to FALSE will not make the input boxes appear.


Useful tip

You can save your settings to make future reinstallations easier. Use the Save/Load buttons in the EA Inputs tab for this and click the OK button to finish.

This is also useful when you upgrade to another version of the LTC trade copier. 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 setting names always stays the same to not mess your configurations. If the settings order has changed or new settings have been added to the new EA version this should not cause any trouble as well.

Rimantas Petrauskas

Rimantas Petrauskas is one of the most well-known programmers among Forex traders. Having more than 20+ years of programming experience, he created two of the most popular trade copiers for the MetaTrader 4 platform—the Signal Magician and Local Trade Copier. Rimantas is also a best-selling author on Amazon after his book "How to Start Your Own Forex Signals Service" hit #4 in the Forex category during the first launch week.

17 Comments

  • Javier A garcia says:

    Is there an option to close all trades on client at end of trading week

  • Junaid says:

    I couldn’t manually change the TP/SL of the trade copied on the LTC Client side. it goes back to the value sent by the server LTC. Please advice

    • pdwalker says:

      Think about it – the client listens to the settings to the server, so if you change the settings on the client, the client will update the settings from the server.

      Either mark that trade as “do not manage”, or change the settings on the server side.

    • Yes, copier will always make sure that all trades match those on the server. If you want to manually edit SL/TP you have to set on the Client EA this parameter AcceptTradeModify=false

  • pdwalker says:

    Question: Is there a way to link a manually entered trade on the client side to a server side trade?

    For example, before I knew about the minimum lot size setting for the client, I had the server enter a trade. However, after the lot size multiplier was applied, the trade would have been 0.00 lots.

    Therefore, I entered in the trade manually at 0.01 lots and now I want to tie to a particular server side trade so that that both trades will be closed when the server trade us closed.

    I don’t see anything in the documentation, but I will keep reading.

  • Gerrard says:

    Is there any way:
    1) to close all open trade for a client for the day if a specific drawdown % for the day
    2) Don’t copy any more trades from master after this specific drawdonwn happen

  • Ash says:

    Can the Signal_Provider_ID field be populated by multiple entries, for example: 1, 3, 6 (the client will accept signal from Server ID 1, 3 and 6).

    • No, you can’t do that in one Client EA. You have a few options to achieve that:

      1. You can attach 3 Client EAs on three separate charts on the same MT4/MT5 client account. Set SPID 1 on the first Client EA, SPID 3 on the second Client EA, and SPID 6 on the third Client EA, etc. This way, you will also be able to use different risk management settings for each SPID.

      2. Another solution can be done when using one Client EA, no need to have multiple Client EAs. You can filter master accounts by account number instead of SPID.
      This video should help: https://www.youtube.com/watch?v=IbEaUjrbp1M

      I hope this helps.

  • Jorge says:

    Hi,
    when the client EA is not able to do the same trade at the same price as the server EA immediately, is it possible to limit that delay order, lets say for only 5 minutes? And if the client EA is not able to enter a trade with a similar price, during those 5 minutes, then just cancel that one. Can you help me?
    Thank you

    • Hi, Client EA is programmed to copy every trade as soon as it is possible. It does not have a time range for doing that. Client EA will keep trying to copy the trade and wait until the right price conditions, or it will stop doing that when the trade gets closed on the master account. But I like your idea of the 5-minute window and will consider this for the next version (no promises though).

  • Jorge says:

    One thing that could be useful for the next version is to, in the “Stops Manipulation Settings” both “TP X value” and “SL X value” to have an extra option:
    “Same value as on the master account plus fixed X value in Pips/Points”.
    It could actually be very useful to have this.
    Just an idea…
    Thanks

    • Hilmi says:

      Yes this is very needed. Especially for indices, brokers give different prices, although printed chart is same. Immediate entry is ok, however, SL value is based on masters SL, and it effects ofcourse calculated lot size and where SL is.

  • Justin says:

    Is there any kind of options for what happens if connection is lost between the server and client? Say VPS goes down or something while a trade is open…

    • You can configure Client EA to send emails/mobile notifications (via MT4 mobile app) if the EA stops working, which can happen if the Metatrader loses connection to your broker server.
      If VPS loses connection to the Internet, there’s no way for the EA to send any notifications because it is offline by that time.
      If VPS goes offline, then there’s no EA or Mt4 running, so there’s nothing alive to send notifications.

Leave a Reply to Rimantas Petrauskas Cancel Reply

Malcare WordPress Security