Discussion of article "Prices in DoEasy library (part 60): Series list of symbol tick data"

 

New article Prices in DoEasy library (part 60): Series list of symbol tick data has been published:

In this article, I will create the list for storing tick data of a single symbol and check its creation and retrieval of required data in an EA. Tick data lists that are individual for each used symbol will further constitute a collection of tick data.

Compile the EA and launch it on any symbol chart having preliminary defined in the settings to use the current symbol and the current timeframe. When initializing the EA, data on EA parameters, on created timeseries, as well as (a bit later) on created tick series are to be displayed. The data on two found ticks with the highest Ask and lowest Bid for the day are to be displayed below:

Account 8550475: Artyom Trishkin (MetaQuotes Software Corp.) 10426.13 USD, 1:100, Hedge, MetaTrader 5 demo
--- Initializing "DoEasy" library ---
Working with the current symbol only: "EURUSD"
Working with the current timeframe only: H4
EURUSD symbol timeseries: 
- Timeseries "EURUSD" H4: Requested: 1000, Actual: 1000, Created: 1000, On the server: 6336

Tick series "EURUSD": Requested number of days: 1, Historical data created: 276143

============= Beginning of parameter list (Tick "EURUSD" 2021.01.06 14:25:32.156) =============
Last price update time in milliseconds: 2021.01.06 14:25:32.156
Last price update time: 2021.01.06 14:25:32
Volume for the current Last price: 0
Flags: 134
Changed data on the tick:
 - Ask price change
 - Bid price change
------
Bid price: 1.23494
Ask price: 1.23494
Last price: 0.00000
Volume for the current Last price with greater accuracy: 0.00
Spread: 0.00000
------
Symbol: "EURUSD"
============= End of parameter list (Tick "EURUSD" 2021.01.06 14:25:32.156) =============

============= Beginning of parameter list (Tick "EURUSD" 2021.01.07 12:51:40.632) =============
Last price update time in milliseconds: 2021.01.07 12:51:40.632
Last price update time: 2021.01.07 12:51:40
Volume for the current Last price: 0
Flags: 134
Changed data on the tick:
 - Ask price change
 - Bid price change
------
Bid price: 1.22452
Ask price: 1.22454
Last price: 0.00000
Volume for the current Last price with greater accuracy: 0.00
Spread: 0.00002
------
Symbol: "EURUSD"
============= End of parameter list (Tick "EURUSD" 2021.01.07 12:51:40.632) =============

Library initialization time: 00:00:12.828

Initialization took 12.8 seconds — time for uploading historical tick data.

Author: Artyom Trishkin

 

I found this DoEasy series interesting. Unfortunately, we don't know each other. You expect humour. But for what?

You can't reinvent the wheel! And this author of the "DoEasy" series wants to do just that. Bullshit starts with "encapsulating" "enumerations" of the Meta Trade engine. In my opinion, a lot of time has been wasted here on listings and encapsulation. Normal OOP does not go into listings, but into algorithms! That is completely missing here. The author constantly talks about manageable texts, but that's not the case! It would be normal for THE volume to have a value. But I don't have one.

The examples are only available in debug mode - so only for viewing. So it's a waste of time so far.

I have now reached volume no. 60! That's no value - even if the author presents something like that. Where is the content, apart from the fact that a software office has been busy generating lists?

A perspective doesn't matter - server data is available every minute ( CopyRates!!!). That's where everything goes. For the broker there are only minutes - and in the meantime all customers are invited/served.

I am aware of my criticism. Very few algorithms have been packed into a lot of text! And it can be debated whether "C++ is the "best way as an expression" there is!

And I wanted to tell you that the wheel does not have to be reinvented!

mfG

Marc Tolkmitt

 
MarcDavidTolkmitt:

I found this DoEasy series interesting. Unfortunately, we don't know each other. You expect humour. But for what?

You can't reinvent the wheel! And this author of the "DoEasy" series wants to do just that. Bullshit starts with "encapsulating" "enumerations" of the Meta Trade engine. In my opinion, a lot of time has been wasted here on listings and encapsulation. Normal OOP does not go into listings, but into algorithms! That is completely missing here. The author constantly talks about manageable texts, but that's not the case! It would be normal for THE volume to have a value. But I don't have one.

