Metatrader4
In principle Metatrader4 uses a Metalang.exe
that compiles the MQL4
-source-code
files into an "internally"-executable format EX4
As defined, EX4
is binary-executable on all Metatrader4 terminals.
.
WhiteLabel-ed Terminals
InstaTrader(TM) and many other *-Trader(TM)-s are so called White-Label modifications of the same MetaQuotes, Inc., software product, the [Metatrader 4 Terminal
], that are just individually "skinned" in a name of the respective Broker, who has bought from the MetaQuotes, Inc. the license for a suite of [Metatrader 4 Server
+ Metatrader 4 Risk Management
+ Metatrader 4 Dealer Desk
+ ... ], inclusive, but not limited to, the right to re-label the client Terminal program.
Thus under most of the situations your EX4
code shall run on any other re-labeled Terminal
But...
Restrictions on binary-compatibility apply, as Metatrader4 terminals gets released in so called Builds, ( Build 432 -> Build 468 -> Build 509 -> ... -> Build 600 -> Build 624 ) and some of these have also modified the binary-code format.
Thus the EX4
code shall be hosted on a "similar" generation of the Terminal Build
Finally...
The ultimate show-stopper is the MetaQuotes, Inc., licensing policy, which makes a server-side locking to take place [Metatrader 4 Server
] has a setting to reject connection requests from client Terminals in case their Build #
is lesser than a treshold set on Server side.
There the SLM story ends. Forever.