001
001

Reputation: 65205

Forex MT4 platform - what type of protocol(s)/technology is used to update the charts in real-time?

Forex MT4 platform - what type of protocol(s)/technology is used to update the charts in real-time?

The data is updated in real-time,

Upvotes: 2

Views: 4197

Answers (2)

user3666197
user3666197

Reputation: 1

Initial note

A lot of indeed smart man*years has been burnt on reverse-engineered efforts to tap into MT4/Server <--> MT4/Terminal C/S communication.

Some have died by themselves.

Some have failed to survive the next change introduced by just another Build XYZ.

Some have even made their way up to the court suits from MetaQuotes, Inc., for violation or infringements of the rights to protect one´s intellectual property.

So, one shall rather really know, what is going to follow.

How it works?

Recent MT4/Terminal Build 670+ uses several regular streaming connections to MT4/Server

It does not take much time or efforts to employ a port-scanner of whatever brand to map, decode and analyse further internals. Nevertheless, do not rather forget the warning, [Initial note] rulez.

There are no direct ways to "update" OHLC-candle / Volume objects of the MT4/Terminal graph

There are many ways to add and control additional visual objects into the MT4 graphs, incl. but not limited to, compose a fully-fledged new, layered, augmented GUI, where user-defined <application-code> retains the full real-time control of both the MVC-GUI-elements and the TradingExecutionEngine.

Can a current Metatrader proprietary architecture get extended?

Yes.

Historically some three principal epochs / approaches were used.

  1. 3rd party DLL based communications

  2. Windows O/S services based communications

  3. MetaQuotes, Inc., "new"-MQL4 ( post Build 600+ ) language extensions for socket communications

User-defined <application-code> can safely deploy rather a thread-safe external messaging infrastructure, to better "escape" from a (fragile, namely in post Build 670+ epoch) MT4 internalities and retain a full control over the "own" messaging / streaming layer.

Examples

MT4/Terminal with socket/remote python-based CLI terminal & add-on pseudo-language for both trading and scripted test-case batteries´ automated runs

MT4/Terminal with socket/remote external integrated RSS-feed service

MT4/Terminal with socket/remote GPU-hosted numerical solver for AI/ML decision making

MT4/Terminal with socket/remote cloud-based peer-to-peer community messaging

Upvotes: 5

Ahmad
Ahmad

Reputation: 1931

All communications between MT4 server and MT4 terminal is done through TCP sockets and data is transferred in plain text.

Example connection to MT4 server on port 443 using telnet

telnet x.x.x.x 443

Requesting quotes for EURUSD

WQUOTES-EURUSD

When you open a chart in MT4 terminal, terminal requests historical chart data from the server and subscribes to new ticks for that symbol, Then every time a new tick arrives for the selected chart, MT4 terminal updates last candle in chart or creates a new one when necessary.

All the above is done through the same protocol.

Upvotes: 2

Related Questions