The mql# API contains all of the commands available in MQL, retaining the original function signatures in the interests of familiarity. In fact it is possible to copy and paste existing Expert Advisors into a c# class, perform minimal changes and the code will work. The mql# API includes the ability to mix all of the attractive features of a modern language with MQL such as event handling, generics, partial classes and many others with impunity. the functionality of MQL has been extended where required by the use of asynchronous method calls and object orientated events and delegates, by using these features multithreading now becomes possible making for an efficient software product.
Programmers do not of course need to develop multi-threaded applications if they are uncomfortable with this format and would rather stick with the sequential style of programming, the option exists however depending upon personal preferences or project requirements. The connection protocol allows multiple terminals, symbols and accounts to be managed from one application. This feature is for the most part transparent with minimal attention being required to enable, it being a simple drag and drop operation, the mql# API takes care of sorting out the different targets. Almost the only setting required to be made in the terminal is to elect the slippage which varies between brokers, there being no method of determining this value as each account is different even this can be set from within the .Net program.