Description
Plugin for copying orders from master account (provider) to slave accounts (investors). This system is also called "Social Trading". The plugin supports 4 types of copying:
- Full volume size copying 1 for 1
- Copying a fixed volume size of each trade
- Copying a predefined percent of each trade
- Copying in proportion to investor’s equity
Full size copying 1 for 1
This copy type implies that the volume of a trade copied onto the investor's аccount is equal to the volume of the respective trade in the trader's аccount.
For example, if the trader opens 5 lots, the investor’s аccount will open 5 lots as well.
Copying a fixed size of each trade
This copy type implies that the volume of a trade copied onto the investor's аccount is always identical to the volume pre-set in copy settings.
For example, if the investor sets a «copy fixed size» of 2 lots and the trader opens 5 lots, 2 lots will be opened on the investor’s аccount.
Copying a predefined percent of each trade
This copy type implies that the volume of a trade copied onto the investor's аccount is identical to a pre-set percent of the volume of the respective trade on the trader’s аccount.
For example, if the investor sets 50% and the trader opens 5 lots, it will open 2.5 lots on the investor’s аccount. The investor can set from 1% to 10 000%.
Copying in proportion to investor’s equity
This copy type implies that the volume of a trade copied onto the investor's аccount is defined by the copy equity/trader’s equity ratio. The volume of the investor’s quity used for copying trades is defined in copy settings.
In case of using “all equity” as copy equity, it shall be equal to the current amount of funds in the investor's аccount at the moment of copying the trade.
This copy type implies that the volume of a trade to be copied onto the investor’s аccount is calculated in the following way:
Trade volume in the trader's аccount * copy equity/trader's equity = trade volume in the investor's аccount
*If the current equity amount in investor’s аccount is less than the indicated value, the current amount of the аccount equity will be used as this value.
For example, the equity on the trader's and investor’s аccount is $5000 and $10000 respectively:
- If the investor sets copy equity at 2,500, trades will be copied onto his/her аccount with coefficient of 2,500/5,000 = 0.5 (50% of the volume of the trader’s trade).
- If the investor sets copy equity at 6,000, trades will be copied onto his/her аccount with coefficient of 6,000/5,000 = 1.2 (120% of the volume of the trader’s trade).
- If the investor uses all equity as copy equity, trades will be copied onto his/her аccount with coefficient of 10,000/5,000 = 2 (200% of the volume of the trader’s trade).
Also plugin supports the ProfitSharing system, in which part of the slave's profit (the loss is not shared, only profitable orders) on the slave account is returned to the master account. This operation is carried out when the order is closed in the form of two balance operations: write-off from the balance of the slave account with a comment like "ST PSout master_account_number"; charging in the balance of the master account with a comment like "ST PSin: slave_account_number #slave_order".
System Operation Description
To create a master-slave binding and configure a copy settings, you need to write parameters to the comment and the status of the slave account:
The number of the master account should be written into the status of the slave account.
Information in the form of a set of values should be written into the comment of the account in format like ProfitSharing|Type|CopySettings|StopCopyingEquity|Paused|ProfitSharingMode
where:
- ProfitSharing - the percentage of the profit sharing (values of the profit sharing should be set without a percent sign)
- Type - type of copying (supported values: 1,2,3,4);
1 - Copying the full volume 1 to 1
2 - Fixed copy volume
3 - Copying the set percentage of the volume of each order
4 - Copying in proportion to investor funds
- CopySettings - copy settings;
- StopCopyingEquity - the equity of the slave account at which copying stops;
- Paused - copy stop flag (supported values: 0,1,2,4);
0 - Pause is disabled
1 - Pause initiated by slave account
2 - Pause initiated by the master account
4 - Global pause of copying in the system
- ProfitSharingMode - mode of dividing the profit (supported values: 0,1,2);
0 - Profit Sharing Disabled
1 - Profit Sharing is always calculated when the order is closed at a profit
2 - Profit Sharing is accrued when the order is closed at a profit and positive floating Profit / Loss on the master account
Example of a slave account comment when copying the full volume 1 to 1: 30|1|0|5000|0|0
this means that:
ProfitSharing = 30 - 30% of profit on a closed order with a slave account will be written off in favor of the master account
Type = 1 - Copying the full volume 1 to 1
CopySettings = 0 - means no settings, since the copying is 1 to 1
StopCopyingEquity = 5000 - Copying stops at an equity of 5000 on slave account
Paused = 0 - the account is in copy mode without pause
ProfitSharingMode = 0 - the mode of profit sharing is disabled
Example of a slave account comment for a fixed copy volume: 10|2|1|-1|0|0
this means that:
ProfitSharing = 10 - 10% of profit on a closed order with a slave account will be written off in favor of the master account
Type = 2 - Fixed copy volume
CopySettings = 1 - on the slave account, an order with a volume of 0.01 will be opened (the value of CopySettings with this type of copying is set in centilot)
StopCopyingEquity = -1 - Copying will go with equity > -1 on the slave account
Paused = 0 - the account is in copy mode without pause
ProfitSharingMode = 0 - the mode of profit sharing is disabled
Example of a slave account comment when copying a specified percentage of the volume of each order: 30|3|0.6|0|0|0
this means that:
ProfitSharing = 30 - 30% of profit on a closed order with a slave account will be written off in favor of the master account
Type = 3 - Copying the set percentage of the volume of each order
CopySettings = 0.6 - on the slave account will be opened an order with a volume of 0.6 of the order volume of master's one
StopCopyingEquity = 0 - Copying will only take place if the slave account has a positive equity
Paused = 0 - the account is in copy mode without pause
ProfitSharingMode = 0 - the mode of profit sharing is disabled
Example of a slave account comment when copying is proportional to investor funds: 25|4|500|5000|1|1
this means that:
ProfitSharing = 25 - 25% of profit on a closed order with a slave account will be written off in favor of the master account
Type = 4 - Copying proportionally to investor funds
CopySettings = 500 - the account equity will be used for copying, but not more than 500
StopCopyingEquity = 0 - Copying will only take place if the slave account has a positive equity
Paused = 1 - the account is in the pause mode initiated by the slave account
ProfitSharingMode = 1 - the mode of profit sharing is enabled
Settings:
AutoRepeatResetedRequests – flag to enable the autorepeat mode of rejected slave applications on a par with the re-quoted ones. If 1, the mode is activated.
Data type: | numeric |
Default value: | 0 |
Value example: | 1 |
CopyRequestsPrice – the flag for activating the copy mode of orders with the original prices, and not with the current ones. If 1, the mode is activated.
Data type: | numeric |
Default value: | 0 |
Value example: | 1 |
EnableExtraChecks – flag for the activation of the mode of additional check of closed orders. If 1, the mode is activated.
Data type: | numeric |
Default value: | 1 |
Value example: | 0 |
FilterSkip_LoginMaster – excludes filter of master accounts by account numbers.
Data type: | string |
Default value: | (empty value) |
Value example: | 11220,4466665 |
FilterSkip_LoginSlave – excludes filter of slave accounts by account numbers.
Data type: | string |
Default value: | (empty value) |
Value example: | 11220,4466665 |
Filter_GroupMaster – filter of groups of master accounts.
Data type: | string |
Default value: | * (all groups) |
Value example: | !*-USD,*-EUR |
Filter_GroupSlave – filter of groups of slave accounts.
Data type: | string |
Default value: | * (all groups) |
Value example: | !*-USD,*-EUR |
Filter_LoginMaster – filter of master accounts by account numbers.
Data type: | string |
Default value: | * (all accounts) |
Value example: | 11220,4466665 |
Filter_LoginSlave – filter of slave accounts by account numbers.
Data type: | string |
Default value: | * (all accounts) |
Value example: | 11220,4466665 |
Filter_MasterSymbol – filter by trading symbols of the master account.
Data type: | string |
Default value: | !* (all symbols prohibited) |
Value example: | !*CAD,USD*,EUR*,BTC* |
InvertOrderType – activation flag for inverting the order direction when copying (pending orders are not copied). If 1, the mode is activated (0 - disabled).
Data type: | numeric |
Default value: | 0 |
Value example: | 1 |
LogIncommingRequests – activation flag for the logging of incoming requests. If 1, the mode is activated.
Data type: | numeric |
Default value: | 0 |
Value example: | 1 |
LogInvalidSlaveSymbol (JL) – a mode of logging of copying errors in case of problems with trade symbols on the slave account (in case the trading symbol on the slave-account is not found). If J, then the log will be written to the MT4 log, if L - then the log will be written in a separate file.
Data type: | string |
Default value: | (empty value - disabled) |
Value example: | JL |
LogNoSlaveOrderFound (JL) – the logging mode for the absence of orders on the slave account when copying. If J, then the log will be written to the MT4 log, if L - then the log will be written in a separate file.
Data type: | string |
Default value: | (empty value - disabled) |
Value example: | J |
LogProcessingStats (JL) – mode of logging of process of copying orders. If J, then the log will be written to the MT4 log, if L - then the log will be written in a separate file.
Data type: | string |
Default value: | (empty value - disabled) |
Value example: | L |
LogRequestAquiring (JL) – mode of logging of master account requests. If J, then the log will be written to the MT4 log, if L - then the log will be written in a separate file.
Data type: | string |
Default value: | (empty value - disabled) |
Value example: | L |
LogZeroSlaveVolume (JL) – mode of logging of zero settlement volume for slave account when copying/closing. If J, then the log will be written to the MT4 log, if L - then the log will be written in a separate file.
Data type: | string |
Default value: | (empty value - disabled) |
Value example: | L |
LoggingMode (JL) – mode of logging of manager's requests. If J, then the log will be written to the MT4 log, if L - then the log will be written in a separate file.
Data type: | string |
Default value: | J |
Value example: | JL |
MasterSymbolPostfix – trade symbol suffix for converting master symbols to slave symbols.
Data type: | string |
Default value: | (empty value) |
Value example: | . |
MasterSymbolPrefix – trade symbol prefix for converting master symbols to slave symbols.
Data type: | string |
Default value: | (empty value) |
Value example: | # |
RoundUpToMinLot – the flag of activation of the rounding up to the minimum volume of copied smaller volumes. If 1, the mode is activated.
Data type: | numeric |
Default value: | 1 |
Value example: | 0 |
SlaveSymbolPostfix – trade symbol suffix for converting slave symbols to master symbols.
Data type: | string |
Default value: | (empty value) |
Value example: | . |
SlaveSymbolPrefix – trade symbol prefix for converting slave symbols to master symbols.
Data type: | string |
Default value: | (empty value) |
Value example: | # |
StopCopyingEquityCheckPeriod – the frequency of checking the achievement of StopCopyingEquity by slave accounts with the periodicity in seconds, followed by the transfer of accounts into the pause mode.
Data type: | numeric |
Default value: | 300 |
Value example: | 120 |
SyncConfirmedRequestsOnly – the flag for activating the copy mode of the master requests after their confirmation, and not at the moment of their creation. If 1, the mode is activated.
Data type: | numeric |
Default value: | 0 |
Value example: | 1 |
WriteMasterLoginToComment – the flag for activating the mode of writing the master login to the comment of the slave order. If 1, the mode is activated.
Data type: | numeric |
Default value: | 0 |
Value example: | 1 |
Used components:
MetaTrader 5 Server API, MetaTrader 5 Server, OS Windows
After a purchase, you will receive:
Compiled plugin with configuration file without source codes.
If you are interested in this product, feel free to order a DEMO version! Within a short time all the information about the product will be sent to your Email.
Free period 2 weeks without limits in functionality and other limits. For the demo you need to pass the registration!