Slippage Control

MT4 and MT5 server plugin that decides the fill price of stop losses, take profits, pending orders, stop-outs and market orders: a price has to be confirmed by a run of consecutive ticks, and the broker picks which price of that run is used.

SlippageControl is a pair of server plugins, one for MetaTrader 4 and one for MetaTrader 5. When the market gaps or runs, they decide which price a stop loss, take profit, pending order, stopout or market order is actually filled at — instead of letting a single stray tick decide it for you. A price has to be confirmed by a run of consecutive ticks before it is used, and the broker picks which price of that run wins. SlippageControl for MT4 was called GAP Helper before version 2.01; the settings are the same, only the file names changed.

What both editions do

  • Hold an order or request for a configured number of ticks (ticks SL, ticks TP, ticks Pending, ticks Stopout, and market opens/closes), then confirm it at a price chosen from that window.
  • Price selection, the same six modes on both platforms: first, last, best, worst, order (the level itself), fair-worst (the worst price that is still not worse than the level).
  • Tick counting, the same two modes: satisfied (the last N ticks must all satisfy the trigger condition) and following (the window starts at the triggering tick).

What it will and will not do

The behaviour is a contract that automated tests check on every build.

  • Stop losses and stop orders are protective: slippage beyond the level is what the plugin is for.
  • Take profits and limit orders are never filled worse than the price the client set. If the selected price would be worse, the plugin does not intervene and the server executes the order by its own rules.
  • It never fills at a zero, negative or not-a-number price, never on the wrong side of the quote, and never on fewer ticks than configured.
  • It never closes a position by stopout on its own; it only answers the stopout call of the server.
  • Every decision — and every refusal, with a code — is one line in the server journal, with the account, the ticket and the ticks the price was chosen from.

MT4 and MT5 editions

MT4 editionMT5 edition
How it plugs inHooks into the server's stop/pending/stopout callbacks directly, plus an optional virtual dealer for market ordersMT5 has no such hooks; the plugin works as a dealer for every request type, via routing rules (ACTION_DEALER) to a manager login
Configuration.ini file next to the DLLPlugin parameters in MT5 Administrator, applied immediately
Held-request timeoutNot applicable (MT4 does not time out a plugin)hold timeout / timeout action — MT5 withdraws a held request after 3 minutes
dealer bypass *Available: an SL/pending/stopout fires on the first tick thrown by the manager, skipping the tick countNot available — the trade server does not tell the plugin which feeder produced a quote
StopoutConfirmed once the server has retried the close attempt enough timesConfirmed the moment the request arrives, from the last N ticks seen (MT5 does not retry a stopout)

Each guide has the full installation steps, every configuration parameter, worked examples and the refusal codes.

Free trial

You do not need to register or to ask for anything. On its first start the plugin contacts the CPlugin update service (update.cplugin.com, TCP 443) and receives a trial licence automatically.

  • 14 days of the full plugin: every scenario and mode, no limit on the number of trades or executions. The period is counted from the first trial issued for your server (the company name and the server name as shown in your server settings).
  • Reinstalling the plugin, deleting its files or creating a new installation on the same server does not restart the trial.
  • One extension of 14 more days: write to us and we extend it once (self-service extension in Toolbox is coming). After that, only by CPlugin on request.
  • The trial needs outgoing access to update.cplugin.com:443. A server without outgoing access can use a licence file that our support issues for it.
When a trial or a licence ends, nothing breaks. Without a valid licence for an account's group the plugin does not intervene: orders are executed by the server as if the plugin were not installed, and market requests are left to your regular dealers. There is no separate demo mode with limited executions — the trial is the full plugin for a limited time.

The server journal tells you where you are: the end date of the trial on the first start, a warning during the last days, a message when the trial is over, and a message when the trial cannot be confirmed because the update service is not reachable. Each carries a link to get a licence.

The plugin writes a line to the server journal at every start saying what it sends to the update service. The full list — and what is never sent — is on the telemetry page.

Licence agreement

The plugin is licensed under the CPlugin Server Plugin Licence Agreement. Please read it before you install the plugin: the plugin contacts the update service as soon as it starts, and installing or starting it means accepting the agreement on behalf of your company.

Upgrading from GAP Helper (MT4)

The MT4 plugin finds its configuration and licence by its own file name, so the three files share one base name: CPlugin.SlippageControl.dll, CPlugin.SlippageControl.ini and CPlugin.SlippageControl.license. When replacing an older build, stop the server, swap the DLL, rename your existing configuration and licence files to match the new name and start the server again; the settings themselves are unchanged. Some results differ from earlier builds — doubtful prices are refused instead of filled, take profits are no longer filled worse than their price, stopouts are priced by their own mode — and are listed in the ReadMe.

Need help?

Contact us for a trial extension, moving an existing subscription to the new licence, or a licence file for a server without internet access.