Скачать MetaTrader 5

Можно ли получать заголовки и тела новостей

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Делись ссылками на продукты и получай доход с этого
Никита
20
Никита 2013.12.05 07:51 
Здравствуйте.

Могу ли я при помощи MQL получать заголовки и тела новостей, которые находятся во вкладке "News" в клиентском терминале? Если да, то скажите, пожалуйста, как это можно сделать. Поиск по форуму ответа не дал.

Заранее благодарю.
o_o
Модератор
23689
o_o 2013.12.05 08:04  
чистым MQL нельзя.
Никита
20
Никита 2013.12.05 08:09  
Хорошо, а как тогда можно?
o_o
Модератор
23689
o_o 2013.12.05 08:57  
ntrophimov:
Хорошо, а как тогда можно?

гуглите - доступ к CListView из другого процесса
Никита
20
Никита 2013.12.05 10:47  
А тела новостей из клиентского терминала не вытащить в любом случае, верно?
o_o
Модератор
23689
o_o 2013.12.05 10:56  

а они на потоковых (не анонсах и рекламе ДЦ) вообще есть?

редкость.

---

если и можно, то наспех приходит мысль про WinApi с доступом к открывшемуся окну + клипбоард

Рустам
3597
Рустам 2013.12.05 11:03  
Можно проще - держать открытыми 2 терминала. В управляющем читать (сканировать) появление заголовков. После чего выключать (рестартовать) второй (управляемый), и искать новость в файле.
Vadim Zhunko
5226
Vadim Zhunko 2013.12.05 18:00  

Здесь есть:

 //=======================================================================================================================================================
 // 6.2. Функции для вкладки "Почтовый ящик".
 //=======================================================================================================================================================
 // 6.2.1. ФУНКЦИЯ закрывает окно почтового сообщения по системному дескриптору окна сообщения.
 //        Функция возвращает TRUE, если сообщение поставлено в очередь, иначе - FALSE.
 bool ServiceMailboxCloseByHandle(int hwndMail); // Системный дескриптор окна сообщения.
 //=======================================================================================================================================================
 // 6.2.2. ФУНКЦИЯ закрывает окно почтового сообщения по теме сообщения.
 //        Функция возвращает TRUE, если сообщение поставлено в очередь, иначе - FALSE.
 bool ServiceMailboxCloseByName(string sTitleMail); // Заголовок сообщения.
 //=======================================================================================================================================================
 // 6.2.3. ФУНКЦИЯ удаляет почтовое сообщение из списка по номеру строки во вкладке "Почтовый ящик" окна "Терминал".
 //        В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceMailboxDelete(int nLine); // Номер строки вкладки "Почтовый ящик" окна "Терминал".
 //=======================================================================================================================================================
 // 6.2.4. Функция возвращает имя отправителя почтового сообщения во вкладке "Почтовый ящик" окна "Терминал" по номеру строки.
 string ServiceMailboxGetFrom(int nLine); // Номер строки вкладки "Почтовый ящик" окна "Терминал".
 //=======================================================================================================================================================
 // 6.2.5. ФУНКЦИЯ возвращает номер строки первого найденного почтового сообщения начиная с последнего (верха списка) во вкладке "Почтовый ящик" окна "Терминал"
 //        по времени, имени отправителя и заголовку сообщения. Функция возвращает -1, если сообщение не найдено.
 int ServiceMailboxGetLine(string sDataTime, // Время в формате "YYYY.MM.DD HH:MM". Можно указывать часть строки начиная с года или указывать пустую строку.
                           string sFrom,     // Имя отправителя сообщения. Можно указывать включаемое слово или пустую строку.
                           string sTheme,    // Заголовок сообщения. Можно указывать включаемое слово или пустую строку.
                           int    nStart,    // Номер строки с конца списка (верх списка), с которой начнётся поиск сообщения. Сообщения добавляются кверху списка.
                           int    nCount);   // Количество строк для поиска. Если параметр равен -1, поиск происходит до конца списка.
 //=======================================================================================================================================================
 // 6.2.6. Функция возвращает время почтового сообщения во вкладке "Почтовый ящик" окна "Терминал" по номеру строки в виде строки формата "YYYY.MM.DD HH:MM".
 string ServiceMailboxGetStringTime(int nLine); // Номер строки вкладки "Почтовый ящик" окна "Терминал".
 //=======================================================================================================================================================
 // 6.2.7. ФУНКЦИЯ возвращает время почтового сообщения во вкладке "Почтовый ящик" окна "Терминал" по номеру строки в формате UNIXTIME.
 datetime ServiceMailboxGetTime(int nLine); // Номер строки вкладки "Почтовый ящик" окна "Терминал".
 //=======================================================================================================================================================
 // 6.2.8. Функция возвращает тему почтового сообщения во вкладке "Почтовый ящик" окна "Терминал" по номеру строки.
 string ServiceMailboxGetTheme(int nLine); // Номер строки вкладки "Почтовый ящик" окна "Терминал".
 //=======================================================================================================================================================
 // 6.2.9. ФУНКЦИЯ открывает окно с почтовым сообщением по номеру строки и возвращает системный дескриптор окна сообщения.
 int ServiceMailboxOpen(int nLine); // Номер строки вкладки "Почтовый ящик" окна "Терминал".
 //=======================================================================================================================================================
 // 6.2.10. Функция читает текст в открытом окне почтового сообщения и возвращает указатель на него.
 string ServiceMailboxReadText(int hwndMail); // Системный дескриптор окна сообщения, возвращаемый функцией ServiceMailboxOpen().
 //=======================================================================================================================================================
 // 6.2.11. Функция читает HTML-текст в открытом окне почтового сообщения и возвращает указатель на него.
 string ServiceMailboxReadHTML(int hwndMail); // Системный дескриптор окна сообщения, возвращаемый функцией ServiceMailboxOpen().
 //=======================================================================================================================================================
 // 6.2.12. ФУНКЦИЯ возвращает количество сообщений в списке.
 int ServiceMailboxSize();
 //=======================================================================================================================================================

Но некоторые функции недоступны. Рустам разрешит - открою. Для него делалось.

=============

А! Перепутал. Про новости речь. Можно это для другой вкладки повторить.

Рустам
3597
Рустам 2013.12.05 18:35  
Zhunko:

Здесь есть:

Но некоторые функции недоступны. Рустам разрешит - открою. Для него делалось.

=============

А! Перепутал. Про новости речь. Можно это для другой вкладки повторить.


так то тоже для новостей было. но так и не выстрелило. так что я здесь не при чем. обратитесь к разработчику.
Vadim Zhunko
5226
Vadim Zhunko 2013.12.05 18:44  
FAQ:
так то тоже для новостей было. но так и не выстрелило. так что я здесь не при чем. обратитесь к разработчику.

У нас про вкладку "Почта" было, а это вкладка "Новости". Какому разработчику?

Ты причём из-за того, что этот код без тебя не появился бы.

Mikhail Kozhemyako
1234
Mikhail Kozhemyako 2013.12.05 18:51  
По моему нет смысла отслеживать новости именно в момент их выхода, потому-что всегда найдётся "Быстрый Джо" ( и не один), который сделает это быстрее. А Вам останется только остатки собирать. Лучше зная время выхода новости заранее приготовиться к рывку как в одну, так и в другую сторону.)
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий