Стандартная библиотека классов Include/Expert/* в MT5

 

мне очень нравится библиотека классов Include/Expert/*, поставляемая с MT5, и в качестве примера реализации и просто как ядро для разработки собственного эксперта. спасибо разработчикам за это!

в процессе копания в исходниках у меня возникло несколько вопросов к разработчикам:

1) какая задача ставилась/стоит при написании библиотеки? создать законченное, полнофункциональное решение годное для создания реальных экспертов (с обработкой реквотов и т.п.) или просто пример решения/кода?

2) насколько эта библиотека классов закончена и как она обновляется при выпуске новых сборок MT5? то есть, если я предположим начну эту библиотеку править по живому (хоть и не хочется), есть ли вероятность, что мои изменения будут потеряны при очередном обновлении MT5?

3) предполагается ли выпустить какой-то учебник и/или документацию по этой библиотеке классов, как по остальным классам стандартной библиотеки? если да, то в какие сроки?

4) несмотря на то, что в классе CTrade присутствует m_magic и ордера открываются с этим мэджиком, во всём остальном коде magic как буд-то нигде не используется. например, CExpert::CheckTradeState() нигде не использует magic. будет ли это работать, если в терминале одновременно торгуют несколько экспертов, написанных на этой библиотеке?

спасибо. 

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
  1. Задача - облегчить процесс написания экспертов. Планируем статью по этим классам.
  2. Совершенство недостижимо, поэтому вероятность правки всегда есть. Сама платформа MetaTrader 5 еще очень молода и будет развиваться. Соответственно, будет развиваться и язык MQL5 и классы для него. Обновление автоматическое, так что не стоит редактировать сами классы, но можете использовать наследование. Но изменения все равно придется отслеживать на всякий случай.
  3. Первым делом включим описание классов в Стандартную библиотеку, как это сделано  и для всех остальных классов. Будем публиковать статьи по их использованию.
  4. Класс CTrade тоже немного дополняется. Но Вы может написать в Сервисдеск свои пожелания по всем классам и найденным в них ошибкам.

 
Rosh:
Но Вы может написать в Сервисдеск свои пожелания по всем классам и найденным в них ошибкам.

у меня возникает много вопросов, их лучше адресовать в форум или в сервисдеск?

например, у меня в тестере, даже при том, что у меня выбрано "Every tick", CheckOpenLong() вызывается всего один раз для каждого бара и m_symbol.Bid() выставляется по цене открытия бара. это бага или это known problem?

есть ли где-то список известных проблем, чтобы не засорять форум и/или не дёргать разработчиков по такими вещам?

 
Лучше в Сервисдеск, быстрее будет реакция. Списка нет, хотя тема заводилась когда-то - https://www.mql5.com/ru/forum/660
Стандартная библиотека для MetaTrader 5
Стандартная библиотека для MetaTrader 5
  • www.mql5.com
Стандартная библиотека для MetaTrader 5.
 

Библиотека классов Include/Expert/* в стадии активной разработки.

Предложениям и замечаниям будем очень рады. Я думаю, их лучше размещать в этой ветке.

Изменения в классах конечно будут, но не кардинальные.

По поводу "Every tick", попробуйте значение true для параметра every_tick в

bool CExpert::Init(string symbol,ENUM_TIMEFRAMES period,bool every_tick,long magic)

 

Воспользовался классом CTrade (не глядя, т.к. торопился на чемпионат). Сейчас присмотрелся - метод PositoinClose реализован, как посылка встречного ордера, т.е. не сможет закрыть позицию с объёмом больше, чем SYMBOL_VOLUME_MAX.

Считаю, нужно доработать. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
Rosh:
  1. Задача - облегчить процесс написания экспертов. Планируем статью по этим классам.
  2. Совершенство недостижимо, поэтому вероятность правки всегда есть. Сама платформа MetaTrader 5 еще очень молода и будет развиваться. Соответственно, будет развиваться и язык MQL5 и классы для него. Обновление автоматическое, так что не стоит редактировать сами классы, но можете использовать наследование. Но изменения все равно придется отслеживать на всякий случай.
  3. Первым делом включим описание классов в Стандартную библиотеку, как это сделано  и для всех остальных классов. Будем публиковать статьи по их использованию.
  4. Класс CTrade тоже немного дополняется. Но Вы может написать в Сервисдеск свои пожелания по всем классам и найденным в них ошибкам.

А планируется сделать MetaTrader 5 визуальным как  Wealth Lab Developer? Чтобы стратегию можно было перетаскиванием из шаблонов собрать, трейлинг выбрать какой нужно, манименеджмент добавить из предложенного списка и по стратегии сразу код чтобы генерировался.
 
AM2:
А планируется сделать MetaTrader 5 визуальным как  Wealth Lab Developer? Чтобы стратегию можно было перетаскиванием из шаблонов собрать, трейлинг выбрать какой нужно, манименеджмент добавить из предложенного списка и по стратегии сразу код чтобы генерировался.
Вроде разработчики обещали подобный конструктор. Все ждем с нетерпением.
 
rsi:

Воспользовался классом CTrade (не глядя, т.к. торопился на чемпионат). Сейчас присмотрелся - метод PositoinClose реализован, как посылка встречного ордера, т.е. не сможет закрыть позицию с объёмом больше, чем SYMBOL_VOLUME_MAX.

Считаю, нужно доработать. 

Вы совершенно правы. Доработки сделаны. Изменения будут в одном из ближайших билдов.