Quotes Monitor

Quotes Monitor compares the quotes your MetaTrader 4 server publishes against one or more reference data feeds, so you can spot when your broker's prices drift. When the broker has worse prices, the cell is marked yellow or even red. Hover over a cell to see the relevant prices the broker has.

Quotes Monitor compares the quotes your MetaTrader 4 server publishes against one or more reference data feeds, so you can spot when your broker's prices drift. When the broker has worse prices, the cell is marked yellow or even red. Hover over a cell to see the relevant prices the broker has.

Installation

The application can be downloaded from our NuGet server: CPlugin.QuotesMonitor versions. See How to obtain files for the full installation workflow.

A walkthrough video is available on YouTube: youtu.be/4TbV6bercrw.

System requirements

  1. Microsoft .NET Framework 4.6.2, which you can download from microsoft.com/en-US/download/details.aspx?id=53345.
  2. Copy the mtmanapi.dll file into the application's folder. You can find it in the MetaTrader 4 Administrator installation folder, under the /API subfolder.
  3. In the MetaTrader 4 server installation folder, under /datafeeds, you will find the mt4feeder.feed file — copy it into the application's folder.
  4. Copy NLog.config.example to NLog.config.

First time run

When you run the application for the first time, it generates an empty settings file. Close the app and adjust the settings in the newly created settings.json file.

Settings

{
  "Server": "mt4.broker.domain:443",        // MT4 server address
  "Login": 1,                               // manager api account
  "Password": "***",                        // its password
  "ImmediatelyUpdateUIOnQuote": true,
  "TimeToComputeAverage": "00:00:00",
  "ShowErrors": false,
  "ShowWarnings": false,
  "DefaultTableCellColor": "255, 255, 255",
  "ErrorTableCellColor": "255, 100, 0",
  "InactiveTableCellColor": "200, 200, 200",
  "DefaultErrorTime": 180,
  "DefaultWarningTime": 60,
  "Separators": [
    ",",
    " "
  ],
  "UnquotableTableCellColor": "100, 100, 100",
  "WarningTableCellColor": "255, 200, 0",
  "SpreadIsLowerCellColor": "240, 255, 240",
  "TresholdOptions": [
    {
      "WarningTime": 10,
      "ErrorTime": 60,
      "Mask": "EURUSD.*"
    }
  ],
  "SecurityTypes": [
    {
      "Index": 0,
      "Name": "Forex",
      "Enabled": true,
      "ErrorSound": "Media/error.wav",
      "ErrorTimeout": 15,
      "WarningSound": "Media/warning.wav",
      "WarningTimeout": 300
    },
    {
      "Index": 1,
      "Name": "Indices",
      "Enabled": false,
      "ErrorSound": "Media/error.wav",
      "ErrorTimeout": 30,
      "WarningSound": "Media/warning.wav",
      "WarningTimeout": 60
    }
  ],
  "IgnoredSymbols": [
    ""
  ],
  "CustomGridColumns": [
    {
      "Enable": false,
      "Name": "BR1.bid",
      "Width": 200,
      "Expression": "GetFeederPrice(\"FxPro demo\", qs.Quote.Symbol).Bid"
    },
    {
      "Enable": false,
      "Name": "BR1.bid - bid",
      "Width": 200,
      "Expression": "((GetFeederPrice(\"FxPro demo\", qs.Quote.Symbol).Bid - qs.Quote.Bid) * GetSymbol(qs.Quote.Symbol).Multiply).ToString(\"N0\")",
      "_comment1": "qs.Quote.Bid.ToString(), GetFeederPrice(\"FxPro demo\", qs.Quote.Symbol)"
    }
  ],
  "MainFeeder": {
    "Enabled": true,
    "Name": "main_feed",
    "Path": "mt4feeder.feed",               // you can get it from your MT4 server folder, under /feeders/ subfolder
    "Server": "mt4.broker.domain:443",      // address of primary quotes stream, usually the same as the 'Server' field above
    "Login": "123",                         // trader account login
    "Password": "***"                       // its password
  },
  "Feeders": [
    {
      "Enabled": false,
      "Name": "FxPro D",
      "Path": "mt4feeder.feed",
      "Server": "demo5-london.fxpro.com:443",
      "Login": "123",                       // trader account
      "Password": "***"
    },
    {
      "Enabled": false,
      "Name": "FxPro D",
      "Path": "mt4feeder.feed",
      "Server": "demo5-london.fxpro.com:443",
      "Login": "123",
      "Password": "***"
    },
    {
      "Enabled": false,
      "Name": "FXCM D",
      "Path": "mt4feeder.feed",
      "Server": "mt4d02.fxcorporate.com:443",
      "Login": "123",
      "Password": "***"
    },
    {
      "Enabled": false,
      "Name": "GKFX D",
      "Path": "mt4feeder.feed",
      "Server": "108.61.199.94:443",
      "Login": "123",
      "Password": "***"
    },
    {
      "Enabled": false,
      "Name": "fx.com D",
      "Path": "mt4feeder.feed",
      "Server": "74.217.53.106:443",
      "Login": "12345",
      "Password": "***"
    }
  ]
}