Discussing the article: "Developing a Replay System (Part 62): Playing the service (III)"

 

Check out the new article: Developing a Replay System (Part 62): Playing the service (III).

In this article, we will begin to address the issue of tick excess that can impact application performance when using real data. This excess often interferes with the correct timing required to construct a one-minute bar in the appropriate window.

In the previous article Developing a Replay System (Part 61): Playing the service (II), I explained an issue we are currently facing when using the simulation mode in our system. This issue does not necessarily stem from a catastrophic failure in the application we are developing. Rather, it is due to the system's overall response speed. The response time was not enough for the application to properly process all the incoming data. As a result, we must make certain adjustments. Even if our service does not perfectly align with an ideal scenario, we recognize that such an ideal scenario rarely exists in practice.

The best solution I could envision was to adjust the maximum limits applicable in the simulation. However, throughout this article, I will carefully explore the effect of these changes and explain why I chose this particular approach. Beyond this, there is another factor that is directly related to real or externally simulated data outside the application being developed. As unusual as it may seem, in some cases, especially in relation to futures contracts, we may encounter an exceptionally high number of ticks or trades within a single one-minute bar. When this occurs, even when connected to the trading server, we experience issues related to the speed at which the MetaTrader 5 platform processes and displays price movements. If you have never encountered this issue before, you might assume it is due to limitations in the hardware running MetaTrader 5 or an operating system malfunction. However, I regret to inform you that such assumptions are entirely unfounded - misconceptions spread by those who lack a proper understanding of computing.

Given that we face these challenges even when connected to a real trading server, where the platform struggles to process the vast influx of incoming data, the situation becomes even more problematic when replaying such data. It would be a complete disaster, as timing accuracy would deteriorate significantly. Therefore, we will also establish a limit for real or externally simulated data to prevent the platform's data processing limitations from becoming evident or causing further issues. Now, let's examine how the new code will be structured.


Author: Daniel Jose