Skip to content
CPlugin logo
  • Home
  • Blog
  • Store
  • Contact
  • FAQ
  • Cart
  • My account
  • Knowledge Base
CPlugin logo
  • Home
  • Blog
  • Store
  • Contact
  • FAQ
  • Cart
  • My account
  • Knowledge Base

General

  • How to obtain files

MT4 ManagerAPI .NET Wrapper

  • Installation
  • Connection pool
  • Price Helper

Standalone Apps

  • Join two MT4 Servers
  • Compress MT4 database
  • Quotes Monitor
  • Quotes Monitor (WPF)
  • MT4 Report Server extended replication
  • EMIR
  • DividenderLT
  • Tools to calculate dividends
  • CopyTrading
    • Sentiment Strategy (LMAX)
    • MT4 (ManagerAPI) to LMAX
    • MT4 Plugin
    • MT4 (ManagerAPI) to MT4

Plugins for MT4/MT5

  • Flexible Leverage
  • GapHelper plugin
  • Multi Account Manager (MAM)
  • Spread Extender
  • HedgeHelper
  • Multi-Tier IB
  • Multi-Tier IB advanced version

Cloud

  • General info
  • WebAPI
    • WebAPI
    • Authorization
    • Pricing and terms
    • RESTful
    • Web Sockets (SignalR)
  • Home
  • Docs
  • Standalone Apps
  • CopyTrading
  • MT4 (ManagerAPI) to MT4

MT4 (ManagerAPI) to MT4

This tool uses ManagerAPI to get trade activity from source MT4 server and send it to other MT4 servers.

Installation #

1. Put all files into separate folder
2. Obtain mtmanapi[64].dll files and put to the application's folder
3. Obtain M4ServerAPI.dll file and put to the application's folder
4. Run the program to let it generate empty settings file

Chocolatey package

https://nuget.cplugin.com/feeds/apps/CPlugin.CopyTrade.ManAPITool.NET/versions

Settings #

When you first time run the application it will generate sample settings file.

Its name will be CPlugin.CopyTrade.ManAPITool.NET.xml and it is self explanatory XML file. We have included example of settings file CPlugin.CopyTrade.ManAPITool.NET.xml.example for your convenience.

Source MT4 server #

In <source> node you put source MT4 server address and credentials for manager account.

Destination MT4 servers #

Many <copy> nodes can describe destination accounts that could be even on different servers.

Filtration #

where parameter describes expression using FLEE (https://flee.codeplex.com) notation to check that trade meet requirements. You can use trade variable to check its volume, symbol, etc.

For example:
where="trade.Login = 1000 and trade.Volume > 100" - to check if login is 1000 and volume is greater that 1 lot (100 in MT4 api).
where="trade.Login in (1000;1001;1002) and trade.Symbol = EURUSD" - to check if login on of 1000/1001/1002 and order symbol is EURUSD.
`;` - local windows OS settings → your region settings → list separator.

Copying settings #

guid - unique GUID that must be put once and never changed, because program store its cache and after close need this guid to understand which server have which trades opened.

address, port, login - 

coef - coefficient of volume to be copied, for example 1 means 100%, -1.5 means 150% in opposite side.

open_slippage, close_slippage - passably slippage on trade open/close respectively.

copy_sl, copy_tp - do copy SL/TP levels?

copy_comment - true/false to enable copying trade comment from source trade to copied one.

set_comment - if copy_comment is set to false you can put here any string to be as a comment for copied order.

Symbol names mapping #

Each <copy> can have multiple <map> nodes. It describe mapping between different symbol names.

from fields contains regular expression of source server symbol name that has to be mapper into to expression.

For example:

to map from regular symbols to symbol with dot you should write:
<map from="(\w+)" to="$1." />
Here we've used `$1` substitution and `.` as suffix.

Another example:

<map from="(...)(...)p" to="$1$2c" />
to map from all symbols ending with `p` contains 6 characters before to the same same with `c` character at the end. For example, EURUSDp will be mapped to EURUSDc.

Using #

Process of using this tool is simple, just run he application and notice its journal on screen an/or file. Depend of your settings for NLog which you can adjust through NLog.config file.

To exit - push `Q` key on your keyboard.

Even after you close and start it again it maintain open trades list in its file cache storage.bin file.

Do not remove storage.bin file with no real reasons. Program might loose binding between internal orders database and real MT4 orders.

<?xml version="1.0" encoding="utf-8"?>
<settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <source
    address="127.0.0.1"
    port="443"
    login="1"
    password="password123" />
  <copy
    where="trade.Login = 1000">
    <to
      address="127.0.0.1"
      port="443"
      login="1002"
      password="Trader"
      coef="-0.5"
      open_slippage="2"
      close_slippage="10"
      copy_sl="false"
      copy_tp="false"
      copy_comment="false"
      set_comment="[copied]"
      guid="050b29c5-0d55-4dbd-bb78-a4dfd24858ed">
      <map
        from="(...)(...)p"
        to="$1$2c" />     
    </to>
    <to
      address="127.0.0.1"
      port="443"
      login="1002"
      password="Trader"
      coef="-0.5"
      open_slippage="2"
      close_slippage="10"
      copy_sl="false"
      copy_tp="false"
      copy_comment="true"
      set_comment="[copied]"
      guid="050b29c5-0d55-4dbd-bb78-a4dfd24858ed">    
    </to>
  </copy>
</settings>
Still stuck? How can we help?

How can we help?

Updated on July 24, 2023
MT4 Plugin

Powered by BetterDocs

Table of Contents
  • Installation
  • Settings
    • Source MT4 server
    • Destination MT4 servers
      • Filtration
      • Copying settings
      • Symbol names mapping
  • Using

Copyright © 2015  - 2025 CPlugin

Telegram Email EmailLinkedinFacebookTwitter

Powered by CPlugin