Обсуждение статьи "Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа"
Как-то некошерно иметь новый класс CSeries, когда есть одноимённый в СБ.
- www.mql5.com
Согласен. Спасибо, поправлю.
Очень важным параметром каждого бара является время цена High и время цена Low, или по крайней мере флаг, указывающий какой из двух цен High или Low произошел первым во времени. Это необходимо для организации правильного зигзага. Эта информация может быть получена путем анализа баров с более низкого таймфрейма или непосредственно из M1. Прошу добавить такой функционал.
Очень важным параметром каждого бара является время цена High и время цена Low, или по крайней мере флаг, указывающий какой из двух цен High или Low произошел первым во времени. Это необходимо для организации правильного зигзага. Эта информация может быть получена путем анализа баров с более низкого таймфрейма или непосредственно из M1. Прошу добавить такой функционал.
Такой функционал можно сделать самостоятельно - есть все данные по младшим таймфреймам, и есть все данные по их барам. Это не последняя статья, и в последующих есть полный список всех таймсерий любого символа - так что лишним функционалом не стоит перегружать тот, что уже есть. Тем более, что это вызовет увеличение времени обновления таймсерий. Поэтому лучше получать данные из уже имеющихся по запросу, чем делать такой анализ там, где он не требуется.
Привет Артём - используя DoEasy вместо стандартной библиотеки, какой лучший подход для создания класса для обнаружения различных свечных паттернов, аналогичного CCandlePattern в https://www.mql5.com/ru/code/316?
Я спрашиваю, чтобы не сделать что-то, что будет полностью противоречить будущему направлению, в котором вы собираетесь использовать эту библиотеку... Я думал либо (1) модифицировать или расширить классы CBar & CSeries, чтобы сделать то, что мне нужно; или (2) или использовать события DoEasy для обнаружения новых баров на интересующих меня символах/периодах, оттуда реализовать свой код для проверки моих свечных паттернов и снова использовать DoEasy для размещения ордеров или открытия позиций. Возможно, вариант №2 более чистый и менее рискованный относительно ваших будущих разработок, но дайте мне знать, если у вас есть другое предложение, пожалуйста.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected:
// ...
//--- методы, используемые для проверки формирования свечных моделей
double AvgBody(int ind);
double MA(int ind) const { return(m_MA.Main(ind)); }
double Open(int ind) const { return(m_open.GetData(ind)); }
double High(int ind) const { return(m_high.GetData(ind)); }
double Low(int ind) const { return(m_low.GetData(ind)); }
double Close(int ind) const { return(m_close.GetData(ind)); }
double CloseAvg(int ind) const { return(MA(ind)); }
double MidPoint(int ind) const { return(0.5*(High(ind)+Low(ind))); }
double MidOpenClose(int ind) const { return(0.5*(Open(ind)+Close(ind))); }
//--- методы проверки свечных моделей
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();
- www.mql5.com
Привет Артём - используя DoEasy вместо стандартной библиотеки, как лучше всего создать класс для обнаружения различных свечных паттернов, аналогичный CCandlePattern в https://www.mql5.com/ru/code/316?
Я спрашиваю, чтобы не сделать что-то, что будет полностью противоречить будущему направлению, в котором вы собираетесь использовать эту библиотеку... Я думал либо (1) модифицировать или расширить классы CBar & CSeries, чтобы сделать то, что мне нужно; или (2) или использовать события DoEasy для обнаружения новых баров на интересующих меня символах/периодах, оттуда реализовать мой код для проверки моих свечных паттернов и снова использовать DoEasy для размещения ордеров или открытия позиций. Возможно, вариант №2 более чистый и менее рискованный относительно ваших будущих разработок, но дайте мне знать, если у вас есть другое предложение, пожалуйста.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected :
// ...
//--- методы, используемые для проверки формирования свечных моделей
double AvgBody( int ind);
double MA( int ind) const { return (m_MA.Main(ind)); }
double Open( int ind) const { return (m_open.GetData(ind)); }
double High( int ind) const { return (m_high.GetData(ind)); }
double Low( int ind) const { return (m_low.GetData(ind)); }
double Close( int ind) const { return (m_close.GetData(ind)); }
double CloseAvg( int ind) const { return ( MA(ind) ); }
double MidPoint( int ind) const { return ( 0.5 *(High(ind)+Low(ind)) ); }
double MidOpenClose( int ind) const { return ( 0.5 *(Open(ind)+Close(ind)) ); }
//--- методы проверки свечных моделей
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();
Библиотека будет содержать класс для поиска свечных паттернов PriceAction и различных японских свечных формаций.
Я считаю наиболее разумным добавить новое свойство в класс объекта CBar. Соответственно, в коллекции таймсерий можно будет искать нужные свечи и паттерны.
Так оно и будет в библиотеке.
Пока же вы можете искать нужные вам паттерны и свечи в списках коллекции таймсерий - там есть все бары, и вы можете использовать их для определения паттерна.
Библиотека будет содержать класс для поиска свечных паттернов PriceAction и различных японских свечных формаций.
Я считаю наиболее разумным добавить новое свойство в класс объекта CBar. Соответственно, в коллекции таймсерий можно будет искать нужные свечи и паттерны.
Так оно и будет в библиотеке.
Пока же вы можете искать нужные вам паттерны и свечи в списках коллекции таймсерий - там есть все бары, и вы можете использовать их для определения паттерна.
Звучит здорово! Есть идеи, когда вы начнете реализовывать все это добро? Заинтересованы ли вы в каком-либо вкладе в код?
Звучит здорово! Есть идеи, когда вы начнете внедрять все это добро? Заинтересованы ли вы в каком-либо вкладе в код?
Как только придет время :)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа:
С этой статьи мы открываем новую серию описания создания библиотеки "DoEasy" для простого и быстрого создания программ. Сегодня начнём подготавливать функционал библиотеки для доступа и работе с данными таймсерий символов. Создадим объект "Бар", хранящий основные и расширенные данные бара таймсерии, и разместим объекты-бары в список-таймсерию для удобного поиска и сортировки этих объектов.
С этой статьи мы начинаем новый раздел в описании создания библиотеки для удобного написания программ для терминалов MetaTrader5 и 4. Первая серия статей (34 части) была посвящена разработке концепции объектов библиотеки и их взаимосвязей, и на основании разработанной концепции был создан функционал для работы со счётом — его текущим состоянием и историей.
На текущий момент библиотека обладает следующим функционалом:
Также мы можем указать библиотеке на какие события она должна реагировать и отсылать уведомления о произошедших отслеживаемых событиях.
Кроме того, организована работа с торговыми функциями терминалов, плюс разработаны новые типы торговых запросов — отложенные торговые запросы, которые позволят нам в будущем прямо из своей программы создавать логику её поведения в тех или иных торговых условиях, а также предоставляют полный набор возможностей для создания новых типов отложенных ордеров.
Всё это, и многое другое было создано и описано в предыдущей серии описания создания библиотеки.
Во второй серии описания библиотеки будут рассмотрены многие аспекты работы с ценовыми данными, графиками символов, стаканами, индикаторами и т.д. В общем — новая серия статей будет посвящена разработке функционала библиотеки для быстрого доступа, поиска, сравнения и сортировки любых массивов ценовых данных и объектов их хранения и источников.Автор: Artyom Trishkin