Скачать MetaTrader 5

как в советнике/индикаторе обработать сообщения Mailbox?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Управляй агентами в профиле. Это просто!
Maxim Kuznetsov
9777
Maxim Kuznetsov 2016.01.22 13:35 

никак не могу найти способ чтобы в советнике обработать сообщения из mailbox (вкладка в термминале куда приходят сообщения в основном от DC)

Ситуация очень типичная и жизненная - в случае тех.проблем на сервере, DC за какое-то время до перезагрузки присылает типовое письмо. Очень хочется чтобы советник мог его прочесть и среагировать.

PS/ речь про MT 4, про пятый даже и не копал

Victor Nikolaev
Модератор
14503
Victor Nikolaev 2016.01.22 14:02  
Maxim Kuznetsov:

никак не могу найти способ чтобы в советнике обработать сообщения из mailbox (вкладка в термминале куда приходят сообщения в основном от DC)

Ситуация очень типичная и жизненная - в случае тех.проблем на сервере, DC за какое-то время до перезагрузки присылает типовое письмо. Очень хочется чтобы советник мог его прочесть и среагировать.

PS/ речь про MT 4, про пятый даже и не копал

Найдете ответ - напишите в теме
Renat Akhtyamov
4824
Renat Akhtyamov 2016.01.22 15:33  
Maxim Kuznetsov:

никак не могу найти способ чтобы в советнике обработать сообщения из mailbox (вкладка в термминале куда приходят сообщения в основном от DC)

Ситуация очень типичная и жизненная - в случае тех.проблем на сервере, DC за какое-то время до перезагрузки присылает типовое письмо. Очень хочется чтобы советник мог его прочесть и среагировать.

PS/ речь про MT 4, про пятый даже и не копал

Скорее всего почтовый ящик нужно делать текстовым (выбрать соответствующего почтового клиента). Просматриваем mailbox в блокноте для уверенности, что всё читабельно. Далее работаем с текстовым файлом - для МТ это не проблема

Если речь зашла про встроенную в МТ почту - то присоединяюсь к вопросу)

Maxim Kuznetsov
9777
Maxim Kuznetsov 2016.01.22 15:49  
new-rena:

Скорее всего почтовый ящик нужно делать текстовым (выбрать соответствующего почтового клиента). Просматриваем mailbox в блокноте для уверенности, что всё читабельно. Далее работаем с текстовым файлом - для МТ это не проблема

Если речь зашла про встроенную в МТ почту - то присоединяюсь к вопросу)

речь именно про встроенную почту.

для внешней я бы написал модуль читатель/парсер на C и всего делов

Alexey Viktorov
6845
Alexey Viktorov 2016.01.22 19:15  
Maxim Kuznetsov:

речь именно про встроенную почту.

для внешней я бы написал модуль читатель/парсер на C и всего делов

Ну так напиши на С копировщик из папки почты терминала в папку файлов терминала и оттуда читай средствами MQL.
Maxim Kuznetsov
9777
Maxim Kuznetsov 2016.01.22 21:34  
Alexey Viktorov:
Ну так напиши на С копировщик из папки почты терминала в папку файлов терминала и оттуда читай средствами MQL.

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

хотя...отправителя и тему там видно в этом самом заголовке - может на выходных выделю время, напишу чего. Ещё и формат этого заголовка реверсить придётся :(

Maxim Kuznetsov
9777
Maxim Kuznetsov 2016.01.22 23:35  

буду писать модуль для чтения почты.

API и возможности можно обсуждать здесь или в моём блоге https://www.mql5.com/ru/blogs/post/658940

к обсуждению API для частичного чтения почты терминала
к обсуждению API для частичного чтения почты терминала
  • 2016.01.22
  • Maxim Kuznetsov
  • www.mql5.com
Предлагаю к обсуждению интерфейс (API) для чтения почты терминала из советников и индикаторов. Предупреждаю сразу - можно будет только узнать факт прихода почты и прочесть имя отправителя и тему...
Alexey Viktorov
6845
Alexey Viktorov 2016.01.23 06:41  
Maxim Kuznetsov:

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

хотя...отправителя и тему там видно в этом самом заголовке - может на выходных выделю время, напишу чего. Ещё и формат этого заголовка реверсить придётся :(

Для начала можно руками скопировать 1 файл и посмотреть что прочтётся из него.
Maxim Kuznetsov
9777
Maxim Kuznetsov 2016.01.23 09:26  
Alexey Viktorov:
Для начала можно руками скопировать 1 файл и посмотреть что прочтётся из него.

файл письма бинарный, то есть не текстовый. Работать с двоичными файлами на Mql - то ещё удовольствие :-) Да к тому-же чтобы его просто взять и скопировать всё равно надо писать внешнюю функцию на С (Mql не позволяет работать вне ограждённых каталогов).

если посмотреть на файлы писем, то  видно что имя отправителя и тема сообщения всегда находятся по фиксированному смещению, а далее идёт или сжатое или шифрованное тело письма. Прочесть Subj,From оттуда совсем несложно

Alexey Viktorov
6845
Alexey Viktorov 2016.01.23 17:15  
Maxim Kuznetsov:

файл письма бинарный, то есть не текстовый. Работать с двоичными файлами на Mql - то ещё удовольствие :-) Да к тому-же чтобы его просто взять и скопировать всё равно надо писать внешнюю функцию на С (Mql не позволяет работать вне ограждённых каталогов).

если посмотреть на файлы писем, то  видно что имя отправителя и тема сообщения всегда находятся по фиксированному смещению, а далее идёт или сжатое или шифрованное тело письма. Прочесть Subj,From оттуда совсем несложно

Да я-то не против, просто если не прочтётся как хочется, то и писать копировщик нет смысла. Ну а если уверен что получится, тогда дерзай... :)))

Удачи.

Andrey Khatimlianskii
56177
Andrey Khatimlianskii 2016.02.02 12:54  
Maxim Kuznetsov:

Ещё и формат этого заголовка реверсить придётся :(

Вы бы поаккуратнее на форуме MQ про реверс-инжиниринг их программы говорили, что ли )

Ренат все читает и запоминает.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий