Fast navigation

Products - MT4 Plugins

AgentCommissionEx

ID 9

Category: Products - MT4 Plugins

Version: 2.0.66.68

Release date: 2012-01-01

Developer: ITTrendex, LLC

MetaTrader 4 plugin for calculating affiliate commissions

Price:
1000 USD

Product type:
Available for downloading


Sign in

Try a DEMO version
Detailed description

Description

One of the tools to attract customers are affiliate programs. This plugin allows you to organize a one-tier system of compensation partner refund points from their referrals trades. In the plugin establishes rules on how to carry out trades referral reward partner, as well as other settings, giving flexibility to affiliate program for affiliate commission accrual.

In the plugin settings you can limit the charge of commission for a group of referral's account, ID referral's account. Limitations of commission can be set on specific affiliate account.

You can also customize the restrictions on trades with the Commission which will be calculated, such as the minimum number of points of the trade, the lifetime of the trade and trading symbol.

Such factors as: the coefficient on colors and trading partner accounts, the coefficients on the spread and volume of transactions allow you to configure almost any individual conditions of the affiliate program.

 

Settings:

AgentLevel – the agent level, which is necessary to charge a commission (credited to balance, the plugin sends the standard commission further processing) (setting has a higher priority than VirtualAgent). If the value is nonzero, the agent level will be written to the commentary of the commission.

This setting is an opportunity to charge an agent commission (balance operations) not directly to agents of the trading account, but to the agent of the agent (the direct agent commission remains unchanged), by the setup of the agent level for the calculation of the commission regarding the direct agent commission ('0' matches direct agent commission - from trader to agent). If AgentLevel = 1, then the commission is calculated and charged to the agent of the 2nd level (the 1st level agent receives a commission from the trader's client account according to the settings in the Securities of the trading group configuration).

Data type: numeric
Default value: 0
Value example: 1

AgentPeriodDays – number of days of activity of the agent after registration. If you set a value other than 0, the agent accounts older than setpoint days will not be processed by plugin. If 0, the agent account for age will not be checked.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: numeric
Default value: 365
Value example: 180

BlockIfNoColorCoeffApplied – activation flag of block commission calculation if no color coefficient specified on trading and agent accounts. If 0, the lock of commission does not occur in the absence of coefficients settings for color (ColorUser_ * or ColorAgent_ *) for the current color referral accounts or agent. If 1, the commission in this case is not credited.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: numeric
Default value: 0
Value example: 1

BlockOnReferralBankruptcy – activation flag of block commission calculation if referral's balance is less or equal to zero.

Data type: numeric
Default value: 0
Value example: 1

CheckAgentVirtuality – the flag of plugin's activation on difference between standart agent and «virtual» agent. If 1, check for mismatch will be launched, if 0, check for mismatch won’t be launched.

Data type: numeric
Default value: 1
Value example: 0

CheckTradingOnAgentIp – activates the lock of the commission if the last IP of trading account coincides with the last IP address of the agent account. If 1, the lock is active. If 0, the calculation of the commission is not locked when the coincidence of IP addresses of referrals and partners.

Data type: numeric
Default value: 0
Value example: 1

ColorAgent_* – the map of coefficients for colors of agent accounts (format is: ColorAgent_bbggrr=CoefficientValue). If ColorAgent_00FFFF = 1.2, the commission will be multiplied by 1.2 if agent has the account's color equal to 00FFFF.

Data type: numeric
Default value: setting is added manually
Value example: 1.1

ColorUser_* – the map of coefficients for colors of referral accounts (format is: ColorUser_bbggrr=CoefficientValue). If ColorAgent_00FFFF = 1.1, the commission will be multiplied by 1.1 if agent has the account's color equal to 00FFFF.

Data type: numeric
Default value: setting is added manually
Value example: 1.1

Enable_Filter_CountryAgent – activation flag filter country of agent. The setting value compares with the country specified in the information on the partner's trading account. By default, the commission is charged regardless of the partner country.

Data type: string
Default value: * (all countries)
Value example: ,Russia,Ukraine,

Enable_Filter_Comment – the filter plugin activation by comment of referral's trading account. If the account's comment is not equal to the value of this setting then the plugin excludes such referral's account from processing

Data type string
Default value: ,*, (all comments)
Value example: ,comment1,CPA,!CPS,

Enable_Filter_Groups – activation flag filter group of trading account

Data type: string
Default value: ,*, (all groups)
Value example: ,2P*,!GROUP-AB*,*USD*,*EUR*,*RUB*,

Enable_Filter_Id – activation flag filter ID of referral's trading account

Data type: string
Default value: ,*, (all ID)
Value example: ,1234,5678,

Enable_Filter_Symbols – activation flag filter trading symbol of closed order

Data type: string
Default value: ,*, (all symbols)
Value example: ,USD*,!EUR*,

Enable_FilterSkip_AgentLogin – activation flag filter skipping of agent's logins (if Enable_FilterSkip_AgentLogin is not enough by length of value you can use Enable_FilterSkip_AgentLogin1, Enable_FilterSkip_AgentLogin2, ..., Enable_FilterSkip_AgentLoginN as advanced settings). Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: numeric
Default value:  
Value example: 123456 (agent's account number)

Filter_AgentPeriodDaysStatus – the filter by agent account status to apply AgentPeriodDays setting. If in this setting the status is set, the AgentPeriodDays will be checked only for those agents whose status coincides with the Filter_AgentPeriodDaysStatus setting mask or exact match.

Data type: string
Default value: * (all statuses)
Value example: ,status1,status2*,status3,

Filter_CalcCoeffGroups – the filter of applying of commission coefficients by trading groups.

Data type: string
Default value: * (all groups)
Value example: ,GROUP-AB,GROUP-C*,*USD*,

Filter_Comment – the filter by comment by trader's account.
Attention: if Standard Agent*, then commission processing is blocked, otherwise commission is processing normally

Data type: string
Default value: ,*, (all comments)
Value example: ,comment1,CPA,!CPS,

Filter_CountryAgent – the filter of commission processing by coutry of agent.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: string
Default value: * (all countries)
Value example: ,Russia,Ukraine,

Filter_Groups – the filter of referrals accounts groups

Filter_GroupsAgent – the filter of commission processing by gorup of agent's account.
The commission will be received by the agents from configured groups.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: string
Default value: ,*, (all groups)
Value example: ,GROUP-AB*,*USD*,*EUR*,*RUB*,

Filter_IdAgent – the filter of commission processing by ID of agent's account.
The commission will be received by the agents with the specified account ID only.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: string
Default value: * (all ID)
Value example: ,123456,

FilterSkip_CalcCoeff_Login – the list of logins separated by comma which should be excluded for commission coefficents calculation. If you need exclude lots of logins you can use additional settings as follows FilterSkip_CalcCoeff_Login, FilterSkip_CalcCoeff_Login1, FilterSkip_CalcCoeff_Login2, ..., FilterSkip_CalcCoeff_LoginN.

Data type: numeric
Default value:  
Value example: 12345 (account's number)

FilterSkip_Login – the filter of commission calculation by referral's trading account (if FilterSkip_Login is not enough by length of value you can use FilterSkip_Login1, FilterSkip_Login2, ..., FilterSkip_LoginN as advanced settings). Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: numeric
Default value:  
Value example: 12345 (refferal's account number)

Format_LevelAgCommComment – the format of comment of commission for specified agent level

Data type: string
Default value: %dagent '%d' - #%d
Value example: %dagent '%d' - #%d (replace the first %d with the agent’s level (if specified), the second %d with the referral’s login, the third %d with the number of the referral’s closed trade)

Format_VirtualAgCommComment – the format of comment of commission for specified «virtual» agent

Data type: string
Default value: vagent '%d' - #%d
Value example: vagent '%d' - #%d (replace the first %d with the referal's login; the third %d with the number of the referral’s closed trade)

LogBlockCommission – activates the logging of blocking agent acommission calculation. If 1, then logging is enabled. If 0, logging of the commission block is disabled.

Data type: numeric
Default value: 0
Value example: 1

LogSkipProcessingCommission – activates the logging of passing process of agent acommission calculation. If 1, then logging is enabled. If 0, logging of the commission pass is disabled.

Data type: numeric
Default value: 0
Value example: 1

LogTradingOnAgentIp – activates the logging of the account numbers and IP which was blocked the agent commission by setting CheckTradingOnAgentIp into the file "plugins\logs\AgentCommissionEx.TradeAgentIps.csv (if the number of the agency account and IP coincide c last recorded for the trading account during the single server session then no duplicated records will be added). Enabling of logging of IP addresses matches of partners and referrals will catch auto-referrals cases. If 1, then logging is enabled. If 0, IP logging of the check matches disabled.

Data type: numeric
Default value: 0
Value example: 1

Max Agent Payout * – the map of maximum commission payouts by referrals account currency (format is: Max Agent Payout SYMBOL=MaxCommissionValue). If you set Max Agent Payout USD = 1000, the maximum commission that the partner can get for 1 referral's deal is 1000 USD. If 0, then the commission is not limited.

Data type: numeric
Default value: 0
Value example: 2500

MinOrderLifetimeSecs – the minimal lifetime of trading order in seconds.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further.

Data type: numeric
Default value: 3
Value example: 10

MinPipsPr – the minimal trading profit of closed order in pips

Data type: numeric
Default value: 120
Value example: 50

MinPipsPr_Ext_Sym_* – the map of the minimal trading profit of closed order in pips by symbols (format is: MinPipsPr_Ext_Sym_SYMBOL = MinProfitValue). For example, if MinPipsPr_Ext_Sym_EURUSD = 100, the commission will be credited in case of a referral's closed order with the difference between the opening price and closing price for the EURUSD more than 100 points.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further (first character is searched for MinPipsPr_Ext_Sym_ *, then MinPipsPr_Ext_SymFtr_ * and if it is not found, the value is taken MinPipsPr).

Data type: numeric
Default value: setting is added manually
Value example: 100

MinPipsPr_Ext_SymFtr_* – the map of the minimal trading profit of closed order in pips by symbol's mask (format is: MinPipsPr_Ext_SymFtr_MASK=MinProfitValue)
For example, if MinPipsPr_Ext_SymFtr_#*100 the commission will be credited in case of a referral's closed order with the difference between the opening price and closing price for the any symbol starts with ‘#’ (without quotes) more than 100 points.
Attention: if Standart Agent*, then the processing is blocked, otherwise processing goes further (the first setting MinPipsPr_Ext_Sym_* will be checked, after that MinPipsPr_Ext_SymFtr_* and if it is not found the value will be taken from MinPipsPr setting)

Data type: numeric
Default value: setting is added manually
Value example: 100

NormalizeCommission – the flag of normalization of commission by acount's currency (0 digits for JPY, 2 digits for any others). If 1, the rounding up the amount of accrued commissions decimal places, equal to the number of digits in the trading symbol of the closed order.

Data type: numeric
Default value: 1
Value example: 0

SpreadCoeff: 0-off, 1-cl – sets the mode of applying of spread coefficient (0 – do not apply; 1 – apply spread coefficient on close trades). This setting activates the calculation of the commission as a percentage of the spread.

Data type: numeric
Default value: 0
Value example: 1

SpreadCoeff_* – the map of spread coefficients by the lowest value of spread (format is: SpreadCoeff_SpreadValue=CoefficientValue). If SpreadCoeff_0 = 0.5, then the commission will be 50% of the spread.
For example: it is necessary to charge a commission of 30% of the spread of up to 10 points, and 15% if spread over 10 points. Spread calculated at the moment of order closure. To do this, set the two settings of the lower boundary of the spread: SpreadCoeff_0 = 0.3 and SpreadCoeff_11 = 0.15. This setting SpreadCoeff: 0-off, 1-cl = 1 (needed spread at closing orders).
The coefficients are used by the scheme:
SpreadCoeff_X1 = C1
SpreadCoeff_X2 = C2
SpreadCoeff_X3 = C3
X1 <= X < X2 -> C1
X2 <= X < X3 -> C2
X3 <= X -> C3

Data type: numeric
Default value: setting is added manually
Value example: 0.7

Symbol_* – the map of coefficients for colors of symbol of closed order (format is: Symbol_SYMBOL=CoefficientValue). When Symbol_EURUSD = 1.5, then by the commission will be multiplied by 1.5 from the closed order of the EURUSD.

Data type: numeric
Default value: setting is added manually
Value example: 1.5

UseHedgeCoeff – activation flag of hedge coefficient

UseHedgeCoeff_AgGrpFtr – filter of groups to which a hedging coefficient will be applied (specific setting, default value recommended).

Data type: string
Default value: * (all groups)
Value example: ,GROUP-AB,GROUP-C*,*USD*,

UseHedgeCoeff_AgIdFtr – filter by agent account Id for applying hedging coefficients (specific setting, default value recommended).

Data type: string
Default value: * (all groups)
Value example: ,GROUP-AB,GROUP-C*,*USD*,

UseProfitAsBaseCommission – flag for activation of use the order profit/loss by modulus as the base value for the calculation of the agent commission. If 1, then it enables charge commission from traders order profit value, calculated with combination of other settings, regardless of the profitable or negative order result.

Data type: numeric
Default value: 0
Value example: 1

UsePureFreeMarginCoeff – activation flag of pure free margin coefficient

Data type: string
Default value: *
Value example: ,GROUP-AB,GROUP-C*,*USD*,

UsePureFreeMarginCoeff_AgGrpFtr – filter of groups to which a net free margin coefficient will be applied (specific setting, default value recommended).

Data type: string
Default value: *
Value example: ,GROUP-AB,GROUP-C*,*USD*,

UsePureFreeMarginCoeff_AgIdFtr – filter by agent account Id for applying net free margin coefficients (specific setting, default value recommended).

Data type: string
Default value: *
Value example: ,*,

VirtualAgent – «virtual» agent account number wich should be credited the commission, and then pass on the processing of the standard commission) (setting has a lower priority than AgentLevel).

Data type: numeric
Default value: 0
Value example: 999

Volume l.ll-h.hh – the map of coefficients by interval of volumes of closed trades (format is: Volume FromVolume-ToVolume=CoefficientValue). If you set the Volume 0.10-1.00 = 1.5, then the Commission from orders, whose volume falls in the range from 0.10 to 1 lot will be multiplied by 1.5.

Data type: numeric
Default value: 1
Value example: 2.5

 

* In the plugin agents are divided into three types:
1. Standard Agent – an agent in trader account's settings (set in the properties of the trading account).
2. Agent level (setting AgentLevel).
3. Virtual agent (setting VirtualAgent).

 

Components:

libMySQL.dll, MetaTrader 4 Server API, MetaTrader 4 Server, OS Windows

libMySQL.dll file must be placed in the root directory of the MetaTrader 4 trading server where the mtsrv.exe file. Otherwise during a server loading a plugin an error code 126 will appear.

 

Order includes:

Compiled plugin with configuration file without source codes with libMySQL.dll library

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!

Recommended items from this category