Exp COPYLOT CLIENT for MT4
Exp - COPYLOT CLIENT is a trade copier for МetaТrader 4. It copies forex trades from any accounts.
It is one of the best MT4-to-MT4 trade copiers today. The unique copying algorithm exactly copies all trades from the master account to your client account. The product is also noted for its high operation speed Tough error handling. A powerful set of features. All these qualities are combined in a single program - EXP - COPYLOT. The program can be run on multiple terminal bindings. Use it as a synchronizer of your trades on various investor accounts trading on one account, - COPYLOT will copy your trades to other terminals.
- Install the Expert Advisor in the terminal where you want to copy trades.
- Specify any text label name as pathRead, for example, "COPY". This should match the master terminal (to bind the two terminals).
- To copy trades, you need to install the free MASTER copier in the terminal from where you want to copy the trades: COPYLOT Master for MT4 or COPYLOT Master for MT5.
The list of copier functions and their descriptions can be found on the blog
Warning: To duplicate positions in your account, you can download our deals Duplicator Duplicator
Before you buy, you can test the demo version of the product: COPYLOT CLIENT DEMO.
You can also copy trades to a MT5 terminal using COPYLOT CLIENT for MT5.
- pathREAD - path to the file, which will contain information about the current positions/orders (do not change with no experience).
- Magic - the magic number for opening/closing.
- PreFixSymbol - additional symbol(s) in the name of the client's currency pair.
- Lot - the lot for opening. If 0, it opens deals with the current master lot. Otherwise, the lot to be used for trade copying is specified.
- RiskLot - a trade in the client's terminal will open with a lot equal to RiskLot % of the available funds of the client. The formula for calculating the lot is available in the article.
- KoefLot - if 0, it is disabled. If there is a coefficient, then positions will be opened with this coefficient in the client's terminal.
- TakeProfitCopy - copying take profit from the master account.
- StopLossCopy - copying stop loss from the master account.
- ReverseCopy - revert trades (take profit and stop loss are also inverted).
- PendingOrdersCopy - copy pending orders, true or false.
- PricePointSlip - price deviation during copying.
- ProfitCopyOnly - copy only profitable positions.
- OnlyProfitPips - minimum profit value of a trade in points.
- LossCopyOnly - copy only losing positions.
- OnlyLossPips - loss value in points.
- NewTradeONLY - copy only new trades.
- SLEEPING - pauses between code execution in milliseconds.
- ClosePosbyMaster - close client's positions if master positions are closed.
- TP_adjust - addition (if "-" sign, the subtraction) of a specified number of points for TakeProfit.
- SL_adjust - addition (if "-" sign, the subtraction) of a specified number of points for Stoploss.
- My_STOPLOSS - setting your own stop loss from the current open price.
- My_TAKEPROFIT - setting your own take profit from the current open price.
- VirtualStopLossTakeProfit - virtual stop loss and take profit from the master.
- TrailingStopUSE - use trailing stop for open positions.
- BeZubitok True - enable breakeven. Copying of stop loss and take profit is disabled in this case.
- MaxPosBySymbol - the maximum number of positions for the symbol to be copied. 0 – unlimited. For example: you want to the client to copy only 2 position on 1 currency pair out of 10 open positions in the wizard. If you set the parameter to 2, only the first two positions of each pair will be copied from the master. It reduces lot on deposit. If a position is closed, the net position is copied from the master. Maximum number of simultaneously opened positions (of a client). This parameter is required to limit the risks, if we want to copy, for example, only 5 trades, rather than 12 open in the Master terminal. And the remaining 7 trades must be kept in the queue and be opened in accordance with PricePointSleep.
- MaxSymboll - the maximum number of symbols to copy. 0 – unlimited. For example: you want to copy only 2 currency pairs of 10 possible on the master. When set to 2, the first two currency pairs will be copied. It reduces lot on deposit.
Added new parameter RiskRate - ratio of your currency relative to USD.
Default is RiskRate = 0, which means that the EA will try to find the right conversion rate in the Market Watch.
In order to provide proper operation of the Autolot function with all currencies, you should enable All currency pairs in the Market Watch.
If the timer cannot be started, the tickwise operation starts.
Otherwise, the timer is used.
Warning: If the EA fails to start by timer, the copying speed is lower due to the OnTick function features.
Fixed stop loss modification error in cases when stop loss is in the breakeven zone.
In case the terminal generates an error of setting the timer for milliseconds - the EA automatically sets the nearest second timer.
For example, if Sleeping = 300 ms, and the terminal generates an error, the EA will automatically set the timer to 1s.
Limiting loss per day\month\week
Limiting LimitFor - limit type day\week\month
LimitForLosses - profit based limit
LimitForProfits- loss based limit
LimitType - limit type on dollars, points, percent of deposit
ClosebyLIMITING - close EA;s trades when exceeding the limit
UseCurrentProfit - when calculating the limit, take into account current loss/profit
This feature can disable the EA operation, if it reaches a certain profit\loss in the deposit currency during one day\month\week. The EA will resume working on the next day/week/month
Example: LimitFor=DAY LimitForProfits=1 Close at a total profit of $10
You can also set LimitType for calculations. In dollars, points, percentage of the account balance.
If you need to close and delete all trades of the Expert Advisor once the limit is exceeded, you can set ClosebyLIMITING = true
UseCurrentProfit enables/disables the inclusion of current floating profit/loss into limit calculation
In some cases the StringLen command incorrectly determines the comment length
BUYSTOP and SELLIMIT are shifted by plus PendingPrice_adjust points.
SELLSTOP and BUYLIMIT are shifted by minus PendingPrice_adjust points.
the master has a pending BUYSTOP order at the price of 1,12400 and a SELLSTOP at the price of 1,12300
PendingPrice_adjust = 200
the client will open pending orders - BUYSTOP at the price of 1,12600 and SELLSTOP at the price of 1,12100
ReverseSLTP - reverse Stop loss and Take profit when reversing deals:
When copying and reversing deals from the master, the stop loss/take profit is reversed on the client
on master: SELL with stop loss=100 points, take profit = 300 points. The client copies: BUY with stop loss of 300 points and take profit = 100 points.
When copying and reversing deals from the master, the stop loss/take profit is not reversed on the client, but set according to the stop orders on the master.
on master: SELL with stop loss=100 points, take profit = 300 points. The client copies: BUY with stop loss of 100 points and take profit = 300 points.
Without rounding - place stop orders without rounding
To 1 digit - rounding to 1 digit. For example, if Stoploss= 1.23456, the trade will be opened with a stop loss of 1.23450
To 2 digits - rounding by 2 digits. For example, if Stoploss= 1.23456, the trade will be opened with a stop loss of 1.23400
Added the AutoRoundingGOLDSILVER parameter
For brokers, which allow to open positions on gold and silver only at prices rounded to 1 decimal place.
Added the CorrectSLTPbyMaster parameter:
Adjusts the stop loss and take profit distances if the opening prices are different on master and client:
opening price on master: 1,2000; Stop loss: 1,3000; Take profit: 1,1000;
opening price on client: 1,2500; Stop loss: 1,3500; Take profit: 1,1500;
The difference in the opening prices is 0,0500 points, the distances to Stop loss and Take profit are adjusted.
Added the RiskLotTypetype parameter:
Risk calculation type based on:
Balance - calculates the lot based on the current balance in respect to RiskLot percents
Free Margin - calculates the lot based on the free margin in respect to RiskLot percents
Stop loss - calculates the lot based on the stop loss of a trade in respect to RiskLot percents, if stop loss = 0, the trade will be opened with the lot of the master
Fixed the error of copying the GOLD symbol to the broker Fi**
If it's tunred on, all files are stored in the commen folder of the terminalю
If the PreFixSymbol="Auto" is specified:
If the currency name on the client terminal has a suffix, i.e. EURUSD.m, then the trades will be copied with the suffix ".m"
Added the OnTimer event handler which increases the stability and copying speed.
Fixed changing of the EA settings on the fly. Now the EA settings can be changed on the chart, without the need to restart the EA.
ReopenPosAfterClose - reopening a position that was closed in the client terminal, but us stoll open on the master.
Only for professional users!!!
It allows to re-open a position that was closed on the client by a trailing stop and is still open on the master.
FilterLotMin - minimum lot to copy
FilterLotMax - maximum lot to copy
A current profit/loss for the copier is now displayed on a chart allowing you to limit profits or losses on a clent account (the account deals are copied to).
Suppose that you want to copy deals to a client account with closed deals not exceeding the loss of $100 per week:
LimitForLosses = -100
As soon as the total loss (caused by copied deals) on a client account exceeds $100, copying is stopped. The next copying is conducted only the next week.
1. ChangingNamesSymbols - changes symbol names in the master and client terminals.
If symbol names differ in the master and client terminals, and PreFixSymbol doesn't help, you can add a list of new names.
Your master terminal has a symbol named
ES - USA500b (SP500)
the client terminal has
You can specify this correspondence in ChangingNamesSymbols like: mastersymbol=clientsymbol;
E.g.: ES - USA500b=FDAX-GER30b;
This is a required template: Master symbol name=Client symbol name;
LIFEHACK: You can also substitute symbols, e.g. a trade for EURUSD in the maste terminal can be copied as a trade for GBPUSD in the client terminal
2. PROFITLOSS_EXTRASETS4 - limiting profit and loss in the deposit currency.
If you want to limit losses for the current client magic, use this new block.
Example: you use multiple copiers with different magic numbers. And you want to restrict trade opening after a loss of -100 USD for 1 day (week, month)
Use the following parameters:
Once the loss for this magic reaches -100 USD for one day, no more new trades will be opened on this copier. All other functions will keep working.
The next day this parameter is reset to 0.
Adjustable parameter LimitFor= DAY;WEEK;MONTH;ALLTIME;
Modified functions when operating a large amount of trades. If a trade is not changed, the EA will skip it in analysis.
Added automated inversion of currency names (USDRUB USDRUR EURRUBEURRUR)
Variables of the int type are replaced by variables of the long type
If PositionsCopy is set to true, positions are copied.
At that all other functions work as usual (trailing, modification, etc.).
If VirtualStopLossTakeProfit is set to true, you can adjust your virtual stop loss, take profit and trailing stop:
- My_STOPLOSS - your stop loss in points (master's stop loss is not copied).
- My_TAKEPROFIT - your take profit in points (master's take profit is not copied).
- TrailingStopUSE - your trailing stop.
- IfProfTrail - profit trades only.
- TrailingStop - trailing stop distance.
- TrailingStep - trailing stop step.
rounding Open prices for pending orders;
rounding stop loss;
rounding take profit;
Without rounding - copy without rounding
To 1 digit - round 1 digit. For example, the Open price BUYSTOP = 1.23456, the transaction will be copied with the price 1.23450
To 2 digits - round 2 signs. For example, the Open price BUYSTOP = 1.23456, the transaction will be copied with the price 1.23400
If FilterLot = 0, all lots are copied.
If FilterLot = 0.1, all lots greater than or equal to 0.1 are copied.
If FilterLot = 1, all lots greater than or equal to 1 are copied.
When set to true, the EA places a take profit after a deal is closed on the master account only in the positive zone. If a deal is in loss after it is closed on the master account, take profit won't be placed until the trade enters profit area.
If set to false, the EA places take profit in any case, even if the position is losing.
After a deal is closed on the master, it is now possible to set a take profit for the deal on the client account based on the deal closing price on the master account, while leaving the deal open on the client account.
DeleteOrderbyMaster - a separate function for deleting pending orders by master
-------------OIP EXTRA SETS Pos to STOP or LIMIT orders--------------
OIP_Order_Instead_Position; - True False
OIP_TypeOrders; - order type (pending STOP or limit LIMIT)
OIP_DistanceOIP; - order distance
When opening a trade on a Master account, you can turn it into a pending order in the client terminal with the amount of points set in the EA settings.
Added ability to select Stop or Limit orders. Order reversal now occurs together with trade reversal.
Fixed operation of the functions:
MaxPosBySymbol - maximum amount of trades per one symbol
MaxSymboll - maximum amount of open trades
NumberPosbeforeCopy - minimum value of positions per one symbol of one direction on the master to be copied to the client.
When the block is on: If a position is closed on a master account, the appropriate position will not be closed on the client account. Instead, trailing stop or breakeven will be enabled on the client account.
That is, instead of closing the position on the client account, you have the opportunity to activate the trailing stop and maintain the position on.
Trailing settings are individual in this case. And it is only activated when the position is closed on the master account.
Warning: This function when turned on, automatically cancels the ClosePosbyMaster function
TPWCM_TralPosWhenCloseMaster = false;
TPWCM_TrailingStopUSE = false;
TPWCM_IfProfTrail = false;
TPWCM_TrailingStop = 0;
TPWCM_TrailingStep = 1;
TPWCM_BeZubitok = false;
TPWCM_LevelWLoss = 0;
TPWCM_LevelProfit = 0.