Understanding performance of TradePlatform.NET

You have to consider that .NET ExpertAdvisors will work slower than expert build with MetaTrader MQL language. This is due TCP connection layer, .NET stack managing and communication architecture.
With single call of Start() method for example of .NET ExpertAdvisor several MQL call can be done within same connection session, so tick execution time depends on number of MQL function you call per one .NET call. The default trace listener will log tick execution time to console for your understanding of performance. In live trading tick execution time is more than enough fast, but it can slow on back-tests. We consider performance important and willing to improve that from version to version.

Cache MQL function result

The are some function in MQL which you don't need to call every time you need a result of one because they not meant to return something new within single session. For example - AccountNumber() - This function will return current account number and most likely it will be not changed while .NET ExpertAdvisor executes, so no need to call it every time you need it. You can cache function result to class variable and use it every time you need value in your .NET ExpertAdvisor.

Last edited Nov 5, 2012 at 3:19 PM by vladkalos, version 1


No comments yet.