The examples are only available in debug mode - so only for viewing. So it's a waste of time so far.

I have now reached volume no. 60! That's no value - even if the author presents something like that. Where is the content, apart from the fact that a software office has been busy generating lists?

A perspective doesn't matter - server data is available every minute ( CopyRates!!!). That's where everything goes. For the broker there are only minutes - and in the meantime all customers are invited/served.

I am aware of my criticism. Very few algorithms have been packed into a lot of text! And it can be debated whether "C++ is the "best way as an expression" there is!

And I wanted to tell you that the wheel does not have to be reinvented!

mfG

Marc Tolkmitt

Please be careful and respectful in your tone. The author has a lot of knowledge about the behaviour of the terminal. The data comes from the server tick by tick and not minute by minute, the strategy tester can also work with ticks. It can therefore make sense for someone to keep ticks up to date in an array.

In addition, parts deal with the creation of graphical objects to monitor proprietary trading. Interested parties can copy out important parts that they would then not have to create themselves with all the errors.

 
MarcDavidTolkmitt :

I found this DoEasy series interesting. Unfortunately, we don't know each other. You expect humour. But for what?

You can't reinvent the wheel! And this author of the "DoEasy" series wants to do just that. Bullshit starts with "encapsulating" "enumerations" of the Meta Trade engine. In my opinion, a lot of time has been wasted here on listings and encapsulation. Normal OOP does not go into listings, but into algorithms! That is completely missing here. The author constantly talks about manageable texts, but that's not the case! It would be normal for THE volume to have a value. But I don't have one.

The examples are only available in debug mode - so only for viewing. Accordingly, it is time lost so far.

I have now reached volume no. 60! That's no value - even if the author presents something like that. Where is the content, apart from the fact that a software office has been busy generating lists?

A perspective doesn't matter - server data is in the minute cycle ( CopyRates!!! ). That's where everything goes. For the broker there are only minutes - and in the meantime all customers are invited/served.

I am aware of my criticism. Very few algorithms have been packed into a lot of text! And it can be debated whether "C++ is the "best way as an expression" there is!

And I wanted to tell you that the wheel does not have to be reinvented!

mfG

Marc Tolkmitt

Thank you for your feedback.

At the moment the articles talk about the development process of the library. The library should cover various aspects of working with the terminal, so it is not small. The properties of various library objects repeat the enumerations of the parameters of the functions of the MQL5 language, and this is natural, but new ones are added to the properties. This is necessary for the correct sorting of objects by these properties. Sorting is necessary to quickly find an object by a specific property. You can of course use mathematical calculations of the indices of each property from the standard indices, but much clearer, more flexible and less error-prone to use your own enumerations as properties of objects.

Object lists are needed for quick access to their properties and are the basis for creating logic and algorithms. In the near future, a large section on graphic objects is planned, which will be equipped with all available already created library objects that you can use to create your own graphic interfaces in your programmes. Fully interactive.

The creation of various algorithms from a completely finished object base is planned for the very last stage of the library description.
It would be strange to "drive a car" for which only the steering wheel and pedals are made.

---------

Спасибо за отзыв.

На данный момент в статьях рассказывается о процессе разработки библиотеки. Библиотека должна охватывать разные аспекты работы с терминалом, поэтому она не маленькая. Свойства различных объектов библиотеки повторяют перечисления параметров функций языка MQL5, и это естественно, но к свойствам добавляются новые. Это нужно для правильной сортировки объектов по этим свойствам. А сортировка нужна для быстрого поиска объекта по заданному свойству. Можно конечно использовать математические вычисления индексов каждого свойства от стандартных, но куда более наглядно, более гибко и менее ошибочно использовать собственные перечисления в качестве свойств объектов.

Списки объектов нужны для быстрого доступа к их свойствам, и являются базой для создания логики и алгоритмов. В ближайшее время планируется большой раздел по графическим объектам, которыми будут наделены все доступные уже созданные объекты библиотеки, что позволит создавать собственные графические интерфейсы в своих программах. Полностью интерактивные.

Создание различных алгоритмов из полностью готовой базы объектов запланировано на самый последний этап описания библиотеки .
Было бы странно "управлять автомобилем", для которого сделано только рулевое колесо и педали.