Discussing the article: "Developing a Replay System (Part 48): Understanding the concept of a service"

 

Check out the new article: Developing a Replay System (Part 48): Understanding the concept of a service.

At the beginning of this series of articles about the replay/simulator system, I spent some time trying to get the service to be able to place a control indicator on the chart. Although I didn't succeed at first, I didn't give up and kept trying. Despite numerous unsuccessful attempts, I was never able to succeed in this matter. But since the project could no longer be stopped, at that moment I decided to go a different way.

It really bothered me that I could do something with a script, but when I tried to do the same thing with a service, I couldn't get it to work properly.

You might think: "So what? The fact that you can do something with a script means nothing." However, if you think so, I'm afraid this is because of the lack of knowledge in MQL5 programming. Any script created in MQL5 can be converted into a service. Basically, there are two differences between a service and a script. Well, there are, of course, more, but these two are the most obvious and can be noticed by everyone.

The first difference is that the script is always linked to a specific chart and remains there until the chart is closed. It is noteworthy that when changing the timeframe, MetaTrader 5 actually sends a command to redraw the chart. To speed up this process, it closes the graphic object (not the window, but the object inside the window) and creates a new one. This allows it to quickly redraw the chart. However, the script is not relaunched on the chart because it does not have this function (since it doesn't have certain events).

Author: Daniel Jose

 

Highly interesting project, but reading all 48 articles to get the clue for every component is really hard work.

I kindly ask you to write next one 49 article "User Guide" and lay out in it on each component of this project.

Also - if this project is ready for practical implementation, please add practical example of using it. like "Replaying and re-trading Brexit case on GBPUSD in educational purpose". It is expected that in this practical example, this project will be used to retrieve historical data of 'GBPUSD' from real symbol (of any connected forex account) plus/minus 1 day from Brexit, using extracted data to feed custom symbol like 'repGBPUSD' in replay mode, adding some generic indicators (RSI(14), MA(50) etc) and providing user real-time experience of re-trading this historical event.

This User Guide with practical example of real time re-trading Brexit will be really great finalisation of this project!