Скачать и вычленить время выхода экономических новостей

 

Кто знает, как оптимальнее для МТ4 качнуть и обработать/получить массив со временем выхода важных новостей с https://ru.investing.com/economic-calendar/ ....? Для эксперта. Чтобы не торговал он в это время..

Может у кого-нибудь какие-то готовые куски кода имеются..? Вот такой код например ошибку 406 в переменную res выдаёт:

int LogFile=FileOpen("SITE.txt",FILE_WRITE|FILE_BIN);
     string headers;
     string myHeaders="Host: ru.investing.com; Content-Type: application/x-www-form-urlencoded; Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9; Accept-Language: ru,en;q=0.9,es;q=0.8; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 YaBrowser/20.8.2.92 Yowser/2.5 Safari/537.36";
     char post[],result[];
     int res;
     res = WebRequest("GET", URL, myHeaders, 5000, post, result, myHeaders); //--- загрузка html-страницы
     if (res == -1)
     {
      Print("Ошибка в WebRequest. Код ошибки  =", GetLastError());
      MessageBox("Необходимо добавить адрес '" + URL + "' в список разрешенных URL во вкладке 'Советники'", "Ошибка", MB_ICONINFORMATION);
     }
     else
     {
      FileWriteArray(LogFile, result, 0, ArraySize(result));
      Comment("Ready!");
      FileClose(LogFile);
     }

     ResetLastError();

хотя думаю тут можно вообще как-то иначе сделать, но ничего лучше не нашёл; пробовал ещё посредством Wininet, но там текст сайта выходит в какой-то непонятной кодировке

ну и плюс ещё конечно вопрос в разборе всего этого полученного в итоге текстового документа

заранее признателен за любую помощь

 
этот код использую для календаря mql5.com
Файлы:
news.mq4  72 kb
 
Большущее спасибо
 

Хотя не могу понять, как из получаемых строк понять, у какой новости приоритет высокий (красный квадратик на сайте):

<div class="ec-table__item ec-table__item_inline">2021.03.05 15:00, CAD, <a href="/ru/economic-calendar/canada/ivey-pmi">Индекс менеджеров по закупкам от Ivey</a>, Актуальное: 60.0, Прогноз: 32.4, Предыдущее: 48.4</div>
<div class="ec-table__item ec-table__item_inline">2021.03.05 15:00, CAD, <a href="/ru/economic-calendar/canada/ivey-pmi-nsa">Индекс менеджеров по закупкам от Ivey без учета сезонных колебаний</a>, Актуальное: 63.1, Предыдущее: 55.7</div>
Я только самый высокий хотел учитывать..
Файлы:
 
Максим Пругло:

Хотя не могу понять, как из получаемых строк понять, у какой новости приоритет высокий (красный квадратик на сайте):

Я только самый высокий хотел учитывать..

в загруженном календаре этого нет, но в коде это делает функция f_conteinimportantnews, которая пробегается по массиву красных событий m_eventcode

 

Да, там этих событий больше полутора тысяч в массиве, как я понял, но можно несколько вопросов? Я сейчас насколько мог поразбирался в коде, но они всё равно остались))

1. Почему одни и те же события в массиве m_eventcode много раз повторяются? Например, retail-sales-mm встречается неоднократно.

2. Вот сейчас запустил код и оно нашло, что переменная strike функции f_conteinimportantnews равна:

"<div class="ec-table__item ec-table__item_inline">2021.03.01 07:00, NOK, <a href="/ru/economic-calendar/norway/retail-sales-mm">Розничные продажи Рј/Рј</a>, Актуальное: -0.1%, РџСЂРѕРіРЅРѕР·: -1.8%, ПредыдущР"

и что при i=81 происходит выход из цикла перебора/поиска по массиву и из функции, соответственно функция как бы нашла в большом массиве значение "retail-sales-mm" и важную новость. При этом на сайте видим, что квадратик серый, а не красный...

Файлы:
 
Максим Пругло:

Да, там этих событий больше полутора тысяч в массиве, как я понял, но можно несколько вопросов? Я сейчас насколько мог поразбирался в коде, но они всё равно остались))

1. Почему одни и те же события в массиве m_eventcode много раз повторяются? Например, retail-sales-mm встречается неоднократно.

2. Вот сейчас запустил код и оно нашло, что переменная strike функции f_conteinimportantnews равна:

"<div class="ec-table__item ec-table__item_inline">2021.03.01 07:00, NOK, <a href="/ru/economic-calendar/norway/retail-sales-mm">Розничные продажи Рј/Рј</a>, Актуальное: -0.1%, РџСЂРѕРіРЅРѕР·: -1.8%, ПредыдущР"

и что при i=81 происходит выход из цикла перебора/поиска по массиву и из функции, соответственно функция как бы нашла в большом массиве значение "retail-sales-mm" и важную новость. При этом на сайте видим, что квадратик серый, а не красный...

1. код функции  f_eventcodeload сформирован программно, зачистить повторяющиеся не видел смысла

2. на мажорах эти события красные, а вот экзотику не смотрел

 
Аа, вот оно в чём дело! Понял, спасибо.
 
Максим Пругло:
Аа, вот оно в чём дело! Понял, спасибо.

все новости скорее всего не будут сильно влиять, даже красные

смотрите процентную ставку, ввп, количество рабочих мест, новости по нефти, выступления и заседания

 

Ясно, учту. Кстати, насколько я понял, у Вас в коде вроде просто определяется, будут ли сегодня важные новости по определённой валюте либо нет, верно? newsflag=true/false

я-то планировал взять определённые часы и минуты и не входить в сделки за 15 до новостей и после них через 15 минут, но это уже дело техники

 
Максим Пругло:

Ясно, учту. Кстати, насколько я понял, у Вас в коде вроде просто определяется, будут ли сегодня важные новости по определённой валюте либо нет, верно? newsflag=true/false

я-то планировал взять определённые часы и минуты и не входить в сделки за 15 до новостей и после них через 15 минут, но это уже дело техники

в МТ5 переходите. там же календарь встроенный. fxsaber вон библиотеку запилил, там одной строкой то что вам надо вроде делается ;)