Discussing the article: "Developing a Replay System (Part 35): Making Adjustments (I)"

 

Check out the new article: Developing a Replay System (Part 35): Making Adjustments (I).

Before we can move forward, we need to fix a few things. These are not actually the necessary fixes but rather improvements to the way the class is managed and used. The reason is that failures occurred due to some interaction within the system. Despite attempts to find out the cause of such failures in order to eliminate them, all these attempts were unsuccessful. Some of these cases make no sense, for example, when we use pointers or recursion in C/C++, the program crashes.

In the previous article Developing a Replay System (Part 34): Order System (III), I mentioned that the system has several rather strange and even mysterious bugs. These bugs or failures were caused by some interaction within the system. Despite attempts to find out the cause of such failures in order to eliminate them, all these attempts were unsuccessful. Some of these cases make no sense, for example, when we use pointers or recursion in C/C++, the program crashes. One of the first steps is to verify these mechanisms. However, in MQL5 this does not occur the same way as in C/C++. After making some small edits, I managed to solve one of the flaws. Although the solution does not seem elegant, it made one of the failures completely disappear.

However, we still need to make slightly more radical changes to the code in order to completely eliminate the errors that affect the system operation. They have probably been here for a long time, because the system didn't have certain types of interaction earlier. Once these interactions began to occur, these errors became noticeable.

The existing failures do not have a negative impact on the operation of the system, but they do not allow a really correct operation. All this makes the experience with the program quite unpleasant and even unacceptable. The first of these flaws is quite easy to fix, so we will start with it.

Author: Daniel Jose

Reason: