Reputation: 65205
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
Reputation: 1
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.
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
.
Yes.
Historically some three principal epochs / approaches were used.
3rd party DLL based communications
Windows O/S services based communications
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.
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
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