Указатели на функции MetaTrader 5 build 1295

 

В  Обновлении платформы MetaTrader 5 build 1295  написана оч интересная вещь: MQL5: Для облегчения организации событийных моделей добавлена поддержка указателей на функции.

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

Пока вопрос простой. Если отдать внешней программе что-то для долговременных вычислений, например через DLL в тот-же R и передать указатель ( в нашем случае, дескриптор) на функцию MQL, то сможет ли DLL осуществить обратный вызов, и инициировать работу MQL функционала?

Если да, то тем самым частично решается, вопрос взаимодействия МТ с внешним ПО.

У меня нет возможности проверить эту гипотезу, потому как нет билда 1295. Насколько я понимаю обновления зависят от ДЦ-брокера.

Возможно кто-то имеет возможность сделать простенькую DLL, и посмотреть, что из этого получится.

Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:. - Страница 18 - Категория: общее обсуждение
 
Yuriy Asaulenko:

В  Обновлении платформы MetaTrader 5 build 1035  написана оч интересная вещь: MQL5: Для облегчения организации событийных моделей добавлена поддержка указателей на функции.

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

Пока вопрос простой. Если отдать внешней программе что-то для долговременных вычислений, например через DLL в тот-же R и передать указатель ( в нашем случае, дескриптор) на функцию MQL, то сможет ли DLL осуществить обратный вызов, и инициировать работу MQL функционала?

Если да, то тем самым частично решается, вопрос взаимодействия МТ с внешним ПО.

У меня нет возможности проверить эту гипотезу, потому как нет билда 1035. Насколько я понимаю обновления зависят от ДЦ-брокера.

Возможно кто-то имеет возможность сделать простенькую DLL, и посмотреть, что из этого получится.

Так скачайте демку от MQ внизу страницы и экспериментируйте. Но я сомневаюсь, что фокус пройдет. Это же не полноценные указатели, а дескрипторы. Хотя, чем черт...
 

99.99% что нет, это просто технически сложновато - из внешней DLL вызвать функцию управляемую виртуальной машиной вызывающего

просто в MQL наконец-то начали появляться callback...ещё лет 5-7 и до FO доберутся :-)

 
Maxim Kuznetsov:

99.99% что нет, это просто технически сложновато - из внешней DLL вызвать функцию управляемую виртуальной машиной вызывающего

просто в MQL наконец-то начали появляться callback...ещё лет 5-7 и до FO доберутся :-)

Что есть FO? :)
 
First Class хотел написать - важный звонок отвлёк :-)
 
Maxim Kuznetsov:

99.99% что нет, это просто технически сложновато - из внешней DLL вызвать функцию управляемую виртуальной машиной вызывающего

С ЛУА это возможно, но, разумеется, это другая песня.
 
Maxim Kuznetsov:
First Class хотел написать - важный звонок отвлёк :-)
Ну этого не будет, а то MQL станет полностью ООП-шным и отпугнет новичков. Тут и так страсти разгорелись, старички не могут понять, зачем нужен ООП :)) Всю жизнь мотыгой землю лопатили, а им тут какого-то железного трактора предлагают. Напоминает фильмы про деревню 20-х годов :)
 
Alexey Volchanskiy:
 Всю жизнь мотыгой землю лопатили, а им тут какого-то железного трактора предлагают. Напоминает фильмы про деревню 20-х годов :)
Да мы совсем не против лошадки. Пусть будет для экзотики.
 
Yuriy Asaulenko:

В  Обновлении платформы MetaTrader 5 build 1035  написана оч интересная вещь: MQL5: Для облегчения организации событийных моделей добавлена поддержка указателей на функции.

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

Пока вопрос простой. Если отдать внешней программе что-то для долговременных вычислений, например через DLL в тот-же R и передать указатель ( в нашем случае, дескриптор) на функцию MQL, то сможет ли DLL осуществить обратный вызов, и инициировать работу MQL функционала?

Если да, то тем самым частично решается, вопрос взаимодействия МТ с внешним ПО.

У меня нет возможности проверить эту гипотезу, потому как нет билда 1035. Насколько я понимаю обновления зависят от ДЦ-брокера.

Возможно кто-то имеет возможность сделать простенькую DLL, и посмотреть, что из этого получится.

Вы, вероятно, говорите про билд 1295, а не 1035. 1295 можно получить через MetaQuotes-Demo.
 
Alexey Volchanskiy:
Ну этого не будет, а то MQL станет полностью ООП-шным и отпугнет новичков. Тут и так страсти разгорелись, старички не могут понять, зачем нужен ООП :)) Всю жизнь мотыгой землю лопатили, а им тут какого-то железного трактора предлагают. Напоминает фильмы про деревню 20-х годов :)
могу держать пари что последует отказ от MQL как языка в пользу "старших собратьев"..как только API устаканится - действительно-же "боливар не вынесет двоих" - сложновато содержать терминал,сервер, протоколы и ещё зачем-то  отдельный язык с его редакторами/отладчиками/компиляторами и машинами..
 
Maxim Kuznetsov:
могу держать пари что последует отказ от MQL как языка в пользу "старших собратьев"..как только API устаканится - действительно-же "боливар не вынесет двоих" - сложновато содержать терминал,сервер, протоколы и ещё зачем-то  отдельный язык с его редакторами/отладчиками/компиляторами и машинами..

Ну, я-то хотел бы АПИ, а как начинающим? Вы вопросы на форуме почитайте, 90% решаются чтением доки ) Язык для продвижения платформы, безусловно нужен. Причем с разделением на простейшую часть + ООП. Это я с точки зрения маркетинга и популяризации платформы.

Хочется большего, идите на сиалго, там полноценный шарп, можно все в студии редактировать и отлаживать, я и там активно работаю. Но и на MQL не жалуюсь, в нынешнем виде он мне нравится, а с 1295 билдом ваще порадовали )

Я с протоколами... я как-то с FIX разбирался по заказу, непросто это. Еще с Interactive brokers АПИ работал, там попроще. До сих пор дистрибут старый остался, кому надо для интереса, пишите.

Причина обращения: