Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть II). Коллекция исторических ордеров и сделок"

 

Опубликована статья Библиотека для простого и быстрого создания программ для MetaTrader (Часть II). Коллекция исторических ордеров и сделок:

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

Коллекция исторических ордеров и сделок

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

Давайте создадим новый класс CHistoryCollection в папке Collections:

Нажмите правой кнопкой по папке Collections, выберите пункт "Новый файл", в окне Мастера MQL выберите "Новый класс" и нажмите "Далее". Введите имя класса CHistoryCollection, оставьте поле базового класса пустым и нажмите "Готово".

Автор: Artyom Trishkin

 
Хорошая статья. Всё очень подробно. Тут даже новичкам можно разобраться, всё пошагово с картинками.
 
Alexander Fedosov:
Хорошая статья. Всё очень подробно. Тут даже новичкам можно разобраться, всё пошагово с картинками.

Спасибо. Стараюсь делать понятным для всех.

 

Да, статьи отличные и хорошо описаны.

У меня даже на память остались артефакты)

Статья №1 = кружка

Статья №2 = кастрюля

Так как будет цикл статей, то новую кружку для кипячения воды на чай пока покупать не буду, почищу кастрюлю и буду использовать дальше)

Файлы:
1.JPG  818 kb
2.JPG  1043 kb
 
Vitaly Muzichenko:

Да, статьи отличные и хорошо описаны.

У меня даже на память остались артефакты)

Статья №1 = кружка

Статья №2 = кастрюля

Так как будет цикл статей, то новую кружку для кипячения воды на чай пока покупать не буду, почищу кастрюлю и буду использовать дальше)

Спасибо. Виталий, у меня в третьей статье уже готово много вкусностей и интересностей, так что могу выслать набор кружек и кастрюль

 
Artyom Trishkin:

Спасибо. Виталий, у меня в третьей статье уже готово много вкусностей и интересностей, так что могу выслать набор кружек и кастрюль

Класс CKruzhka?) 
 

Молодец.

Хорошо получается.

Жаль. Первую статью пока не смотрел. Но посмотрю. Теперь понятно куда пропал. Хотя наверно пропал я. Это точнее будет

 
Victor Nikolaev:

Молодец.

Хорошо получается.

Жаль. Первую статью пока не смотрел. Но посмотрю. Теперь понятно куда пропал. Хотя наверно пропал я. Это точнее будет

Спасибо, Вить, рад слышать тебя, хоть и так редко...
 
Victor Nikolaev:

...

О, какие люди к нам захаживают. Ни че се! Рад, что дорожку не совсем к нам забыли:)

 
На самом деле - пример того, как не надо программировать (речь не про функционал, а про реализацию): в базовый класс запихивается все подряд, в наследниках делается куча флагов и затычек, чтобы определить, что где поддерживается, простыня копипейстов... Антипаттерны. Понятно, что это все "вживую", но уже претендует на полную переделку, если по хорошему.
 
Stanislav Korotky:
На самом деле - пример того, как не надо программировать (речь не про функционал, а про реализацию): в базовый класс запихивается все подряд, в наследниках делается куча флагов и затычек, чтобы определить, что где поддерживается, простыня копипейстов... Антипаттерны. Понятно, что это все "вживую", но уже претендует на полную переделку, если по хорошему.
Спасибо за мнение. Не буду ни спорить, ни менять концепцию.
Причина обращения: