Обсуждение статьи "Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа"

 

Опубликована статья Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа:

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

С этой статьи мы начинаем новый раздел в описании создания библиотеки для удобного написания программ для терминалов MetaTrader5 и 4. Первая серия статей (34 части) была посвящена разработке концепции объектов библиотеки и их взаимосвязей, и на основании разработанной концепции был создан функционал для работы со счётом — его текущим состоянием и историей.

На текущий момент библиотека обладает следующим функционалом:

  • умеет искать, сортировать и сравнивать данные любого ордера или позиции,
  • предоставляет быстрый и удобный доступ к любым свойствам ордеров и позиций,
  • отслеживает любые события, происходящие на счёте,
  • позволяет получать и сравнивать данные аккаунта и символов,
  • реагирует на изменения свойств всех имеющихся объектов в своих базах данных (коллекциях) и отсылает уведомления в программу о зарегистрированных ею событиях.

Также мы можем указать библиотеке на какие события она должна реагировать и отсылать уведомления о произошедших отслеживаемых событиях.

Кроме того, организована работа с торговыми функциями терминалов, плюс разработаны новые типы торговых запросов — отложенные торговые запросы, которые позволят нам в будущем прямо из своей программы создавать логику её поведения в тех или иных торговых условиях, а также предоставляют полный набор возможностей для создания новых типов отложенных ордеров.
Всё это, и многое другое было создано и описано в предыдущей серии описания создания библиотеки.


Во второй серии описания библиотеки будут рассмотрены многие аспекты работы с ценовыми данными, графиками символов, стаканами, индикаторами и т.д. В общем — новая серия статей будет посвящена разработке функционала библиотеки для быстрого доступа, поиска, сравнения и сортировки любых массивов ценовых данных и объектов их хранения и источников.

Автор: Artyom Trishkin

 

Как-то некошерно иметь новый класс CSeries, когда есть одноимённый в СБ.

Документация по MQL5: Стандартная библиотека / Индикаторы / Базовые классы / CSeries
Документация по MQL5: Стандартная библиотека / Индикаторы / Базовые классы / CSeries
  • www.mql5.com
Класс CSeries обеспечивает всем своим потомкам (классам таймсерий и индикаторов) возможность упрощенного доступа к общим функциям API MQL5 в части работы с серийными данными.
 
Denis Kirichenko:

Как-то некошерно иметь новый класс CSeries, когда есть одноимённый в СБ.

Согласен. Спасибо, поправлю.

 

Очень важным параметром каждого бара является время цена High и время цена Low, или по крайней мере флаг, указывающий какой из двух цен High или Low произошел первым во времени. Это необходимо для организации правильного зигзага. Эта информация может быть получена путем анализа баров с более низкого таймфрейма или непосредственно из M1. Прошу добавить такой функционал.

 
Rosimir Mateev:

Очень важным параметром каждого бара является время цена High и время цена Low, или по крайней мере флаг, указывающий какой из двух цен High или Low произошел первым во времени. Это необходимо для организации правильного зигзага. Эта информация может быть получена путем анализа баров с более низкого таймфрейма или непосредственно из M1. Прошу добавить такой функционал.

Такой функционал можно сделать самостоятельно - есть все данные по младшим таймфреймам, и есть все данные по их барам. Это не последняя статья, и в последующих есть полный список всех таймсерий любого символа - так что лишним функционалом не стоит перегружать тот, что уже есть. Тем более, что это вызовет увеличение времени обновления таймсерий. Поэтому лучше получать данные из уже имеющихся по запросу, чем делать такой анализ там, где он не требуется.